HPC Magazine Février 2014 - L'Atelier CUDA : la mémoire unifiée avec CUDA 6

Listing 8 - Passage d'objets par valeur ou par référence.


// Pass-by-reference version
__global__ void kernel_by_ref(dataElem &data) { ... }

// Pass-by-value version
__global__ void kernel_by_val(dataElem data) { ... }

int main(void) {
  dataElem *data = new dataElem;
  ...
  // pass data to kernel by reference
  kernel_by_ref<<>>(*data);

  // pass data to kernel by value -- this will create a copy
  kernel_by_val<<>>(*data);
}