SlideShare a Scribd company logo
1 of 14
GPGPU — техника использования графического
процессора видеокарты для общих вычислений,
которые обычно проводит центральный процессор.
• архитектура видеокарты позволяет быстро и без
проблем «распараллелить» обработку данных.
Происходит «слаженная разбивка» нагрузки в
ядре карты.
• работа памяти и видеопроцессора оптимальнее,
чем связка «ОЗУ-кэш-процессор». В тот момент,
когда единица данных в видеокарте начинает
обрабатываться одним потоковым процессором
GPU, другая единица параллельно загружается в
другой, и, в принципе, легко можно достичь
загруженности графического процессора.
Идея распараллеливания вычислений -
большинство задач может быть разделено на
набор меньших задач, которые могут быть
решены одновременно.
• параллелизм на уровне битов,
• параллелизм на уровне инструкций,
• параллелизм данных,
• параллелизм задач.
Ядра CPU созданы для исполнения одного потока
последовательных инструкций с максимальной
производительностью
GPU проектируются для быстрого исполнения большого числа
параллельно выполняемых потоков инструкций
Разработчики CPU стараются добиться выполнения как можно
большего числа инструкций параллельно, для увеличения
производительности.
Из-за изначально параллельной организации работы в GPU
используется большое количество исполнительных блоков,
которые легко загрузить, в отличие от последовательного
потока инструкций для CPU. Кроме того, современные GPU
также могут исполнять больше одной инструкции за такт (dual
issue).
Все центральные процессоры имеют встроенные контроллеры
памяти
У всех GPU обычно есть по несколько контроллеров, вплоть до
восьми 64-битных каналов в чипе NVIDIA GT200. Кроме того, на
видеокартах применяется более быстрая память.
В универсальных процессорах большие количества
транзисторов и площадь чипа идут на буферы команд,
аппаратное предсказание ветвления и огромные объёмы
начиповой кэш-памяти.
Видеочипы тратят транзисторы на массивы исполнительных
блоков, управляющие потоками блоки, разделяемую память
небольшого объёма и контроллеры памяти на несколько
каналов.
Универсальные центральные процессоры используют кэш-
память для увеличения производительности за счёт снижения
задержек доступа к памяти. CPU снижают задержки доступа к
памяти при помощи кэш-памяти большого размера, а также
предсказания ветвлений кода.
GPU используют кэш или общую память для увеличения полосы
пропускания. Видеочипы обходят проблему задержек доступа к
памяти при помощи одновременного исполнения тысяч
потоков — в то время, когда один из потоков ожидает данных
из памяти, видеочип может выполнять вычисления другого
потока без ожидания и задержек.
CPU исполняет 1-2 потока вычислений на одно процессорное
ядро.
Видеочипы могут поддерживать до 1024 потоков на каждый
мультипроцессор, которых в чипе несколько штук. И если
переключение с одного потока на другой для CPU стоит сотни
тактов, то GPU переключает несколько потоков за один такт.
Самое главное — эти несколько ядер
мультипроцессора в GPU являются SIMD
(одиночный поток команд, множество потоков
данных) ядрами. И эти ядра исполняют одни и те
же инструкции одновременно, такой стиль
программирования является обычным для
графических алгоритмов и многих научных
задач, но требует специфического
программирования. Зато такой подход
позволяет увеличить количество
исполнительных блоков за счёт их упрощения.
РЕАЛИЗАЦИИ
• AMD FireStream — технология GPGPU, позволяющая
программистам реализовывать алгоритмы,
выполнимые на графических процессорах
ускорителей ATI.
• CUDA — технология GPGPU, позволяющая
программистам реализовывать на языке
программирования Си алгоритмы, выполнимые на
графических процессорах ускорителей GeForce
восьмого поколения и старше (GeForce 8 Series,
GeForce 9 Series, GeForce 200 Series), Nvidia Quadro и
Nvidia Tesla компании Nvidia. Технология CUDA
разработана компанией Nvidia.
• Direct3D 11 — вычислительный шейдер (англ.
Compute Shader).
• OpenCL является языком программирования задач,
связанных с параллельными вычислениями на
различных графических и центральных процессорах.
• CUDA (англ. Compute Unified Device Architecture) — програмно-
аппаратная архитектура, позволяющая производить
вычисления с использованием графических процессоров
NVIDIA, поддерживающих технологию GPGPU. Архитектура
CUDA впервые появились с выходом чипа NVIDIA восьмого
поколения - G80 и присутствует во всех последующих сериях
графических чипов, которые используются в семействах
ускорителей GeForce, Quadro и Tesla.
• CUDA SDK позволяет программистам реализовывать на
специальном упрощенном диалекте языка программирования
Си алгоритмы, выполнимые на графических процессорах
NVIDIA и включать специальные функции в текст программы на
Cи. CUDA даёт разработчику возможность по своему
усмотрению организовывать доступ к набору инструкций
графического ускорителя и управлять его памятью,
организовывать на нём сложные параллельные вычисления.
• AMD FireStream (ранее как ATI FireStream и AMD Stream
Processor[1]) — представляет собой потоковый процессор,
разработанный компанией ATI. FireStream — технология
GPGPU, позволяющая программистам реализовывать
алгоритмы, выполнимые на графических процессорах
ускорителей ATI.
• Областями применения FireStream являются приложения,
требовательные к вычислительному ресурсу, такие, как
финансовый анализ или обработка сейсмических данных.
Использование потокового процессора позволило
увеличить скорость некоторых финансовых расчётов в 55
раз по сравнению с решением той же задачи силами
только центрального процессора.
• Tesla — название семейства вычислительных систем
NVIDIA на основе графических процессоров с
архитектурой CUDA, которые могут быть использованы
для научных и технических вычислений общего
назначения. Tesla не может полностью заменить
обычный универсальный процесcор, но позволяет
использовать вычислительный ресурс множества своих
ядер для решения определенного круга ресурсоемких
задач, которые позволяют независимую параллельную
обработку данных (примерами таких задач могут
служить: симуляция свёртывания молекул белка,
секвенирование ДНК, моделирование погоды, анализ
финансового риска и т. п.).
• Highly Optimized Object Oriented Molecular Dynamics (HOOMD) — это
объектно-ориентированный пакет утилит для молекулярной динамики. Он
предназначен для проведения симуляций молекулярной динамики общего
назначения, и одним из первых подобных пакетов начал использовать NVIDIA
CUDA для ускорения расчётов. Объектно-ориентированный дизайн HOOMD
делает этот пакет универсальным и расширяемым. В текущей версии пакета
представлено большое количество разных силовых полей и интеграторов, а
дополнительные могут быть легко добавлены.
• Для описания, управления и запуска симуляций используется простой
скриптовый язык Python. Скрипты дают полное управление над силовыми
полями, интеграторами, всеми параметрами, количеством шагов и т.д.
Система скриптов специально сделана максимально простой в использовании
для пользователей, не являющихся программистами.
• Пока HOOMD симулирует молекулярную динамику на CPU или одиночном
GPU производства компании NVIDIA, но внедрение мультичипового расчёта
планируется в будущих версиях. Пакет работает под следующими
операционными системами: Microsoft Windows XP, Linux и Mac OS X. Результат
симуляций можно визуализировать при помощи интерфейса VMD.
• http://www.external.ameslab.gov/hoomd/index.html
• Ascalaph Liquid GPU — программа для симуляции молекулярной динамики в
жидкой фазе
• Ascalaph DNA GPU — программа создания моделей нуклеиновых кислот и их
комплексов с лигандами
• Ascalaph Liquid GPU — это аппаратно ускоренная на GPU версия программы Ascalaph
Liquid, идентичная CPU-версии во всём, кроме производительности. То же и насчёт
Ascalaph DNA GPU — это аналог Ascalaph DNA. Ascalaph Liquid GPU использует
аппаратные и программные возможности NVIDIA CUDA, ускоряя расчёт невалентных
взаимодействий. Расчёт делается специальным образом, все валентные параметры
силового поля игнорируются.
• Для этих специальных GPU версий используются видеокарты с поддержкой
технологии CUDA 2.0, причём, для достижения существенного роста
производительности, видеочип должен иметь как минимум 12 мультипроцессоров
(GeForce 8800 GT). При расчёте маленьких моделей из 100-200 атомов ускорение на
GPU не используется, включаясь только в случае моделей из тысячи и более атомов.
Программа делает расчёт моделей ограниченного размера, в зависимости от
конфигурации системы. С использованием 2 ГБ системного ОЗУ и 300 МБ локальной
видеопамяти, программы работают с моделями, включающими до 5000 атомов.
• http://www.agilemolecule.com/Ascalaph/Ascalaph-Liquid.html
• http://www.agilemolecule.com/Ascalaph/Ascalaph_DNA_GPU.html
Gpgpu

