Параметры ядер CUDA

При вызове ядра CUDA для конкретной конфигурации потока существуют ли какие-либо строгие правила относительно того, в каком пространстве памяти (устройство / хост) должны находиться параметры ядра и какого типа они должны быть?

Предположим, я запускаю одномерную сетку потоков с помощью

kernel<<<numblocks, threadsperblock >>> (/*parameters*/)

Могу ли я передать целочисленный параметр int foo , который является целочисленной переменной host , напрямую в ядро ​​CUDA? Или я должен cudaMalloc память для одного целого числа, скажем dev_foo , а затем cudaMemcpy foo в devfoo , а затем передать devfoo в качестве параметра ядра?

8
задан Brian Cain 3 December 2011 в 03:11
поделиться