cuda thrust

Error simple del programa de empuje CUDA



thrust (1)

Solo escribo un sencillo programa CUDA Thrust, pero cuando lo ejecuto. Obtuve este error: thrust :: system :: system_error en la posición 0x0037f99c.

¿Alguien puede ayudarme a descubrir por qué sucede esto?

#include<thrust/host_vector.h> #include<thrust/device_vector.h> #include<iostream> using namespace std; using namespace thrust; int main() { thrust::host_vector<int> h_vec(3); h_vec[0]=1;h_vec[1]=2;h_vec[2]=3; thrust::device_vector<int> d_vec(3) ; d_vec= h_vec; int h_sum = thrust::reduce(h_vec.begin(), h_vec.end()); int d_sum = thrust::reduce(d_vec.begin(), d_vec.end()); return 0; }


Algunas sugerencias con Thrust:

  • Si está compilando su código con -G y tiene problemas, intente compilar sin -G
  • Puede ver los errores que arrojan los golpes , para obtener más información.
  • Siempre se recomienda compilar su código para la arquitectura de la GPU que está utilizando. Entonces, si tiene una GPU cc2.0, compile con -arch=sm_20 . Si tiene una GPU cc3.0, compile con -arch=sm_30 etc.
  • Finalmente, se recomienda construir un proyecto de 64 bits. En Windows, debe seleccionar un lanzamiento / proyecto x64.