More Related Content

What's hot

Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыГидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
Внедрение параллельного рендеринга в игровой движок
Внедрение параллельного рендеринга в игровой движокВнедрение параллельного рендеринга в игровой движок
Внедрение параллельного рендеринга в игровой движокRoman_Lut
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияRoman_Lut
 
Пути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияПути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияAndrew Babiy
 
06 vasenin roganov siis_2013
06 vasenin roganov siis_201306 vasenin roganov siis_2013
06 vasenin roganov siis_2013Marina_creautor
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Boris Kizko
 
Автоматизация отладки в windbg
Автоматизация отладки в windbgАвтоматизация отладки в windbg
Автоматизация отладки в windbgPositive Hack Days
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
кластеры и суперкомпьютеры
кластеры и суперкомпьютерыкластеры и суперкомпьютеры
кластеры и суперкомпьютерыnastena07051995
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
ВиртуалтредингCEE-SEC(R)
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...CEE-SEC(R)
 
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...CEE-SEC(R)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10Computer Science Club
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013ru-fedora-moscow-2013
 
презентация костина сравнение 8.1 7
презентация костина сравнение 8.1 7презентация костина сравнение 8.1 7
презентация костина сравнение 8.1 7sasha4334556
 

What's hot (20)

Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктурыГидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
 
