Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Преимущества GPU шейдерной модели 4.0




Логическая структура вычислений на GPU SM4

Конвейерная обработка данных на GPU SM4

Как описано выше, физически графический процессор G80 состоит из 16 мультипроцессоров, в каждом из которых по 8 «вычислителей». Вместе с тем, эти «вычислители» имеют конвейерную архитектуру, то есть – могут одновременно исполнять несколько конкретных вычислительных процессов, находящихся на разных стадиях алгоритма (например, когда один процесс записывает данные в глобальную видеопамять, другой может вести вычисле­ния). Эти вычислительные процессы принято называть потоками (англ. tread – обработка). Каждый мультипроцессор может одновременно исполнять до 768 параллельных потоков.

В программах должны быть логически разделены потоки, испол­няемые на различных мультипроцессорах, поскольку только потоки, исполняемые на одном и том же мультипроцессоре, имеют общий доступ к разделяемой памяти. Поэтому, потоки объединяются в «связки» потоков (англ. blocks). Каждая «связка» исполняется на одном мультипроцессоре. В «связке» может быть до 512 потоков. На одном мультипроцессоре могут исполняться две «связки», при условии, что для этого достаточно его ресурсов (общее количество потоков – не более 768, требуемый объём разделяемой памяти не больше имеющегося).

Шейдерная модель 4.0 даёт программисту возможность управлять распределением обрабатываемых данных и задач по «связкам» и по конкрет­ным потокам. Для этого существуют системные переменные, которые внутри каждого конкретного потока возвращают индексы именно этого потока, а также индексы той «связки», к которой он принадлежит. Методы использо­вания этих индексов показаны в нижеследующих примерах.

Программист имеет и возможность задавать способ индексации свя­зок и потоков. В общем случае индексы являются трёхмерными, что может быть удобно при обработке трёхмерных сеток. Допустимы также одно- и двухмерные индексы (см. примеры).

В системе программирования CUDA (см. ниже) переменные, возвращающие индексы «связок» и потоков, имеют следующие имена.

· dim3 – тип переменной, означающий 3-компонентный вектор;

· dim3 gridDim – размерности 3-мерной сетки «связок», задаваемые для исполнения алгоритма;

· dim3 blockDim - размерности 3-мерной сетки «вычислителей» внутри одной «связки», задаваемые для исполнения алгоритма;

· dim3 blockIdx – 3-мерные индексы (координаты) той «связки», к которой принадлежит исполняемый поток;

· dim3 threadIdx – 3-мерные индексы (координаты внутри «связки») исполняемого потока.

Архитектура GPU SM4 позволяет этим графическим процессорам исполнять все программы «чистого» поточно-параллельного моделирования, написанные для шейдерной модели 3.0, а кроме этого – предоставляет программисту дополнительные возможности, позволяющие использовать алгоритмы, кото­рые раньше не были эффективны на GPU. Шейдерная модель 4.0 даёт следующие конкретные преимущества перед использованием стандартных графических библиотек DirectX и OpenGL:

· широко известный стандартный язык программирования Си с несколькими простыми расширениями;

· произвольная адресация при записи в память;

· программируемость кэша;

· значительно меньшие накладные расходы на взаимодействие CPU и GPU, некоторые операции выполняются асинхронно;

· побитные операции над целыми числами;

· двойная точность операций с плавающей запятой (аппаратная реализация, начиная с поколения чипов ATI Radeon 4xxx и NVIDIA GeForce GTX 2xx).

Приведённые возможности делают графические процессоры шейдер­ной модели 4.0 гораздо более универсальными вычислительными системами, чем предыдущие GPU.




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.