2012-06-20 11 views

risposta

22

È possibile farlo utilizzando thrust::raw_pointer_cast. La classe di unità vettore ha una funzione di membro data che restituirà un thrust::device_ptr alla memoria detenuta dal vettore, che può essere gettato, qualcosa di simile:

thrust::device_vector<int> dv(10); 

int * dv_ptr = thrust::raw_pointer_cast(dv.data()); 

kernel<<<bl,tpb>>>(dv_ptr) 

(disclaimer: scritto in del browser, mai compilato, mai testato). C'è un esempio funzionante completo di questo incluso con la spinta: unwrap_pointer.cu

+0

Abbiamo bisogno di copiare quei dati indietro? Ora che dv_ptr ha i dati modificati da dv, cosa facciamo per copiarlo in dv? – RaenirSalazar

Problemi correlati