Внедрение параллельного рендеринга в игровой движок
Внедрение параллельного рендеринга в игровой движокВнедрение параллельного рендеринга в игровой движок
Внедрение параллельного рендеринга в игровой движок
 
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипенияАрхитектура современного 3 d движка: Разработка Xenus: Точка кипения
Архитектура современного 3 d движка: Разработка Xenus: Точка кипения
 
Пути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обученияПути увеличения эффективности реализации алгоритмов машинного обучения
Пути увеличения эффективности реализации алгоритмов машинного обучения
 
06 vasenin roganov siis_2013
06 vasenin roganov siis_201306 vasenin roganov siis_2013
06 vasenin roganov siis_2013
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
 
3
33
3
 
Автоматизация отладки в windbg
Автоматизация отладки в windbgАвтоматизация отладки в windbg
Автоматизация отладки в windbg
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
кластеры и суперкомпьютеры
кластеры и суперкомпьютерыкластеры и суперкомпьютеры
кластеры и суперкомпьютеры
 
3. Kulemin. kvm. June 01, 2013
3. Kulemin. kvm. June 01, 20133. Kulemin. kvm. June 01, 2013
3. Kulemin. kvm. June 01, 2013
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
Виртуалтрединг
 
Обзор OpenCL
Обзор OpenCLОбзор OpenCL
Обзор OpenCL
 
Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...Технология предметно ориентированного программирования гетерогенных многоядер...
Технология предметно ориентированного программирования гетерогенных многоядер...
 
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...О создании компилятора с высокоуровневого языка на компьютер с программируемо...
О создании компилятора с высокоуровневого языка на компьютер с программируемо...
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013
 
презентация костина сравнение 8.1 7
презентация костина сравнение 8.1 7презентация костина сравнение 8.1 7
презентация костина сравнение 8.1 7
 
33 mhz
33 mhz33 mhz
33 mhz
 

Viewers also liked

Parnasse presentation on Press-lunch
Parnasse presentation on Press-lunchParnasse presentation on Press-lunch
Parnasse presentation on Press-lunchSocratis Ploussas
 
Theatre slide show official
Theatre slide show official Theatre slide show official
Theatre slide show official miketiernan
 
Ipmc presentation2013 network
Ipmc presentation2013 networkIpmc presentation2013 network
Ipmc presentation2013 networkSocratis Ploussas
 
OpenCircle presentation Monday Feb. 16th for National Documentation Center
OpenCircle presentation Monday Feb. 16th for National Documentation CenterOpenCircle presentation Monday Feb. 16th for National Documentation Center
OpenCircle presentation Monday Feb. 16th for National Documentation CenterSocratis Ploussas
 
Enterpreneurship in agro business
Enterpreneurship in agro businessEnterpreneurship in agro business
Enterpreneurship in agro businessSocratis Ploussas
 
Gamification: Impact on Student Engagement and Performance in Post-Secondary ...
Gamification: Impact on Student Engagement and Performance in Post-Secondary ...Gamification: Impact on Student Engagement and Performance in Post-Secondary ...
Gamification: Impact on Student Engagement and Performance in Post-Secondary ...Meaghan Lister
 
