Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Представление данных для графического процессора





Центральные процессоры персональных компьютеров в большинстве случаев обрабатывают данные последовательно. Поэтому естественно то, что данные в оперативной памяти компьютера представлены в форме одномерных массивов: адрес каждой ячейки памяти представляется одним шестнадцатеричным числом, а последовательным ячейкам памяти соответствуют последовательные адреса. Даже если объектами моделирования являются многомерные структуры данных, такие как матрицы:

,

фактически их элементы всё равно хранятся и обрабатываются как одномерные последовательности:

.

В отличие от CPU, графические процессоры изначально предназначены для параллельной обработки данных, поэтому для них естественно обращаться к памяти, где данные хранятся в форме двумерных массивов и адресуются двумя координатами. Именно так устроена видеопамять, размещаемая на видеокартах (рис. 5.2). Данные в видеопамять записывает центральный процессор, с помощью драйвера видеокарты, который копирует эти данные из оперативной памяти компьютера. Для представления данных в необходимой для копирования форме можно применять стандартные процедуры библиотек DirectX и OpenGL.

Ещё одно отличие графических процессоров от CPU состоит в том, что при их программировании для адресации элементов массивов (т.е., в качестве номеров элементов) используются не целые числа, а числа с плавающей точкой, которые при обработке графики напрямую задавали бы координаты закрашиваемых областей на экране (рис. 5.2).

Перед началом исполнения шейдера в ячейки видеопамяти (рис. 5.2) долж­ны быть записаны исходные данные (здесь – элементы матриц). Затем с помощью драйвера видеокарты центральный процессор запускает расчёт. В ходе расчёта графический процессор последовательно извлекает эти данные из видеопамяти и применяет ко всем элементам один и тот же набор операций, заданный программой (например, рассчитывает сумму c ij = a ij+ b ij). Результаты расчёта (в примере - значения c ij) GPU записывает в область видеопамяти, называемую рендер-целью.

Как уже отмечено выше, исходные данные хранятся в виде двумерных массивов, и рендер-цель тоже представляет собой двумерный массив тех же размеров. В рассматриваемом примере с матрицами содержимым ячеек этих массивов являются скалярные числа. Существует также возможность хранить в этих ячейках 4-векторы, которые могут содержать, например, координаты частиц. Последняя возможность была реализована нами в молекулярной динамике (см. следующий пример).

Ячейки массивов с исходными данными и рендер-цели адресуются не целыми числами, а парами чисел с плавающей точкой, задающими координаты центров ячеек (как если бы ячейки являлись участками изображения на экране, а записанные в них данные – характеристиками этих участков). Координаты левых нижних углов ячеек лежат в диапазоне от 0 до 1, а координаты центров таковы, как это показано на рис. 5.2.

Применительно к графическим процессорам используется следующая терминология. Двумерные массивы, в которых хранятся входные данные, называют текстурами, а элементы этих массивов – текселями. Координаты текселей, указывающие на центры ячеек, называют текстурными координатами. Количество текселей равно количеству элементов во входных массивах. Рендер-цель также представляет собой текстуру, количество текселей в которой равно количеству элементов в выходном массиве.

Рис. 5.2. Области координат, которыми адресуются числа, обрабатываемые графическим процессором

Результаты своей работы графический процессор по умолчанию выводит на экран, а точнее - в область памяти, называемую буфером кадра (framebuffer). Тем не менее, вычисления, не отображаемые на экране, также возможны, поскольку существует возможность сохранять результаты в заранее выделенную область памяти, которая как раз и называется рендер-целью (Render Target). Все современные GPU способны выводить данные сразу в несколько рендер-целей (Multiple Render Targets).







Дата добавления: 2014-12-06; просмотров: 660. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия