De la poussée::device_vector de pointeur brut et à l'arrière?
Je comprends comment passer d'un vecteur à un pointeur brut, mais im sauter un battement sur la façon de revenir en arrière.
//our host vector
thrust::host_vector<dbl2> hVec;
//pretend we put data in it here
//get a device_vector
thrust::device_vector<dbl2> dVec = hVec;
//get the device ptr
thrust::device_ptr devPtr = &d_vec[0];
//now how do i get back to device_vector?
thrust::device_vector<dbl2> dVec2 = devPtr; //gives error
thrust::device_vector<dbl2> dVec2(devPtr); //gives error
Quelqu'un peut m'expliquer/m'indiquer un exemple?
OriginalL'auteur madmaze | 2011-10-06
Vous devez vous connecter pour publier un commentaire.
Vous d'initialisation et de remplir la poussée des vecteurs comme des conteneurs standard, c'est à dire via les itérateurs:
Dans votre exemple simple, il n'y a pas besoin d'aller le détour par des pointeurs, comme vous pouvez simplement copier l'autre récipient directement. En général, si vous avez un pointeur vers le début d'un tableau, vous pouvez utiliser la version pour
v3
si vous fournissez la taille de la matrice.dbl2* ptrDVec = poussée::raw_pointer_cast(&d_vec[0]); est-il un moyen de revenir à un device_vector à partir de cela?
Que voulez-vous dire "get back" - n'est-il pas déjà un dispositif de pointeur? Qu'est-ce exactement avez-vous besoin?
J'ai besoin d'être en mesure d'enregistrer un pointeur/référence à un device_vector(dire que j'ai dVec1 et dVec2), puis faire un peu les choses et de faire certaines conditions et dans la fin, je veux exprimés soit le pointeur de dVec1 ou dVec2 comme device_vector int dVec3.. l'idée est de passer le dVec autour par référence et à somepoint derefrencing eux et de les utiliser comme device_vectors de nouveau
OriginalL'auteur Kerrek SB
http://code.google.com/p/thrust/source/browse/examples/cuda/wrap_pointer.cu
Poussée fournit un bon exemple de cette question.
Et obtenir le pointeur brut de la poussée des conteneurs est comme déjà répondu par vous-même..
OriginalL'auteur phoad
Il ne l'est pas. Bien que vous devriez être en mesure de réutiliser la première vecteur variable.
OriginalL'auteur Slava