// Compile with: // // nvcc -gencode arch=compute_50,code=compute_50 -rdc true -ptx jitlink.cu // // using the oldest supported toolkit version (10.2 at the time of writing). extern "C" __device__ int bar(int *out, int a) { *out = a * 2; return 0; } // The out argument is necessary due to Numba's CUDA calling convention, which // always reserves the first parameter for a pointer to a returned value, even // if there is no return value. extern "C" __device__ int array_mutator(void *out, int *a) { a[0] = a[1]; return 0; }