Вычисления Общего Назначения на Графическом Ускорителе.

Презентация:



Advertisements
Похожие презентации
Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
Advertisements

Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
Кластер mvs17 Управляющая машина mvs17.cc.dvo.ru OpenPBS Maui две очереди для заданий GPU simple GPU ПАСПОРТ ЗАДАЧИ: обязательные параметры: -l nodes.
What is a GPU? A Graphics Processing Unit or GPU (also occasionally called Visual Processing Unit or VPU) is a dedicated graphics rendering device for.
GPU vs. CPU 681 млн. транзисторов Тактовая частота 575Mhz * 768MB 1.8 Ghz памяти DDR4 ~650 млн. транзисторов Тактовая частота ~700Mhz 1GB 1.1 Ghz памяти.
ОБРАБОТКА ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ АППАРАТНОГО УСКОРИТЕЛЯ ГРАФИКИ Разработчики: Дейнега В.М. Малых Д.А. Круглов В.Н.
Графический конвейер Преобразования геометрии Александр Шубин.
Транспьютеры What is Transputer ? Транспьютер (англ. transputer) элемент построения многопроцессорных систем, выполненный на.
Выполнил ученик 10-А класса cредней школы 120 Малецкий Максим.
Сравнение возможностей инструментария разработки программного обеспечения графических процессоров.
Трансляция операций с массивами в код для современных графических процессоров Сахарных Н.А., Адинец А.В. Научный руководитель Березин С.Б. Лаборатория.
Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред.
Компьютерная графика Александр Бобков Семинар 2 Преобразование вершин.
Сравнительный анализ различных реализаций фильтра Гаусса.
Компьютерная графика. Технологии 3D графики. DirectX, OpenGL, Glide, PhysX.
GPU vs. CPU 302 млн. транзисторов Тактовая частота 550Mhz 1GB 850x2 MHz памяти 380 млн. транзисторов Тактовая частота 650Mhz 1GB 775x2 MHz памяти Тактовая.
Министерство образования и науки Российской Федерации АКАДЕМИЯ МАРКЕТИНГА И СОЦИАЛЬНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Факультет ПО и ВТ Презентация по дисциплине:
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Транксрипт:

Вычисления Общего Назначения на Графическом Ускорителе

Введение Лыков Кирилл Новосибирский Государственный Университет

Ознакомление Процессоры на современных видеокартах становятся все более мощными и гибкими –Программируемость –Точность –Мощность В этой презентации опишем то как использовать эту мощность в вычислениях общего назначения

Мотивация : Вычислительная Мощность GPUs быстры… –3.0 GHz dual-core Pentium4: 24.6 GFLOPS –NVIDIA GeForceFX 7800: 165 GFLOPs –1066 MHz FSB Pentium Extreme Edition : 8.5 GB/s –ATI Radeon X850 XT Platinum Edition: 37.8 GB/s GPUs становятся все быстрее –CPUs: 1.4 × годовой рост –GPUs: 1.7 × (пиксельные) to 2.3 × (вершинные) годовой рост Courtesy Kurt Akeley, Ian Buck & Tim Purcell, GPU Gems (see course notes)

Мотивация : Вычислительная Мощность Courtesy Ian Buck, John Owens

An Aside: Вычислительная мощность Почему GPU становятся мощнее так быстро? –Арифметика : особенности архитектуры GPUs позволяют относительно просто использовать дополнительные транзисторы для вычислений, а не для кэша –Экономика : Многомиллиардная индустрия компьютерных игр вкладывает деньги в разработку все более совершенных GPU

Мотивация : Гибкость и Точность Современные GPUs хорошо программируемы –Программируемые пиксельные, вершинные, видео процессоры –Установившаяся поддержка высокоуровневых языков программирования Современные GPUs обеспечивают высокую точность вычислений –Аппаратная поддержка чисел с плавающей точкой одинарной точности (32 бита). Что достаточно много для многих(не всех) приложений

Мотивация : Потенциал GPGPU Кратко: –Гибкость и мощность GPUs делает их привлекательными для вычислений общего назначения –Сфера применения GPGPU очень широка – от алгоритмов компьютерной графики, таких как задача глобального освещения, до задач численных методов и ММС. –Цель: сделать доступными разработчикам недорогую вычислительную мощность GPU как вычислительного сопроцессора

Проблемы : Сложность использования GPUs разработаны для & направляемы компьютерными играми –Необычная модель программирования –Идиомы программирования связаны с компьютерной графикой –Среда программирования сильно ограничена Архитектура: –Высоко параллельная –Быстрое развитие Нельзя просто перенести CPU код на GPU!

Основы GPU : Классический Графический Конвейер Упрощенный графический конвейер –Отметим что конвейер варьируем –Кэши, Списки и многое другое не показано GPUCPU Приложение Трансформация & Свет Растериза- ция Растериза- ция Тени Память ВК (Текстуры) Память ВК (Текстуры) Освещенные вершины (2D) Graphics State Рендеринг в текстуру Сборка примитивов Сборка примитивов вершины (3D) Экранные треугольники (2D) Фрагменты (pre-pixels) Итоговые пиксели ( Цвет, Глубина )

GPU Transform CPU Приложение Растериза- ция Растериза- ция Shade Память ВК (Текстуры) Память ВК (Текстуры) Освещенный вершины (2D) Graphics State Рендеринг в текстуру Сборка Примитивов Сборка Примитивов Вершины (3D) Экранные треугольники (2D) Фрагменты (pre-pixels) Итоговые пиксели ( цвет, глубина ) Программируемый вершинный процессор! Программируемый фрагментный процессор! Фрагментные Процессоры Фрагментные Процессоры Основы GPU : Современный Графический Конвейер Вершинные Процессоры

GPUCPU Приложение Вершинный процессор Вершинный процессор Растериза- ция Растериза- ция Фрагментный Процессор Фрагментный Процессор Текстуры Xformed, Lit Vertices (2D) Graphics State Рендеринг в текстуру Вершины (3D) Screenspace triangles (2D) Фрагменты (pre-pixels) Итоговые пиксели ( Цвет, глубина) Программируемая сборка примитивов! Более гибкая адресация памяти! Графический Конвейер последнего поколения Assemble Primitives Геометрический процессор Геометрический процессор

GPU Конвейер : Преобразования Вершинный процессор (несколько параллельных) –Преобразования из глобальной системы координат в систему координат изображения –Повершенное вычисление света

GPU Конвейер : Растеризация Растеризатор –Перевод геометрического пр. (вершины) в плоское пр. (фрагменты) Фрагмент = фрагмент изображения –Пиксель + связанные с ним данные: цвет, глубина, трафарет, etc. –Интерполирование повершенных данных через пиксели

GPU Конвейер : Тени Фрагментный процессор (несколько параллельных) –Вычисление цвета для каждого пикселя –Возможность чтения из текстур (изображений)

CPU-GPU Аналогии : Память CPU GPU Поток/Массив данных = Текстура Чтение памяти = Выборка из Текстуры

CPU-GPU Аналогии : Ядро A + B GPUCPU for( int i = 0; i< x_size; i++) for( int j = 0; j

CPU-GPU Аналогии : Feedback Вычисление = Отрисовка ( рендеринг ) Результат : текстура (GPU) -> массив данных(CPU)

Литература 1. David Luebke. General-Purpose Computation on Graphics Hardware. University of Virginia. 2. Mark Harris. Mapping Computational Concepts to GPUs. NVIDIA