0

I'm getting "CudaDeviceSynchronize returned error code 75 after running some kernel"

(sounds like something simple missing in my code)

BUT I failed to find any reference/Q&A/Topic about that code and cuda-memcheck ony refers to other errors, not the one that generated error code 75.

I was wondering is there any CUDA built-in function to describe this code?

or any official/unofficial (online) reference that lists the error codes ?

Thank you ! :)

Ardeshir Izadi
  • 955
  • 1
  • 7
  • 25

1 Answers1

1
  1. Find the function in cuda doc. CudaDeviceSynchronize is described here as:

__host__ ​ __device__ ​cudaError_t cudaDeviceSynchronize ( void )

  1. So your error code 75 is of type cudaError_t.

  2. Find cudaError_t enum definition in cuda headers. It is in include/driver_types.h. And got error 75

:

/**
* While executing a kernel, the device encountered an instruction
* which can only operate on memory locations in certain address spaces
* (global, shared, or local), but was supplied a memory address not
* belonging to an allowed address space.
* The context cannot be used, so it must be destroyed (and a new one should be created).
* All existing device memory allocations from this context are invalid
* and must be reconstructed if the program is to continue using CUDA.
*/
cudaErrorInvalidAddressSpace          =     75,
halfelf
  • 9,737
  • 13
  • 54
  • 63
  • You just learnt a man how to fish :) Thanks ! I was assigning a locally declared non-pointer variable to an element of a global array. – Ardeshir Izadi Jan 07 '17 at 04:35