Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

CUDA_full / L01_Intro_to_GPGPU

.pdf
Скачиваний:
24
Добавлен:
27.03.2015
Размер:
592.52 Кб
Скачать

Основные особенности стандарта

Исходный код приложения легко портируется на другие платформы.

Поддержка широкого класса устройств достигается за счет введения обобщенных моделей данных систем:

модель платформы (platform model);

модель памяти (memory model);

модель исполнения (execution model);

модель программирования (programming model).

Все модели являются абстрактными (не привязанными к конкретным устройствам), реализация предоставляется производителем.

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

21

 

 

C++ AMP

C++ Advanced Massive Parallelism – открытая спецификация языка для написания гетерогенных приложений от Microsoft.

Встроен в Visual Studio 11.

Реализован на основе DirectCompute.

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

22

 

 

CUDA vs. OpenCL

Преимущества CUDA:

Более широкая функциональность, поддержка специфических возможностей GPU NVIDIA.

Более высокая производительность.

Большая популярность, колоссально большее количество оптимизированных библиотек, существенно более развитые средства программирования, множество учебных материалов.

Легкость изучения, значительно менее громоздкое высокоуровневое API.

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

23

 

 

CUDA vs. OpenCL

Преимущества OpenCL:

Переносимость на широкий класс вычислительных систем. Поддержка всеми крупнейшими производителями.

Относительно легкая возможность задействовать все доступные вычислительные устройства.

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

24

 

 

Выводы

Современные GPU являются массивно-параллельными многоядерными процессорами, подходящими для вычислений общего назначения.

При эффективном использовании (и на подходящей задаче) дают существенный выигрыш в производительности по сравнению с CPU.

Технологии программирования опираются, в основных чертах, на одну и ту же модель.

Наиболее популярными являются CUDA и OpenCL.

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

25

 

 

Материалы

Линев А.В., Боголепов Д.К., Бастраков С.И. «Технологии параллельного программирования для процессоров новых архитектур» / Учебник.

NVIDIA CUDA C Programming Guide v. 4.0:

http://developer.download.nvidia.com/compute/cuda/4_0/tool kit/docs/CUDA_C_Programming_Guide.pdf

Материалы курса по CUDA в МГУ: https://sites.google.com/site/cudacsmsusu/file-cabinet

А.В. Боресков, А.А. Харламов «Основы работы с технологией CUDA»: https://sites.google.com/site/cudacsmsusu/file-cabinet

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

26

 

 

Материалы

Д. Сандерс, Э. Кэндрот «Технология CUDA в примерах: введение в программирование графических процессоров»

OpenCL – официальный сайт: http://www.khronos.org/opencl/

Intel OpenCL: http://software.intel.com/en-us/articles/intel-opencl-sdk/

NVIDIA OpenCL: http://www.nvidia.ru/object/cuda_opencl_new_ru.html

AMD OpenCL: http://www.amd.com/us/products/technologies/streamtechnology/opencl/Pages/opencl.aspx

Блог одного из разработчиков C++ AMP: http://www.danielmoth.com/Blog/C-Accelerated-Massive-

Parallelism.aspx

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

27

 

 

Вопросы

sergey.bastrakov@gmail.com

Н. Новгород, 2012 г.

Введение в вычисления общего назначения на GPU

28

 

 

Соседние файлы в папке CUDA_full