Стоит одна большая проблема — обработка информации и данных в установленные сроки

ГЕТЕРОГЕННЫЕ ВЫЧИСЛЕНИЯ.Гетерогенный — разнородный.

Стоит одна большая проблема — обработка информации и данных в установленные сроки. Бывает, что даже самых современных серверных залов с самыми современными процессорами будет недостаточно и очень экономически невыгодно использовать для решений поставленных задач.

· Здесь вступает в игру не так давно получившее массовое признание, направление GPGPU — параллельные вычисления на графических процессорах.

Введение в GPGPU

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

Сторонние средства: BrookGPU и Sh

q Проблемы с эффективностью, не выполняется оптимизация под конкретную архитектуру q В настоящее время устарели и не поддерживаются, однако послужили основной… – Sh продолжила развитие в коммерческой платформе RapidMind, в 2009 поглощена Intel, технологии использованы в Intel…

Средства от производителей

q CUDA от NVIDIA (февраль 2007 года)

q AMD Stream Computing от AMD/ATI (ноябрь 2007 года)

q Преимущества:

– Написание программ на расширениях языка C в терминах потоковой обработки без специфической терминологии компьютерной графики

– Доступ к специфическим функциям оборудования, широкие возможности для оптимизации

q Недостаток: неуниверсальность, эффективное портирование затруднено из-за привязки к конкретному оборудованию

Стандарт OpenCL

· OpenCL – Open Computing Langugage, открытый стандарт параллельных вычислений, разрабатываемый Khronos Group совместно с представителями производителей устройств и ПО

· Первая версия стандарта в ноябре 2008 года

· Поддерживается Apple, NVIDIA, AMD/ATI, Intel, IBM

· Ориентирован на гетерогенные вычисления

· Поддержка широкого класса вычислительных устройств за счет введения обобщенных моделей (модели платформы, памяти, исполнения, …)

NVIDIA CUDA

· Программно-аппаратная платформа для параллельных вычислений от NVIDIA · Раскрывает потенциал GPU для вычислений общего назначения · Не поддерживается другими производителями

Дополнение. Параллелизм и новая архитектура NVIDIA Fermi

Пример устройства CPU и отличие GPU. Как видно из иллюстрации в GPU… За счет увеличения количества вычислительных ядер (ALU) достигается производительность системы в расчетах.

Дополнение. NVIDIA Tesla краткое описание

Технические характеристики решений Tesla в desktop и server вариантах. NVIDIA Tesla представлена в виде серверного решения и desktop варианта. Для… С технической стороны данные решения выглядят так. Модель Tesla С1060 для настольных систем представлена в виде…

Дополнение. OptiX, iray, RealityServer

Слайд с презентации NVIDIA на SIGGRAPH 2009 на котором представлена информация о интерактивном рейтрейсере — NVIDIA OptiX. Вот мы и добрались до самого вкусного и интересного раздела дополнений.… На данный момент, OptiX на финальной стадии разработки, но то, что сделано уже сейчас впечатляет. Давайте посмотрим на…

Корпорация Nvidia презентовала быструю однопроцессорную видеокарту

Корпорация Nvidia представила видеокарту GeForce GTX 480, которая, по заверению компании, является самой быстрой однопроцессорной видеокартой в…