Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК 2 Лекционный курс.doc
Скачиваний:
12
Добавлен:
16.08.2019
Размер:
3.92 Mб
Скачать

4.3.5.Возможности gpu в рамках шейдерной модели 3.0 и взаимодействие gpu с памятью

Ведущими разработчиками и производителями графических процес­соров в настоящее время являются компании NVIDIA и ATI (c 2007 года – подразделение компании AMD). Лучшие из графические процессоров этих компаний, поддерживавших шейдерную модель 3.0, по достижимой произво­дительности физического моделирования уже были сравнимы с кластерами из нескольких десятков процессоров. В качестве примера характеристики некоторых из этих процессоров [16] приведены в табл. 4.2.

Таблица 4.2.

Характеристики графических процессоров, поддерживающих шейдеры модели 3.0

GPU

пиксельные конвейеры

вершинные конвейеры

ATI Radeon X1900 XT

48

8

NVIDIA GeForce 7800 GTX

24

8

ATI Radeon X1650 XT

24

8

Графические процессоры с шейдерной моделью 3.0 поддерживают использование при программирование операций, приведённых ниже.

 Ряд математических операций с вещественными числами (см. Приложение 1). Целочисленные типы не поддерживаются.

 Последовательное и произвольное чтение данных из видеопамяти. Произвольной записи в видеопамять нет.

 Возможны циклы, длиной до 255 итераций.

 Возможны ветвления алгоритма в результате проверки условий, с ис­пользованием операторов условного перехода.

Взаимодействие GPU с памятью отчасти проиллюстрировано на рис. 4.5. В шейдерной модели 3.0 доступ GPU к памяти характеризуется следующими возможностями:

 Графическому процессору не доступны дисковая память и оперативная память компьютера. Поэтому перед началом вычислений исходные данные должны быть скопированы в видеопамять центральным процессором.

 Графическому процессору доступна видеопамять – специализиро­ванная память, обычно расположенная на видеокарте. У GPU нет доступа к оперативной и дисковой памяти.

 Поскольку оперативная память компьютера графическому процес­сору недоступна, перед началом вычислений исходные данные должны быть скопированы в видеопамять центральным процессором. Он же затем копирует массив результатов из видеопамяти обратно в оперативную память.

 Графическому процессору доступно как потоковое, так и произволь­ное чтение данных из видеопамяти.

 Единственный вариант записи в видеопамять - это автоматическое формирование массива результатов (рендер-цели). Произвольная запись в видеопамять невозможна.

 Графический процессор может использовать регистры - ячейки памяти, расположенные прямо на процессоре и характеризующиеся очень малой латентностью (быстрым доступом к данным):

 есть чтение из констант-регистров, которые могут хранить постоян­ные величины, не изменяющиеся в ходе обработки всех данных;

 есть чтение и запись во временные регистры, данные в которых не сохраняются при переходе к следующим элементам потока данных.

 Вершинные процессоры могут записывать до 12-и 4-векторов из 32-битных чисел.

 Пиксельные процессоры могут записывать до 4-х 4-векторов из 32-битных чисел.

 Нет работы с динамически размещаемыми структурами данных.

 Суммарное кол-во инструкций в программе - не более 65536 (у графических процессоров NVIDIA).

Таким образом, возможностей шейдерной модели 3.0 достаточно для эффективной реализации «чистой» поточно-параллельной обработки данных, но вот возможности произвольной работы с памятью, а также применения ветвлений и циклов ограничены.