$ cat cges.cpp
#include <cuda_runtime.h>
#include <iostream>
int main(){
for (int i = 0; i < 999; i++)
std::cout << i << " : " << cudaGetErrorString((cudaError_t)i) << std::endl;
}
$ g++ cges.cpp -o cges -I/usr/local/cuda/include -L/usr/local/cuda/lib64 -lcudart
$ ./cges | grep "driver shutting"
4 : driver shutting down
$
The errors are all enumerated in /usr/local/cuda/include/driver_types.h
The description for that error in driver_types.h is:
/**
* This indicates that a CUDA Runtime API call cannot be executed because
* it is being called during process shut down, at a point in time after
* CUDA driver has been unloaded.
*/
cudaErrorCudartUnloading = 4,