Развитие современных графических ускорителей или Graphic Processor Unit (в дальнейшем GPU) привело к появлению графических ускорителей с программируемым конвейером. Если раньше программист графических приложений мог использовать только фиксированную функциональность GPU, то теперь 2 стадии обработки информации в конвейере GPU стали программируемыми. Более точно программируемой стала обработка вершин, что позволило создавать, в частности, более разнообразные модели «освещения», а так же обработка фрагментов. Столь коренное изменение архитектуры GPU привело к возможности использования GPU не только для целей компьютерной графики, но и для задач, которые раннее решались на CPU, таким образом, появилась Технология Вычислений Общего Назначения на Графическом Ускорителе или General Purpose computation on Graphic Processor Unit (в дальнейшем просто GPGPU).
Идея применения специализированных арифметических ускорителей при построении суперкомпьютерных систем за последнее 5-10 лет стала довольно популярной благодаря возможности существенного повышения производительности при сохранении уровня энергопотребления и количества вычислительных узлов. Если проследить за эволюцией списка самых быстрых суперкомпьютеров мира Top500, то легко заметить, что переход к гетерогенным архитектурам не раз позволял соответствующим вычислительным системам занимать первые места с существенным отрывом от «классических» кластеров.
Графический ускоритель – это устройство, преобразующее графический образ, хранящийся как содержимое памяти компьютера (или самого адаптера), в форму, пригодную для дальнейшего вывода на экран монитора. Первые мониторы, построенные на электронно-лучевых трубках, работали по телевизионному принципу сканирования экрана электронным лучом, и для отображения требовался видеосигнал, генерируемый видеокартой.
Если вы хотите узнать стоимость контрольных работ на заказ , рассчитайте её на сайте Work5.
.
Применить технологии, отработанные при создании мощных игровых видеокарт для параллельных вычислений, впервые удалось NVIDIA, не остался в стороне и AMD со своим ускорителем FireStream. Использование графических ускорителей (GPGPU) позволяет получить значительную вычислительную мощность в десятки раз дешевле по деньгам и потребляемой мощности. В нынешнем списке TOP500три из первой пятерки суперкомпьютеров используют ускорители NVIDIA TESLA. GPGPU — единственная доступная по деньгам возможность получить «персональный суперкомпьютер» терафлопсной мощности в обычном настольном корпусе. Однако не все так просто, программирование для графических ускорителей не самое простое занятие. Также возникают вопросы, что выбрать — дорогую специализированную Tesla или топовую графическую карту, которая быстрее и дешевле? В любом случае, альтернативы множеству «легких» ядер пока не просматривается, а значит, приходится программировать все более параллельно. Сейчас выбор ПО, предназначенного для параллельной обработки данных с использованием не только лишь CPU весьма и весьма велик.
Цель работы - раскрыть особенности архитектуры и программирования графических процессов. Предмет работы – графический процессор и ускоритель. Задача работы – собрать и проанализировать сведения об архитектуре графических ускорителей, а так же способах их программирования. В данной работе рассмотрены следующие вопросы:
- Развитие графических ускорителей;
- Преимущества GPGPU;
- Архитектура GPGPU;
- Технологии программирования GPGPU: CUDA, OpenCL, Direct X.