КАТЕГОРИИ: Архитектура-(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) |
Иерархия вычислительных блоков и памяти в шейдерной модели 4.0
Архитектура GPU шейдерной модели 4.0. Преимущества этой модели На рис. 9.2 показана архитектура G80 – графического процессора шейдерной модели 4.0, выпускаемого компанией NVIDIA [67]. Ниже мы обсудим преимущества графических процессоров шейдерной модели 4.0 и особенности работы с ними. Но сразу отметим, что эти GPU обладают обратной совместимостью с шейдерной моделью 3.0, то есть они исполняют программы, написанные для GPU предыдущего поколения. При том же количестве «вычислителей» скорость исполнения программ для SM3 может даже увеличиться, поскольку в новых GPU значительно ускорены произвольные обращения к памяти. Рис. 9.2. Архитектура графического процессора шейдерной модели 4.0 G80 · Как и GPU предыдущих поколений, графические процессоры шейдерной модели 4.0 (рис. 9.2) представляют собой системы из параллельных «вычислителей» - процессоров, каждый из которых применяет заданную программу (вычислительное ядро) к некоторым элементам (4-векторам) входных массивов данных. Эти «вычислители» по иерархическому положению эквивалентны отдельным графическим конвейерам GPU предыдущих поколений, однако термин «графический конвейер» для них не используют, поэтому мы продолжим называть их «вычислителями». В англоязычной литературе используется термин “ thread ”, означающий процесс, исполняемый конкретным «вычислителем». · В отличие от шейдерной модели 3.0, все «вычислители» универсальны, они не подразделяются больше на пиксельные и вершинные конвейеры. Вместо этого, «вычислители» объединены в мультипроцессоры – блоки, внутри которых «вычислители» имеют доступ к общей памяти и могут, таким образом, обмениваться данными в ходе параллельных вычислений (рис. 9.2).
· Одновременно мультипроцессоры могут исполнять только одну и ту же программу (вычислительное ядро, англ. kernel), но применительно к различным исходным данным. Таким образом, в некоторых случаях (когда требуется провести много однотипных расчётов с разными данными) может быть реализован параллелизм по задачам. · Всем мультипроцессорам доступна общая память (Global Memory, она же видеопамять, рис. 9.2), в которой центральный процессор размещает исходные данные. В этой же памяти графический процессор размещает результаты расчётов, которые, таким образом, становятся доступными центральному процессору. Физически, эта общая память представляет собой отдельные микросхемы на плате видеокарты, то есть расположена вне самого графического процессора. Соответственно, она работает сравнительно медленно, зато имеет большой объём (до нескольких гигабайт), обычно достаточный для хранения всех обрабатываемых данных. «Вычислители» записывают в видеопамять результат своего расчёта, но они не могут обмениваться через неё данными в ходе вычислений. · Кэш графического процессора (память для хранения констант, Constant Memory or Load Store на рис. 9.2) – «быстрая» память, доступная одновременно всем мультипроцессорам (и, соответственно, всем «вычислителям»). Эта память имеет небольшой размер (64 KB на G80), зато расположена прямо на кристалле графического процессора, так что доступ к ней оказывается очень быстрым (примерно в 100 раз быстрее, чем к видеопамяти). Используется только для хранения констант, необходимых при выполнении программы. Эти константы могут быть записаны в эту память только центральным процессором перед началом параллельного расчёта. «Вычислителям» регистры доступны только для чтения. · Параллельный кэш данных, или разделяемая память (Parallel Data Cache на рис. 9.2). Каждому из мультипроцессоров доступен один из блоков параллельной разделяемой памяти (16 KB на мультипроцессор). Размещена эта память на кристалле GPU и работает со скоростью регистров процессора (максимально возможной скоростью памяти). Предназначена для того, чтобы «вычислители» могли модифицировать общие данные и обмениваться информацией в ходе параллельного расчёта.
Каждый блок разделяемой памяти доступен одновременно всем «вычислителям» в составе одного мультипроцессора (см. рис. 9.2) для чтения и для записи, поэтому её и называют также параллельной. Конструкцией GPU предусмотрена автоматическая синхронизация доступа «вычислителей» к параллельной памяти. «Вычислители», принадлежащие к разным мультипроцессорам, не могут обмениваться данными через параллельную память (то есть, вообще не могут, потому что других путей нет). Процессор G80 имеет следующие возможности использования «вычислителей» и памяти: · максимум 512 параллельных потоков инструкций на «связку» (см. ниже) и 768 на 1 мультипроцессор; · максимум 8192 32-битных регистра на все потоки, выполняемые на 1 мультипроцессоре; · максимум 2 млн. ассемблерных инструкций на ядро; · максимальный объем передаваемых параметров 256 байт на ядро.
Дата добавления: 2014-12-07; Просмотров: 640; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |