API CUDA

  • 27 мая 2015 г.
  • 761 Слова
Федеральное государственное автономное образовательное учреждение высшего профессионального образования Национальный исследовательский ядерный университет «МИФИ»
Факультет
"Кибернетики иИнформационной безопасности"
Кафедра № 42
Технологии и методы программирования

"Сравнение существующих API CUDA"



























CUDA для параллельных
вычислений

•Программно-аппаратный стек для
процессоров NVIDIA





• Раскрывает потенциал GPU для вычислений общего назначения




• Спроектирован для поддержки
любого вычислительного интерфейса

– OpenCL,C/C++, и т.д.






























Средства разработки



Средства разработки




• CUDA C

– Runtime API

– Driver API

• OpenCL

• DirectXCompute













CUDA C (Runtime API)



• Расширение языка C

• CUDA API:

– Расширения языка C

• Затрагивает те части кода, которые исполняются на GPU

– Runtimeбиблиотека состоит из:

• Общие компоненты (типы и функции)

• Управление GPU и взаимодействие с графическими API

• Функции доступные на GPU

– syncthreads

– «быстрые» функцииИсполняется
Вызывается
device float DeviceFunc()
device
device
global void KernelFunc()
device
host
host float HostFunc()host
host

• global__ определяет ядро

– Всегда возвращает void

• device__ и host можно использовать вместе

• device__ недоступен указатель на функции
• Дляdevice

– Нет рекурсии
функций

– Нет статических переменных

– Нет переменного числа аргументов
















• Переменные без спецификатора попадают врегистры

– Кроме больших структур, которые попадают в локальную память

• Указатели могут указывать на участок разделяемой или глобальной памяти

– Глобальная память:

•...
tracking img