Estoy trabajando en un proyecto con CUDA. Para entenderlo, tengo el siguiente código.Principiante CUDA - Incremento var simple no funciona
#include <iostream>
using namespace std;
__global__ void inc(int *foo) {
++(*foo);
}
int main() {
int count = 0, *cuda_count;
cudaMalloc((void**)&cuda_count, sizeof(int));
cudaMemcpy(cuda_count, &count, sizeof(int), cudaMemcpyHostToDevice);
cout << "count: " << count << '\n';
inc <<< 100, 25 >>> (&count);
cudaMemcpy(&count, cuda_count, sizeof(int), cudaMemcpyDeviceToHost);
cudaFree(cuda_count);
cout << "count: " << count << '\n';
return 0;
}
salida es
count: 0
count: 0
Cuál es el problema?
¡Gracias de antemano!
probablemente debería trabajar a través de algunos de los ejemplos de la guía de programación. Su sintaxis tiene discrepancias con lo que se sugiere en la guía de programación. – Marm0t