Redistribution of CUDA and cuDNN

Hello, I have few question about distribution of CUDA, cuDNN.


EULA of CUDA and SLA of cuDNN describes that we can redistribute DLLs with our application.

Does it mean copy DLLs from SDK and include DLLs to the application?



 ├─ Program Files


           ├─CUDA folder

           │   ├─ cudart.dll

           │   ├─ cuXXX.dll

           │        :


           ├─ our_app.exe

I am concerned about the risk of violating the redistribution terms of CUDA and cuDNN if I install CUDA SDK (select “Runtime” and “Development” option) to end-user’s PC.


“Attachment A” in EULA of CUDA describes that cudart.dll is redistributable file.

And then when I install SDK, cudart32 and cudart64 are installed, other XXX32.dll are not installed.

Do I have to distribute the cudart32 and cudart64 to use CUDA at 64-bit Windows?


Can I distribute the redistributable files of CUDA and cuDNN for PC which does not use CUDA?

I have two type of software, one uses CUDA, another does not use CUDA, and I want to make only one “common” installer.


When the SDK have already installed to end-user’s PC, is it safe to configure installer to delete the CUDA and cuDNN SDK files as a solution to delete CUDA and cuDNN SDK?


When we redistribute binary files of CUDA and cuDNN to end users, is it necessary to present license documents such as EULA or SLA to end users, to include them in applications, or to include NVIDIA’s copyright in our application?

If so, is it all right if we use the CUDA Toolkit EULA or cuDNN SLA as the license document to present or include in the application?

We fix the issue that we had installed CUDA/cuDNN SDK to PC and distribute SDK to end user.

We include CUDA and cuDNN DLLs to our application installer.
(we do not install these SDK to PC.)
The DLLs to be distributed to end users are those included in the DLL list in attachment A of CUDA EULA.
The installer uninstall the SDK if SDK is installed on the PC.