International trade promotion in india
International trade promotion in indiaInternational trade promotion in india
International trade promotion in indiaAditi Mahapadi
 
Avance biosciences
Avance biosciencesAvance biosciences
Avance biosciencesavancebio
 
Horticulture et gastronomie, un match parfait?
Horticulture et gastronomie, un match parfait?Horticulture et gastronomie, un match parfait?
Horticulture et gastronomie, un match parfait?Emmanuelle Ares
 

Viewers also liked (20)

Parnasse presentation on Press-lunch
Parnasse presentation on Press-lunchParnasse presentation on Press-lunch
Parnasse presentation on Press-lunch
 
Art around us
Art around usArt around us
Art around us
 
Inno investments
Inno investmentsInno investments
Inno investments
 
Parnasse_Final
Parnasse_FinalParnasse_Final
Parnasse_Final
 
Theatre slide show official
Theatre slide show official Theatre slide show official
Theatre slide show official
 
Ipmc presentation2013 network
Ipmc presentation2013 networkIpmc presentation2013 network
Ipmc presentation2013 network
 
OpenCircle presentation Monday Feb. 16th for National Documentation Center
OpenCircle presentation Monday Feb. 16th for National Documentation CenterOpenCircle presentation Monday Feb. 16th for National Documentation Center
OpenCircle presentation Monday Feb. 16th for National Documentation Center
 
Nokia analysis
Nokia analysisNokia analysis
Nokia analysis
 
The gettysburg address
The gettysburg addressThe gettysburg address
The gettysburg address
 
Enterpreneurship in agro business
Enterpreneurship in agro businessEnterpreneurship in agro business
Enterpreneurship in agro business
 
25 common english idioms
25 common english idioms25 common english idioms
25 common english idioms
 
Parnasse presentation
Parnasse presentationParnasse presentation
Parnasse presentation
 
Tushaal 153
Tushaal 153Tushaal 153
Tushaal 153
 
Gamification: Impact on Student Engagement and Performance in Post-Secondary ...
Gamification: Impact on Student Engagement and Performance in Post-Secondary ...Gamification: Impact on Student Engagement and Performance in Post-Secondary ...
Gamification: Impact on Student Engagement and Performance in Post-Secondary ...
 
International trade promotion in india
International trade promotion in indiaInternational trade promotion in india
International trade promotion in india
 
Avance biosciences
Avance biosciencesAvance biosciences
Avance biosciences
 
1st year eureka
1st year   eureka1st year   eureka
1st year eureka
 
Neft&rtgs
Neft&rtgsNeft&rtgs
Neft&rtgs
 
Horticulture et gastronomie, un match parfait?
Horticulture et gastronomie, un match parfait?Horticulture et gastronomie, un match parfait?
Horticulture et gastronomie, un match parfait?
 
Marchandisage Inspirant
Marchandisage InspirantMarchandisage Inspirant
Marchandisage Inspirant
 

Similar to Gpgpu

навигатор новые решения в новых условиях
навигатор новые решения в новых условияхнавигатор новые решения в новых условиях
навигатор новые решения в новых условияхNick Turunov
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data MATLAB
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...VThn18
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningSkolkovo Robotics Center
 
"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDAOleg Nazarevych
 
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAЛекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAMikhail Kurnosov
 
Лекция 9. Программирование GPU
Лекция 9. Программирование GPUЛекция 9. Программирование GPU
Лекция 9. Программирование GPUMikhail Kurnosov
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSUlarhat
 
58
5858
58JIuc
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийExpolink
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисленияMATLAB
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Mikhail Chusavitin
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиCisco Russia
 
Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.Leonid Bogolubov
 
DataCore case studies
DataCore case studies DataCore case studies
DataCore case studies korn_aaf
 

Similar to Gpgpu (20)

навигатор новые решения в новых условиях
навигатор новые решения в новых условияхнавигатор новые решения в новых условиях
навигатор новые решения в новых условиях
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learning
 
"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA
 
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAЛекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
 
Лекция 9. Программирование GPU
Лекция 9. Программирование GPUЛекция 9. Программирование GPU
Лекция 9. Программирование GPU
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
GPUDigitalLab
GPUDigitalLabGPUDigitalLab
GPUDigitalLab
 
58
5858
58
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложений
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисления
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
CUDA Best Practices (2-3)
CUDA Best Practices (2-3)CUDA Best Practices (2-3)
CUDA Best Practices (2-3)
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?
 
Conflux: GPGPU .NET
Conflux: GPGPU .NETConflux: GPGPU .NET
Conflux: GPGPU .NET
 
