|Core Setup and Testing||Nondefault Installation|
|Further Setup and Configuration||Common Errors|
|Updating CUDA Resources|
You should confirm that you have GPU hardware supported by CUDA. If you are not certain, you can see the list of hardware supported in the "GPU Hardware" section. In addition, you should check that your operating system is supported. If you do not have supported hardware, you will not be able to fully use CUDALink.
The CUDA installation packages can be found on the CUDA Downloads Page.
The function CUDAToolkitCompatibilityInformation checks if CUDALink is compatible with the user installed NVIDIA CUDA Toolkit:
If CUDAQ does not return True, CUDALink will not work. However, you might be able to configure your machine to fix this. The rest of this section describes steps you can carry out to try and enable CUDALink.
For CUDALink to work, you need to have an up-to-date driver. You can check this for your system by running CUDADriverVersion.
In addition, you can check the driver information directly from your computer, as described in "Checking the NVIDIA Driver".
You can confirm that CUDALink is working by executing CUDAQ and seeing that this returns True. However, some further configuration and testing may be useful, in particular if you want to use CUDAFunctionLoad.
More detailed information on your hardware is available from the Links section of SystemInformation. A sample is shown below.
This gives detailed information about your hardware. For example, you can tell how many cores are available and if double-precision computations are supported. You can also see how many CUDA devices you have installed on your machine and which is the fastest.
CUDALink performs many system checks, testing to see if it is supported. The NVIDIA CUDA Toolkit root directory, NVIDIA driver library, NVIDIA driver version, CUDA library path, CUDA library version, and the ability to load the CUDALink runtime libraries are checked before a function such as CUDAQ is called. If any fail, either because the file does not exist in the expected location or because the file is not of a supported version, then an error message is returned, and CUDAQ fails.
By default, CUDALink searches the standard installation location. However, you can set system environment variables to choose different locations. More often than not, if the system has a CUDA-capable card and the proper software is installed, then you may have installed the driver, or the NVIDIA CUDA Toolkit in a nonstandard location. The following section details the environment variables checked.
|"Windows-x86-64"||"C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.2"|
This is the absolute path to the NVIDIA driver library. The library is installed by the NVIDIA driver package downloaded from the NVIDIA driver download website.
This is the absolute path to the CUDA library. The library is installed by the NVIDIA driver package downloaded from the NVIDIA driver download website.
If the compiler is not in a standard installation, then the "CompilerIntallation" option can be given to use the nondefault installation, as described in "Setting a Different Compiler" .
Laptops that perform automatic video card switching (between an Intel and an NVIDIA card, for example) may interfere with CUDALink's initialization of the CUDA device. On such systems, users can either disable the video card switching behavior, or use tools that allow the user to switch from the menu bar (search the web for "dual-GPU switch" followed by the operating system).
A recommended alternative to VNC is to set up remote kernels. This allows you to get the interactivity of the front end while running the kernel on a remote CUDA machine. Information on how to set up remote kernels is found in the
Most virtual machines emulate the video card, so you cannot access the GPU for CUDA computation. Unless your virtual machine software supports GPU computation, and the machine is configured to allow the virtual machine to use the GPU, CUDALink is not supported in a virtual machine.
CUDALink is supported on multiple devices using the Wolfram Language's parallel tools. Worker kernels can be launched for each GPU. The maximum number of GPUs supported is limited only by the number of kernels a user can launch.
CUDALink is supported on headless terminals, although sometimes on Linux, due to system configuration, the NVIDIA devices do not get the proper permission. For more information on configuring CUDALink for use on headless terminals, refer to