Esta pregunta se relaciona con el uso de flujos de CUDA para ejecutar muchos núcleos En CUDA hay muchos comandos de sincronización cudaStreamSynchronize, CudaDeviceSynchronize, cudaThreadSynchronize,
Para mi desarrollo CUDA, estoy usando una máquina con 16 núcleos y 1 GTX 580 GPU con 16 SM. Para el trabajo que estoy haciendo, planeo lanzar 16 subprocesos de host (1 en cada núcleo) y 1 lanzamiento
Tengo algo muy similar al código: int k, no_streams = 4;
cudaStream_t stream[no_streams];
for(k = 0; k < no_streams; k++) cudaStreamCreate(&stream[k]);
cudaMalloc(&g_in, size1*no_streams);
cudaMa