Repository navigation
40. CUDA Support
Wheelly supports GPU acceleration through NVIDIA CUDA 11.6 and Deeplearning4j (DL4J).
This page describes the requirements and configuration needed to run Wheelly with NVIDIA GPU acceleration.
Wheelly is a Java-based application and uses Deeplearning4j for deep learning workloads.
The CUDA execution stack is:
flowchart TD
A[Wheelly] --> B[Deeplearning4j]
B --> C[CUDA 11.6]
C --> D[NVIDIA GPU]
The following components are required for CUDA-enabled execution:
| Component | Requirement |
|---|---|
| Wheelly | CUDA-enabled version |
| Java / JDK | Version supported by Wheelly |
| Deeplearning4j | CUDA-compatible version |
| NVIDIA Driver | Compatible with CUDA 11.6 |
| CUDA Toolkit | 11.6 |
| GPU | NVIDIA CUDA-compatible GPU |
| Python | Not required |
Important: CUDA compatibility depends on the complete combination of NVIDIA drivers, CUDA libraries, and the Deeplearning4j version used by Wheelly.
Wheelly requires CUDA 11.6 for NVIDIA GPU acceleration.
CUDA 11.6 officially supports Microsoft Windows 11 on x86_64 systems. Visual Studio 2022 is supported as a CUDA compiler environment. NNVIDIA Docs
Before installing CUDA, verify that the system has a CUDA-capable NVIDIA GPU.
Open Device Manager:
- Press
Win + X. - Select Device Manager.
- Expand Display adapters.
- Verify that an NVIDIA GPU is listed.
Make sure that an appropriate NVIDIA driver is installed before configuring Wheelly.
Open PowerShell or Command Prompt and run:
nvidia-smiIf the driver is correctly installed, the command displays information about the NVIDIA GPU and driver.
Important: The NVIDIA driver and CUDA Toolkit are separate components. The driver must be compatible with the CUDA version required by Wheelly.
CUDA 11.6 is an archived NVIDIA release.
Download the CUDA 11.6 Toolkit from the official NVIDIA CUDA archive:
https://developer.nvidia.com/cuda-11-6-0-download-archive
Select:
Operating System: Windows
Architecture: x86_64
Version: Windows 11
Installer Type: exe
Run the downloaded CUDA installer as Administrator.
During installation:
- Accept the NVIDIA license agreement.
- Select Custom (Advanced) if you want to control the installed components.
- Install the CUDA Toolkit.
- Keep the default CUDA installation directory unless there is a specific reason to change it.
The default installation directory is:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
The CUDA 11.6 Windows installer can also install the NVIDIA display driver if a suitable driver is not already installed. NNVIDIA Docs+1
Open a new Command Prompt or PowerShell window after the installation.
Run:
nvcc --versionThe output should contain:
Cuda compilation tools, release 11.6
You can also verify the CUDA installation directory:
Test-Path "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6"The command should return:
True
Run:
nvidia-smiThe GPU should be listed without errors.
For example:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI Driver Version |
+-----------------------------------------------------------------------------+
| GPU Name |
+-----------------------------------------------------------------------------+
Note: The CUDA version displayed by
nvidia-smirepresents the CUDA version supported by the installed driver. It is not necessarily the CUDA Toolkit version installed on the system. Usenvcc --versionto verify the Toolkit version.
The CUDA installer normally configures the required environment variables.
Verify the CUDA path:
$env:CUDA_PATHFor CUDA 11.6, it should point to:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
You can also check the CUDA compiler:
where.exe nvccThe result should point to the CUDA 11.6 installation, for example:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe
If nvcc is not found, check that the following directory is included in the system PATH:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin
At this point, the following commands should work:
nvidia-sminvcc --versionExpected configuration:
flowchart TD
A[Windows 11] --> B[NVIDIA GPU]
B --> C[NVIDIA Driver]
C --> D[CUDA 11.6]
D --> E[Deeplearning4j CUDA Backend]
E --> F[Wheelly]
F --> G[Java / JDK]
The basic installation is complete when:
-
nvidia-smidetects the NVIDIA GPU; -
nvcc --versionreports CUDA 11.6; -
CUDA_PATHpoints to the CUDA 11.6 installation; - Wheelly can load the Deeplearning4j CUDA backend.
Avoid relying on whichever CUDA version happens to appear first in PATH.
For Wheelly, explicitly verify:
nvcc --versionand ensure that it reports:
release 11.6
You can inspect the installed CUDA directories with:
Get-ChildItem "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA"NVIDIA allows multiple CUDA Toolkit versions to coexist on Windows. The active version depends on the configured environment and application dependencies.
- CUDA Toolkit 11.6 Documentation
- CUDA 11.6 Installation Guide for Windows
- CUDA 11.6 Quick Start Guide
- CUDA 11.6 Download Archive
Wheelly relies on Deeplearning4j to execute deep learning operations.
For GPU execution, the CUDA-enabled Deeplearning4j backend must be available by adding the CUDA dependencies in maven pom.xml and remove the CPU backand
<!--
ND4J backend: every project needs one of these. The backend defines the hardware on which network training
will occur. "nd4j-native-platform" is for CPUs only (for running on all operating systems).
-->
<!--
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native</artifactId>
<version>${dl4j-master.version}</version>
</dependency>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native</artifactId>
<version>${dl4j-master.version}</version>
<classifier>windows-x86_64-avx2</classifier>
<classifier>linux-x86_64-avx512</classifier>
</dependency>
-->
<!-- CUDA ND4J backend (required) -->
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-cuda-11.6-platform</artifactId>
<version>${dl4j-master.version}</version>
</dependency>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-cuda-11.6</artifactId>
<version>${dl4j-master.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>Note: Do not copy this dependency blindly. The artifact name and dependency structure may vary between Deeplearning4j versions. Use the dependency configuration defined by the Wheelly release.
The reference configuration for Wheelly GPU execution is:
flowchart TD
A[Wheelly] --> B[Java / JDK]
A --> C[Deeplearning4j]
C --> D[CUDA Backend]
D --> E[CUDA 11.6]
E --> F[NVIDIA Driver]
F --> G[NVIDIA GPU]