15
Обзор библиотек с поддержкой CUDA Анатолий Свириденков (сodedgers.com) Блог: http://bit.ly/cuda_blog

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

Embed Size (px)

Citation preview

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

Обзор библиотек с поддержкой CUDA

Анатолий Свириденков(сodedgers.com)

Блог: http://bit.ly/cuda_blog

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

Проблематика

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

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

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

- Разгрузка CPU

- Улучшение качества

2

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

Бибилиотеки и алгоритмы

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

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

- Вычисления

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

3

http://www.nvidia.ru/object/cuda_app_tesla_ru.html

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

Обработка видео

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

NPP — nVidia performance primitive

4

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

OpenCV-GPU 5

https://code.ros.org/svn/opencv/trunk/opencv/doc/opencv.pdf

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

NVIDIA Performance Primitives

Ускорение относительно IPP - 32x

6

http://developer.nvidia.com/npp

http://www.nvidia.com/content/GTC/documents/1028_GTC09.pdf

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

Математика

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

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

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

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

7

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

CUBLAS

http://developer.download.nvidia.com/compute/cuda/2_0/docs/CUBLAS_Library_2.0.pdf

8

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

CUFFT - быстрые преобразования Фурье9

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

1DВещественные числа

Комплексные числа

Комплексные числа

2DВещественные числа

Комплексные числа

3DВещественные числа

Комплексные числа

http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/CUFFT_Library_3.1.pdf

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

CUSPARSE - операции над разрежеными матрицами и векторами

Ускорение по сравнению с MKL от 2 до 7 раз

10

http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUSPARSE_Library.pdf

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

CURAND

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

11

http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CURAND_Library.pdf

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

Прочие библиотеки

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

Thrust — STL для CUDA

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

12

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

CUDPP

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

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

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

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

13

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

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

Thrust

STL style:

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

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

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

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

14

http://code.google.com/p/thrust/

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

CUDA.NET

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

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

- Поддержка CUFFT

- Поддержка CUBLAS

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

15

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