Свопинг указателей

Здравствуйте! Возникла проблема с обменом указателей на глобальную память устройства. Можно ли это вообще реализовать, потому что, например, следующий код не дает нужного результата:

  1. __host__
  2. void Swap(void** ptr1, void** ptr2){
  3.     void* tmp = *ptr1;
  4.     *ptr1 = *ptr2;
  5.     *ptr2 = tmp;
  6. }
  7.  
  8. //вызов из какой-нибудь хостовой функции
  9. Swap((void**)&dev_ptr_1, (void**)&dev_ptr_2);

Forums: