SlideShare a Scribd company logo
Сравнительный анализ систем
программирования
графических процессоров
NVidia для решения задач
моделирования и обработки
сигналов
Лебедев А.С.
Цели работы
 Проанализировать возможность использования
платформ .NET Framework и Java для
программирования графических процессоров
NVIDIA.
 Сравнить инструменты программирования
графических процессоров NVIDIA на примере
задач моделирования и обработки сигналов.
Критерии сравнения
инструментов
 Эффективность работы созданных с помощью
каждого из рассматриваемых инструментов
приложений.
 Удобство применения каждого из
рассматриваемых инструментов.
Практическая ценность
работы
 Результаты оценки эффективности работы приложений,
созданных с помощью различных инструментов
программирования GPU NVIDIA, могут быть использованы как
критерий выбора платформы и технологии для решения
поставленной задачи высокопроизводительной распараллеленной
обработки информации.
 Результаты оценки удобства и простоты применения
инструментов программирования GPU NVIDIA могут служить
критерием выбора инструмента в случае наличия компромисса
между эффективностью работы созданного приложения и
трудоемкостью его разработки.
Задачи исследования
 Реализация с помощью всех рассматриваемых
инструментов алгоритмов решения выбранных
задач моделирования и обработки сигналов.
 Проведение замеров времени исполнения
критических участков приложений и анализ
полученных результатов измерений.
 Определение границ применимости каждого из
рассматриваемых инструментов и оценка времени,
затраченного на создание приложений.
Архитектура вычислителя CUDA
Общая память
Диспетчер инструкций
ПотоковыймультипроцессорТекстурный процессор
Кэш L1 инструкций Кэш L1 данных
Структура вычислителя CUDA на
логическом уровне
Логическая организация памяти
вычислителя CUDA
Архитектура сред программирования
CUDA
GPU
CPU
Драйвер CUDA
<<DLL>>
Среда исполнения
CUDA
<<DLL>>
CUDA.NET
<<DLL>>
JCUDA
<<Generic Package>>
GPU.NET
<<DLL>>
Приложение Java
<<Main Program>>
Библиотеки CUDA
<<Generic Package>>
Приложение .NET
<<Main Program>>
Приложение
Unmanaged
<<Main Program>>
Особенности компиляции kernel в рамках
GPU.NET
Дискретное вейвлет-преобразование
изображения
  4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcyxdst
  4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcyNxdst
  4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcNyxdst
  4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcNyNxdst
Преимущество GPU перед CPU (4 потока)
Преимущество GPU перед CPU (1 поток)
Гравитационная задача N тел
 В пустоте находится N
материальных точек, массы
которых известны.
 Известны начальные на момент
времени положения и скорости
каждой точки.
 Требуется найти положения точек
для всех последующих моментов
времени.
 Эволюция системы описывается
следующей системой уравнений:
i
i
v
dt
rd
  


N
ij
ij
ij
j
i
rr
rr
Gm
dt
vd
3
Преимущество GPU перед CPU (4 потока)
Преимущество GPU перед CPU (1 поток)
Ускорение с sqrt.f32 в gpu.net
Выводы
 Для выполнения проектов, критичных к производительности,
разработчикам можно рекомендовать только CUDA SDK,
использование которого помогает избежать проблем потери
времени, связанных с исполнением управляемого кода под
средами исполнения.
 В случае, если разработка проекта ведется под платформу Java,
разработчикам можно рекомендовать JCuda в условиях отсутствия
альтернатив.
 В случае, если разработка проекта ведется под платформу
.NET/Mono и критична производительность приложения, то
единственным вариантом является использование CUDA.NET. В
противном случае, можно рекомендовать GPU.NET, но только для
задач, которые вписываются в рамки, обозначенные его
ограничениями.

More Related Content

PPTX
6 кареев киров
PPTX
Стенд РТК РМСИ
PPT
Программа моделирования алгоритма параллельных подстановок и пример его реали...
PPT
Верификация управляющих программ в системе автоматизации РТК (Iron hand)
PDF
IT-инфраструктура. FAQ для разработчика
PDF
Работа с Big Data
PPTX
Параллельное программирование на современных видеокартах
PPTX
технологическая презентация Gpu digital lab
6 кареев киров
Стенд РТК РМСИ
Программа моделирования алгоритма параллельных подстановок и пример его реали...
Верификация управляющих программ в системе автоматизации РТК (Iron hand)
IT-инфраструктура. FAQ для разработчика
Работа с Big Data
Параллельное программирование на современных видеокартах
технологическая презентация Gpu digital lab

Similar to Презентация бакалаврской работы Артема Лебедева (20)

PDF
Новое поколение серверов Dell
 
PDF
библиотеки с поддержкой Gpu
PPT
CUDA & CAFFE
PDF
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
PPTX
Решение по виртуализации графических станций DEPO VGS на базе технологии NVID...
PDF
Сергей Комлач "Итоги Google I/O: что нас ждет"
PPT
"Лавриненко Ярослав" HPC GPU CUDA
PPTX
Tizen for Wearable Development Gear2 Danilov
PDF
Технология предметно ориентированного программирования гетерогенных многоядер...
PPTX
Высокопроизводительные вычисления на платформе Dell
PDF
Zwcad+ 2014
PDF
RequireJS і Magento 2
PPTX
неделя науки
PDF
О разработке десктопных приложений / About desktop development
PPTX
New Android NDK & JNI
ODP
презентация клевин александр
PPTX
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
PDF
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
PDF
Лекция 9. Программирование GPU
Новое поколение серверов Dell
 
