Quando si richiama un kernel CUDA per una configurazione thread specifica, esistono regole rigide su in cui devono risiedere i parametri del kernel dello spazio di memoria (dispositivo/host) e quale tipo dovrebbero essere?Parametri ai kernel CUDA
Supponiamo lancio una griglia 1-D di fili con
kernel<<<numblocks, threadsperblock >>> (/*parameters*/)
Posso passare un parametro intero int foo
che è una variabile -integer ospitante, direttamente al kernel CUDA? O dovrei la memoria cudaMalloc
per un singolo intero dire dev_foo
e poi cudaMemcpy
foo
in devfoo
e quindi passare devfoo
come parametro del kernel?