Читайте также: |
|
Sunday, 14 November 2010 01:44 ananas-wd
· GPGPU – General-Purpose computing on GPU (вычисления общего назначения на графических процессорах)
· В качестве вычислений общего назначения могут выступать и задачи, связанные с компьютерной графикой, если они не ограничиваются использованием стандартного графического конвейера (например, метод трассировки лучей)
· Потоковая обработка, используемая в графическом конвейере, может использоваться во многих вычислительных задачах общего характера
Области применения
ü Физическое моделирование
ü Финансовая математика
ü Вычислительная химия, биология
ü Компьютерное зрение
ü Томография
Особенности графического конвейера
ü Параллелизм на нескольких уровнях:
o Вершины обрабатываются параллельно и независимо друг от друга
o Растеризация примитивов также может быть распараллелена
o Фрагменты обрабатываются параллельно и независимо друг от друга
ü Когерентность: параллельно обрабатываемые фрагменты расположены рядом и обращаются к близким участкам текстур
Потоковая обработка на GPU
· Архитектура GPU предусматриваем наличие множества независимо работающих шейдерных процессоров
· Работа графического конвейера хорошо укладывается в потоковую модель вычислений (stream computing model)
· Поток (поток данных) – последовательность однотипных элементов, обработка каждого элемента может осуществляться независимо от других
· Обработка потока выполняется при помощи ядер (kernel)
Потоковая обработка на GPU: ядра
q Ядро получает на вход несколько потоков и выдает несколько потоков
q Сложные вычисления осуществляются последовательным соединением нескольких ядер
Шейдерные языки
q Изначально применялись для решения задач визуализации
q Одним из наиболее популярных является GLSL (OpenGL Shading Language, разрабатывается Khronos Group), входящий в стандарт OpenGL с версии 2.0
q Недостатки:
– На шейдерных языках пишутся только шейдеры (единицы параллельного исполнения), а не целые программы
– Необходимо формулировать задачу в графических терминах («привязка к графике»)
Сторонние средства
q Большинство основано на метапрограммировании: исходная программа разрабатывается на диалекте языка C с потоковыми расширениями, после чего транслируется в шейдеры для исполнения на GPU
q Наиболее известными являются BrookGPU и Sh
Дата добавления: 2014-12-18; просмотров: 16 | Поможем написать вашу работу | Нарушение авторских прав |