библиотеки с поддержкой Gpu
CUDA & CAFFE
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Решение по виртуализации графических станций DEPO VGS на базе технологии NVID...
Сергей Комлач "Итоги Google I/O: что нас ждет"
"Лавриненко Ярослав" HPC GPU CUDA
Tizen for Wearable Development Gear2 Danilov
Технология предметно ориентированного программирования гетерогенных многоядер...
Высокопроизводительные вычисления на платформе Dell
Zwcad+ 2014
RequireJS і Magento 2
неделя науки
О разработке десктопных приложений / About desktop development
New Android NDK & JNI
презентация клевин александр
Современный graphql на бекенде и фронтенде. Тестирование, секьюрити, новые во...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Лекция 9. Программирование GPU
Ad

More from Alexander Petrov (20)

PDF
учебное оборудование для вуза сатэк
PPTX
Язык программирования SocLang (VKLang)
PPT
робототехника - проблемы и перспективы (СМП-2014)
PDF
портативный тифлоплеер с голосовым управлением
PPTX
Стенд РТК ТАДиОМ
PPTX
Стенд РТК МЛС
PPTX
Автономный мобильный робот (АМР-1)
PPTX
Биржа инновационных проектов
PPTX
Сайт кафедры мпо эвс
PPTX
Проект "Стенд" для проведения лабораторных работ по физике
PPTX
проект стенд__
PPT
Проект системы управления гидродинамическим стендом.
PDF
Устройство микроджойстик
PPTX
Разработка охранной сигнализации «СКАТ»
PPT
Cell и MC#
PPTX
Satek easy mcu - english
PPT
верификация
PPT
обзор методов построения карт глубин2
PPT
презентация Microsoft power point
PPT
пид 2009 12_30
учебное оборудование для вуза сатэк
Язык программирования SocLang (VKLang)
робототехника - проблемы и перспективы (СМП-2014)
портативный тифлоплеер с голосовым управлением
Стенд РТК ТАДиОМ
Стенд РТК МЛС
Автономный мобильный робот (АМР-1)
Биржа инновационных проектов
Сайт кафедры мпо эвс
Проект "Стенд" для проведения лабораторных работ по физике
проект стенд__
Проект системы управления гидродинамическим стендом.
Устройство микроджойстик
Разработка охранной сигнализации «СКАТ»
Cell и MC#
Satek easy mcu - english
верификация
обзор методов построения карт глубин2
презентация Microsoft power point
пид 2009 12_30
Ad

Презентация бакалаврской работы Артема Лебедева

  • 1. Сравнительный анализ систем программирования графических процессоров NVidia для решения задач моделирования и обработки сигналов Лебедев А.С.
  • 2. Цели работы  Проанализировать возможность использования платформ .NET Framework и Java для программирования графических процессоров NVIDIA.  Сравнить инструменты программирования графических процессоров NVIDIA на примере задач моделирования и обработки сигналов.
  • 3. Критерии сравнения инструментов  Эффективность работы созданных с помощью каждого из рассматриваемых инструментов приложений.  Удобство применения каждого из рассматриваемых инструментов.
  • 4. Практическая ценность работы  Результаты оценки эффективности работы приложений, созданных с помощью различных инструментов программирования GPU NVIDIA, могут быть использованы как критерий выбора платформы и технологии для решения поставленной задачи высокопроизводительной распараллеленной обработки информации.  Результаты оценки удобства и простоты применения инструментов программирования GPU NVIDIA могут служить критерием выбора инструмента в случае наличия компромисса между эффективностью работы созданного приложения и трудоемкостью его разработки.
  • 5. Задачи исследования  Реализация с помощью всех рассматриваемых инструментов алгоритмов решения выбранных задач моделирования и обработки сигналов.  Проведение замеров времени исполнения критических участков приложений и анализ полученных результатов измерений.  Определение границ применимости каждого из рассматриваемых инструментов и оценка времени, затраченного на создание приложений.
  • 6. Архитектура вычислителя CUDA Общая память Диспетчер инструкций ПотоковыймультипроцессорТекстурный процессор Кэш L1 инструкций Кэш L1 данных
  • 7. Структура вычислителя CUDA на логическом уровне
  • 9. Архитектура сред программирования CUDA GPU CPU Драйвер CUDA <<DLL>> Среда исполнения CUDA <<DLL>> CUDA.NET <<DLL>> JCUDA <<Generic Package>> GPU.NET <<DLL>> Приложение Java <<Main Program>> Библиотеки CUDA <<Generic Package>> Приложение .NET <<Main Program>> Приложение Unmanaged <<Main Program>>
  • 11. Дискретное вейвлет-преобразование изображения   4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcyxdst   4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcyNxdst   4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcNyxdst   4/))12,12()12,2()2,12()2,2((,  yxsrcyxsrcyxsrcyxsrcNyNxdst
  • 14. Гравитационная задача N тел  В пустоте находится N материальных точек, массы которых известны.  Известны начальные на момент времени положения и скорости каждой точки.  Требуется найти положения точек для всех последующих моментов времени.  Эволюция системы описывается следующей системой уравнений: i i v dt rd      N ij ij ij j i rr rr Gm dt vd 3
  • 18. Выводы  Для выполнения проектов, критичных к производительности, разработчикам можно рекомендовать только CUDA SDK, использование которого помогает избежать проблем потери времени, связанных с исполнением управляемого кода под средами исполнения.  В случае, если разработка проекта ведется под платформу Java, разработчикам можно рекомендовать JCuda в условиях отсутствия альтернатив.  В случае, если разработка проекта ведется под платформу .NET/Mono и критична производительность приложения, то единственным вариантом является использование CUDA.NET. В противном случае, можно рекомендовать GPU.NET, но только для задач, которые вписываются в рамки, обозначенные его ограничениями.