SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Обзор библиотек с поддержкой CUDA
        Анатолий Свириденков
            (сodedgers.com)
        Блог: http://bit.ly/cuda_blog
2
                       Проблематика


Где нужна вычислительная мощность:

- Ускорение вычислений

- Переход в реальное время

- Разгрузка CPU

- Улучшение качества
3
               Бибилиотеки и алгоритмы


Применение библиотек с GPU:

- Обработка видео и изображений

- Вычисления

- Прочие причины




     http://www.nvidia.ru/object/cuda_app_tesla_ru.html
4
                    Обработка видео

OpenCV 2.2 — обработка изображения и компьютерное
             зрение

NPP — nVidia performance primitive
5
                       OpenCV-GPU




https://code.ros.org/svn/opencv/trunk/opencv/doc/opencv.pdf
6
               NVIDIA Performance Primitives




Ускорение относительно IPP - 32x
http://developer.nvidia.com/npp

http://www.nvidia.com/content/GTC/documents/1028_GTC09.pdf
7
                    Математика

CUBLAS — математические вычисления

CUFFT — быстрые преобразования фурье

CUSPARSE — библиотека линейной алгебры

CURAND — высококачественные псевдослучайные числа
8
                                  CUBLAS




http://developer.download.nvidia.com/compute/cuda/2_0/docs/CUBLAS_Library_2.0.pdf
9
              CUFFT - быстрые преобразования Фурье


         Размерность                Исходные данные                   Результат


                                  Вещественные числа
              1D
                                   Комплексные числа


                                  Вещественные числа
              2D                                                 Комплексные числа
                                   Комплексные числа


                                  Вещественные числа
              3D
                                   Комплексные числа




http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/CUFFT_Library_3.1.pdf
10
     CUSPARSE - операции над разрежеными матрицами и
                        векторами




Ускорение по сравнению с MKL от 2 до 7 раз
http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUSPARSE_Library.pdf
11
                                    CURAND

Генерация псевдослучайных последовательностей




http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CURAND_Library.pdf
12
                 Прочие библиотеки

CUDPP — примитивы параллельной обработке данных

Thrust — STL для CUDA

CUDA.NET — поддержка CUDA в C#
13
                           CUDPP

Отталкивается от данных:

- Сортировка, поиск

- Умножение разреженых матриц и векторов

- Генерация случайных чисел




         http://groups.google.com/group/cudpp?pli=1
14
                            Thrust

STL style:

- Сортировка, поиск

- Генерация случайных чисел

- Поддержка коллекций: tuple, vector и list

- Поддержка алгоритмов: scan, reduce, sum, count_if и т.д.




               http://code.google.com/p/thrust/
15
                          CUDA.NET

 - Исполнение CUDA kernels в файлах *.cu

 - Исполнение OpenCL ядер

 - Поддержка CUFFT

 - Поддержка CUBLAS

 - Вызов функций OpenCV портированных на CUDA




http://www.hoopoe-cloud.com/files/cuda.net/2.0/CUDA.NET_2.0.pdf

Mais conteúdo relacionado

Mais procurados

"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. "YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
Yandex
 
Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)
Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)
Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)
Ontico
 
Software Transactional Memory
Software Transactional MemorySoftware Transactional Memory
Software Transactional Memory
Vadim Tsesko
 
Oracle exa2 biz_summit
Oracle exa2 biz_summitOracle exa2 biz_summit
Oracle exa2 biz_summit
Nick Turunov
 

Mais procurados (20)

Базы данных. Cassandra
Базы данных. CassandraБазы данных. Cassandra
Базы данных. Cassandra
 
введение в Gpu
введение в Gpuвведение в Gpu
введение в Gpu
 
Базы данных. Haystack
Базы данных. HaystackБазы данных. Haystack
Базы данных. Haystack
 
CUDA-Aware MPI
CUDA-Aware MPICUDA-Aware MPI
CUDA-Aware MPI
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. "YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
 
Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)
Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)
Использование очередей асинхронных сообщений с PostgreSQL (Илья Космодемьянский)
 
