Can you intercept CUDA calls ?

OpenGL/DirectX calls can be intercepted with tweaked dll.
However as far as I know, they are no tweaked CUDA dll for that purpose (correct if I’m wrong).

So can I assume CUDA is safe against reverse engineering ?

No it is possible to do. As several projects have demonstrated, in CUDA 2.1, cuda.so corresponds to the header file cuda.h and cudart.so corresponds to cuda_runtime_api.h . Most of the function headers are there and the API documentation comes with descriptions of what each function should do.

The inclusion of comprehensive documentation and header files would suggest that there is very little effort taken to prevent reverse engineering.

Are you afraid that people are going to intercept your kernel calls through the driver and reverse engineer the code? No, you can’t protect against that since you could always tweak the driver yourself, install that version, and intercept it. Even if you couldn’t, someone who was really determined could use a hardware monitor of some type and capture the traffic to and from the card.

In short, I wouldn’t worry about it too much. Someone who is willing to go to such lengths is probably able to reverse engineer whatever they want, so no matter what you do, it’s not going to stop them. Other than those types of people, it shouldn’t really matter.