Студопедия — Представление данных для графического процессора
Студопедия Главная Случайная страница Обратная связь

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

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






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

,

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

.

В отличие от 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; просмотров: 641. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

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

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

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

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