Базы данных. Hash & Cache
Базы данных. Hash & CacheБазы данных. Hash & Cache
Базы данных. Hash & Cache
 
Базы данных. Distributed Commit
Базы данных. Distributed CommitБазы данных. Distributed Commit
Базы данных. Distributed Commit
 
Software Transactional Memory
Software Transactional MemorySoftware Transactional Memory
Software Transactional Memory
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможности
 
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
Строим сервисы на базе Nginx и Tarantool / Василий Сошников, Андрей Дроздов (...
 
Введение в Apache Cassandra
Введение в Apache CassandraВведение в Apache Cassandra
Введение в Apache Cassandra
 
Технико-коммерческое предложение "База знаний"
Технико-коммерческое предложение "База знаний"Технико-коммерческое предложение "База знаний"
Технико-коммерческое предложение "База знаний"
 
Cassandra
CassandraCassandra
Cassandra
 
Oracle exa2 biz_summit
Oracle exa2 biz_summitOracle exa2 biz_summit
Oracle exa2 biz_summit
 
Класс!ная Cassandra
Класс!ная CassandraКласс!ная Cassandra
Класс!ная Cassandra
 
Оптимизации уровня CPU, Андрей Акиньшин (JetBrains)
Оптимизации уровня CPU,  Андрей Акиньшин (JetBrains)Оптимизации уровня CPU,  Андрей Акиньшин (JetBrains)
Оптимизации уровня CPU, Андрей Акиньшин (JetBrains)
 
Efficiency vvv
Efficiency vvvEfficiency vvv
Efficiency vvv
 

Destaque (7)

1990 2000-izborni-slogani
1990 2000-izborni-slogani1990 2000-izborni-slogani
1990 2000-izborni-slogani
 
Història de La Interfície de Windows
Història de La Interfície de WindowsHistòria de La Interfície de Windows
Història de La Interfície de Windows
 
Power poin frances
Power poin francesPower poin frances
Power poin frances
 
Une en 10250-2=2000 ing
Une en 10250-2=2000 ingUne en 10250-2=2000 ing
Une en 10250-2=2000 ing
 
Monitoring bso DE ARK en Stad Turnhout
Monitoring bso DE ARK en Stad TurnhoutMonitoring bso DE ARK en Stad Turnhout
Monitoring bso DE ARK en Stad Turnhout
 
110616 ソーシャルメディア連動型イベント集客
110616 ソーシャルメディア連動型イベント集客110616 ソーシャルメディア連動型イベント集客
110616 ソーシャルメディア連動型イベント集客
 
Causas de mortalidade de cabritos e borregos
Causas de mortalidade de  cabritos e borregosCausas de mortalidade de  cabritos e borregos
Causas de mortalidade de cabritos e borregos
 

Semelhante a библиотеки с поддержкой Gpu

Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAЛекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Mikhail Kurnosov
 
overview of development tools for computing Gpgpu
overview of development tools for computing Gpgpuoverview of development tools for computing Gpgpu
overview of development tools for computing Gpgpu
corehard_by
 
Презентация бакалаврской работы Артема Лебедева
Презентация бакалаврской работы Артема ЛебедеваПрезентация бакалаврской работы Артема Лебедева
Презентация бакалаврской работы Артема Лебедева
Alexander Petrov
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Mikhail Kurnosov
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
VThn18
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
Boris Kizko
 

Semelhante a библиотеки с поддержкой Gpu (20)

Лекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDAЛекция 11: Программирование графических процессоров на NVIDIA CUDA
Лекция 11: Программирование графических процессоров на NVIDIA CUDA
 
"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA"Лавриненко Ярослав" HPC GPU CUDA
"Лавриненко Ярослав" HPC GPU CUDA
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисления
 
overview of development tools for computing Gpgpu
overview of development tools for computing Gpgpuoverview of development tools for computing Gpgpu
overview of development tools for computing Gpgpu
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, paral...
 
Gpgpu
GpgpuGpgpu
Gpgpu
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Презентация бакалаврской работы Артема Лебедева
Презентация бакалаврской работы Артема ЛебедеваПрезентация бакалаврской работы Артема Лебедева
Презентация бакалаврской работы Артема Лебедева
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартах
 
Лекция 9. Программирование GPU
Лекция 9. Программирование GPUЛекция 9. Программирование GPU
Лекция 9. Программирование GPU
 
CUDA Best Practices (2-3)
CUDA Best Practices (2-3)CUDA Best Practices (2-3)
CUDA Best Practices (2-3)
 
CUDA & CAFFE
CUDA & CAFFE CUDA & CAFFE
CUDA & CAFFE
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data
 
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray ChapelЛекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
Лекция 12 (часть 1): Языки программирования семейства PGAS: Cray Chapel
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
 
Hpc 2.26.03.2013.
Hpc 2.26.03.2013.Hpc 2.26.03.2013.
Hpc 2.26.03.2013.
 
GRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network InitiativeGRANIT — Global Russian Advanced Network Initiative
GRANIT — Global Russian Advanced Network Initiative
 
Инструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learningИнструментарий Nvidia для deep learning
Инструментарий Nvidia для deep learning
 
OpenACC short review
OpenACC short reviewOpenACC short review
OpenACC short review
 
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
 

Último

CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 

Último (9)

Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 

библиотеки с поддержкой Gpu

  • 1. Обзор библиотек с поддержкой CUDA Анатолий Свириденков (сodedgers.com) Блог: http://bit.ly/cuda_blog
  • 2. 2 Проблематика Где нужна вычислительная мощность: - Ускорение вычислений - Переход в реальное время - Разгрузка CPU - Улучшение качества
  • 3. 3 Бибилиотеки и алгоритмы Применение библиотек с GPU: - Обработка видео и изображений - Вычисления - Прочие причины http://www.nvidia.ru/object/cuda_app_tesla_ru.html
  • 4. 4 Обработка видео OpenCV 2.2 — обработка изображения и компьютерное зрение NPP — nVidia performance primitive
  • 5. 5 OpenCV-GPU https://code.ros.org/svn/opencv/trunk/opencv/doc/opencv.pdf
  • 6. 6 NVIDIA Performance Primitives Ускорение относительно IPP - 32x http://developer.nvidia.com/npp http://www.nvidia.com/content/GTC/documents/1028_GTC09.pdf
  • 7. 7 Математика CUBLAS — математические вычисления CUFFT — быстрые преобразования фурье CUSPARSE — библиотека линейной алгебры CURAND — высококачественные псевдослучайные числа
  • 8. 8 CUBLAS http://developer.download.nvidia.com/compute/cuda/2_0/docs/CUBLAS_Library_2.0.pdf
  • 9. 9 CUFFT - быстрые преобразования Фурье Размерность Исходные данные Результат Вещественные числа 1D Комплексные числа Вещественные числа 2D Комплексные числа Комплексные числа Вещественные числа 3D Комплексные числа http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/CUFFT_Library_3.1.pdf
  • 10. 10 CUSPARSE - операции над разрежеными матрицами и векторами Ускорение по сравнению с MKL от 2 до 7 раз http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUSPARSE_Library.pdf
  • 11. 11 CURAND Генерация псевдослучайных последовательностей http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CURAND_Library.pdf
  • 12. 12 Прочие библиотеки CUDPP — примитивы параллельной обработке данных Thrust — STL для CUDA CUDA.NET — поддержка CUDA в C#
  • 13. 13 CUDPP Отталкивается от данных: - Сортировка, поиск - Умножение разреженых матриц и векторов - Генерация случайных чисел http://groups.google.com/group/cudpp?pli=1
  • 14. 14 Thrust STL style: - Сортировка, поиск - Генерация случайных чисел - Поддержка коллекций: tuple, vector и list - Поддержка алгоритмов: scan, reduce, sum, count_if и т.д. http://code.google.com/p/thrust/
  • 15. 15 CUDA.NET - Исполнение CUDA kernels в файлах *.cu - Исполнение OpenCL ядер - Поддержка CUFFT - Поддержка CUBLAS - Вызов функций OpenCV портированных на CUDA http://www.hoopoe-cloud.com/files/cuda.net/2.0/CUDA.NET_2.0.pdf