Параллельные и распределенные вычисления

Семинар 3

CUDA

Пономаренко Роман
@rerand0m
rerandom@ispras.ru

CUDA

Программно-аппаратная архитектура параллельных вычислений.

  • Первая версия была выпущена 23 июня 2007г.

  • В настоящий момент актуальной является версия SDK 12.2. (июнь 2023)

Полный гайд для самых любопытных

Сопроцессор или ускоритель?

source

source

См. код

Спецификаторы функций

  • __host__ - вызывается в host, исполняется на host (необязательный)
  • __global__ - вызывается в host, исполняется на device, ограничения:
    • Возвращаемый тип - только void
    • Не может быть членом класса
    • Вызов должен быть снабжён конфигурацией
      <<<gridSize, blockSize, ...>>>
  • __device__ - вызывается в device, исполняется на device

Параметры, доступные потоку

  • dim3 gridSize
  • dim3 blockSize
  • uint3 blockIdx
  • uint3 threadIdx