Методики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сетиМетодики и инструменты для самостоятельного решения проблем в сети
Методики и инструменты для самостоятельного решения проблем в сети
 
Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.Дмитрий Рыжков. Intel Android x86.
Дмитрий Рыжков. Intel Android x86.
 
DataCore case studies
DataCore case studies DataCore case studies
DataCore case studies
 

Gpgpu

  • 1.
  • 2. GPGPU — техника использования графического процессора видеокарты для общих вычислений, которые обычно проводит центральный процессор. • архитектура видеокарты позволяет быстро и без проблем «распараллелить» обработку данных. Происходит «слаженная разбивка» нагрузки в ядре карты. • работа памяти и видеопроцессора оптимальнее, чем связка «ОЗУ-кэш-процессор». В тот момент, когда единица данных в видеокарте начинает обрабатываться одним потоковым процессором GPU, другая единица параллельно загружается в другой, и, в принципе, легко можно достичь загруженности графического процессора.
  • 3. Идея распараллеливания вычислений - большинство задач может быть разделено на набор меньших задач, которые могут быть решены одновременно. • параллелизм на уровне битов, • параллелизм на уровне инструкций, • параллелизм данных, • параллелизм задач.
  • 4. Ядра CPU созданы для исполнения одного потока последовательных инструкций с максимальной производительностью GPU проектируются для быстрого исполнения большого числа параллельно выполняемых потоков инструкций Разработчики CPU стараются добиться выполнения как можно большего числа инструкций параллельно, для увеличения производительности. Из-за изначально параллельной организации работы в GPU используется большое количество исполнительных блоков, которые легко загрузить, в отличие от последовательного потока инструкций для CPU. Кроме того, современные GPU также могут исполнять больше одной инструкции за такт (dual issue). Все центральные процессоры имеют встроенные контроллеры памяти У всех GPU обычно есть по несколько контроллеров, вплоть до восьми 64-битных каналов в чипе NVIDIA GT200. Кроме того, на видеокартах применяется более быстрая память. В универсальных процессорах большие количества транзисторов и площадь чипа идут на буферы команд, аппаратное предсказание ветвления и огромные объёмы начиповой кэш-памяти. Видеочипы тратят транзисторы на массивы исполнительных блоков, управляющие потоками блоки, разделяемую память небольшого объёма и контроллеры памяти на несколько каналов. Универсальные центральные процессоры используют кэш- память для увеличения производительности за счёт снижения задержек доступа к памяти. CPU снижают задержки доступа к памяти при помощи кэш-памяти большого размера, а также предсказания ветвлений кода. GPU используют кэш или общую память для увеличения полосы пропускания. Видеочипы обходят проблему задержек доступа к памяти при помощи одновременного исполнения тысяч потоков — в то время, когда один из потоков ожидает данных из памяти, видеочип может выполнять вычисления другого потока без ожидания и задержек. CPU исполняет 1-2 потока вычислений на одно процессорное ядро. Видеочипы могут поддерживать до 1024 потоков на каждый мультипроцессор, которых в чипе несколько штук. И если переключение с одного потока на другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за один такт.
  • 5. Самое главное — эти несколько ядер мультипроцессора в GPU являются SIMD (одиночный поток команд, множество потоков данных) ядрами. И эти ядра исполняют одни и те же инструкции одновременно, такой стиль программирования является обычным для графических алгоритмов и многих научных задач, но требует специфического программирования. Зато такой подход позволяет увеличить количество исполнительных блоков за счёт их упрощения.
  • 6.
  • 7.
  • 8. РЕАЛИЗАЦИИ • AMD FireStream — технология GPGPU, позволяющая программистам реализовывать алгоритмы, выполнимые на графических процессорах ускорителей ATI. • CUDA — технология GPGPU, позволяющая программистам реализовывать на языке программирования Си алгоритмы, выполнимые на графических процессорах ускорителей GeForce восьмого поколения и старше (GeForce 8 Series, GeForce 9 Series, GeForce 200 Series), Nvidia Quadro и Nvidia Tesla компании Nvidia. Технология CUDA разработана компанией Nvidia. • Direct3D 11 — вычислительный шейдер (англ. Compute Shader). • OpenCL является языком программирования задач, связанных с параллельными вычислениями на различных графических и центральных процессорах.
  • 9. • CUDA (англ. Compute Unified Device Architecture) — програмно- аппаратная архитектура, позволяющая производить вычисления с использованием графических процессоров NVIDIA, поддерживающих технологию GPGPU. Архитектура CUDA впервые появились с выходом чипа NVIDIA восьмого поколения - G80 и присутствует во всех последующих сериях графических чипов, которые используются в семействах ускорителей GeForce, Quadro и Tesla. • CUDA SDK позволяет программистам реализовывать на специальном упрощенном диалекте языка программирования Си алгоритмы, выполнимые на графических процессорах NVIDIA и включать специальные функции в текст программы на Cи. CUDA даёт разработчику возможность по своему усмотрению организовывать доступ к набору инструкций графического ускорителя и управлять его памятью, организовывать на нём сложные параллельные вычисления.
  • 10. • AMD FireStream (ранее как ATI FireStream и AMD Stream Processor[1]) — представляет собой потоковый процессор, разработанный компанией ATI. FireStream — технология GPGPU, позволяющая программистам реализовывать алгоритмы, выполнимые на графических процессорах ускорителей ATI. • Областями применения FireStream являются приложения, требовательные к вычислительному ресурсу, такие, как финансовый анализ или обработка сейсмических данных. Использование потокового процессора позволило увеличить скорость некоторых финансовых расчётов в 55 раз по сравнению с решением той же задачи силами только центрального процессора.
  • 11. • Tesla — название семейства вычислительных систем NVIDIA на основе графических процессоров с архитектурой CUDA, которые могут быть использованы для научных и технических вычислений общего назначения. Tesla не может полностью заменить обычный универсальный процесcор, но позволяет использовать вычислительный ресурс множества своих ядер для решения определенного круга ресурсоемких задач, которые позволяют независимую параллельную обработку данных (примерами таких задач могут служить: симуляция свёртывания молекул белка, секвенирование ДНК, моделирование погоды, анализ финансового риска и т. п.).
  • 12. • Highly Optimized Object Oriented Molecular Dynamics (HOOMD) — это объектно-ориентированный пакет утилит для молекулярной динамики. Он предназначен для проведения симуляций молекулярной динамики общего назначения, и одним из первых подобных пакетов начал использовать NVIDIA CUDA для ускорения расчётов. Объектно-ориентированный дизайн HOOMD делает этот пакет универсальным и расширяемым. В текущей версии пакета представлено большое количество разных силовых полей и интеграторов, а дополнительные могут быть легко добавлены. • Для описания, управления и запуска симуляций используется простой скриптовый язык Python. Скрипты дают полное управление над силовыми полями, интеграторами, всеми параметрами, количеством шагов и т.д. Система скриптов специально сделана максимально простой в использовании для пользователей, не являющихся программистами. • Пока HOOMD симулирует молекулярную динамику на CPU или одиночном GPU производства компании NVIDIA, но внедрение мультичипового расчёта планируется в будущих версиях. Пакет работает под следующими операционными системами: Microsoft Windows XP, Linux и Mac OS X. Результат симуляций можно визуализировать при помощи интерфейса VMD. • http://www.external.ameslab.gov/hoomd/index.html
  • 13. • Ascalaph Liquid GPU — программа для симуляции молекулярной динамики в жидкой фазе • Ascalaph DNA GPU — программа создания моделей нуклеиновых кислот и их комплексов с лигандами • Ascalaph Liquid GPU — это аппаратно ускоренная на GPU версия программы Ascalaph Liquid, идентичная CPU-версии во всём, кроме производительности. То же и насчёт Ascalaph DNA GPU — это аналог Ascalaph DNA. Ascalaph Liquid GPU использует аппаратные и программные возможности NVIDIA CUDA, ускоряя расчёт невалентных взаимодействий. Расчёт делается специальным образом, все валентные параметры силового поля игнорируются. • Для этих специальных GPU версий используются видеокарты с поддержкой технологии CUDA 2.0, причём, для достижения существенного роста производительности, видеочип должен иметь как минимум 12 мультипроцессоров (GeForce 8800 GT). При расчёте маленьких моделей из 100-200 атомов ускорение на GPU не используется, включаясь только в случае моделей из тысячи и более атомов. Программа делает расчёт моделей ограниченного размера, в зависимости от конфигурации системы. С использованием 2 ГБ системного ОЗУ и 300 МБ локальной видеопамяти, программы работают с моделями, включающими до 5000 атомов. • http://www.agilemolecule.com/Ascalaph/Ascalaph-Liquid.html • http://www.agilemolecule.com/Ascalaph/Ascalaph_DNA_GPU.html