CUDA (nd4j-cuda)
Setting up the nd4j-cuda GPU backend — CUDA versions, cuDNN integration, multi-GPU, and GPU memory management
Maven Dependencies
CUDA version in the artifact name
<properties>
<dl4j.version>1.0.0-M2.1</dl4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-cuda-11.6-platform</artifactId>
<version>${dl4j.version}</version>
</dependency>
</dependencies>Minimal: explicit classifier
Classifier
Platform
-compile classifier (1.0.0-rewrite)
-compile classifier (1.0.0-rewrite)Classifier
Description
Using the DL4J BOM
CUDA Version Compatibility
ND4J Artifact
Required CUDA Runtime
Minimum Driver Version (Linux)
cuDNN Integration
GPU Memory Management
maxbytes: capping VRAM usage
Memory mode: IMMEDIATE vs. DELAYED
GPU memory fragmentation
Multi-GPU Configuration
Device affinity per thread
Multi-GPU with DL4J ParallelWrapper
Listing available GPUs
Device Selection
Checking GPU Backend Availability
Common initialization errors
Error
Cause
Fix
Performance Tips
Use FLOAT, not DOUBLE, on GPU
Minimize host-device transfers
Batch size and occupancy
Quick Reference
Goal
Setting
See Also
Last updated
Was this helpful?