2
Я просто интересно, в чем разница между вызовом функции ядра CUDA сCUDA функция ядра
<<<BLOCK_NUM, THREAD_NUM>>>
и
<<<BLOCK_NUM, THREAD_NUM, THREAD_NUM * sizeof(float)>>> ?
Я просто интересно, в чем разница между вызовом функции ядра CUDA сCUDA функция ядра
<<<BLOCK_NUM, THREAD_NUM>>>
и
<<<BLOCK_NUM, THREAD_NUM, THREAD_NUM * sizeof(float)>>> ?
Дополнительный аргумент во втором случае указывает объем динамической разделяемой памяти для каждого блока в ядре.
Например, если у вас есть ядро, определенное как это:
__global__ void kernel(...)
{
extern __shared__ float buffer[];
}
Запуск второго ядра попытается выделить THREAD_NUM
слов для общего массива памяти buffer
для каждого блока ядра. Дополнительную информацию см. В приложении B.17 руководства по программированию CUDA 4.1.