Skip to content

cuda

Recipe card from the charly-distros plugin (Images — the deployable catalog).

CUDA compiler, cuDNN, ONNX Runtime, and GPU development libraries. Depends on the nvidia candy for runtime support (driver libs, nvidia-ctk).

Property Value
Install files task:, charly.yml
Depends nvidia, ffmpeg
Variable Value
CUDA_HOME /usr

RPM: cuda-nvcc, cuda-cudart-devel, cuda-cudart-static, cuda-nvrtc-devel, cuda-cupti-devel, cuda-cccl-devel, cuda-cudnn, libcurand-devel, libcufile-devel, onnxruntime, libaio-devel, cpio

PAC: cuda, cudnn, python-onnxruntime-cpu

Note: FFmpeg codec libraries are provided via the ffmpeg dependency candy rather than installed directly. On Fedora, CUDA packages come from the negativo17 fedora-nvidia repo (added by the nvidia candy); on Arch/CachyOS they come from the standard repos.

The candy is multi-distro. The distro.arch section installs cuda, cudnn, and python-onnxruntime-cpu from the Arch repos. Arch installs CUDA under /opt/cuda, while CUDA_HOME is /usr, so the Arch path symlinks /opt/cuda/* into /usr/* to stitch the Arch layout into the Fedora layout. With that stitch in place, the same nvcc, header, and library paths resolve identically on Fedora and on Arch/CachyOS.

Extracts cuDNN headers from cuda-cudnn-devel RPM (bypasses driver dependency via rpm2cpio) on Fedora; the /opt/cuda → /usr symlink stitch runs on Arch/CachyOS.

charly.yml
nvidia:
base: fedora-nonfree
candy:
- nvidia
- cuda
  • /charly-image:layer — candy authoring reference (charly.yml schema, task verbs, service declarations)
  • /charly-check:check — declarative testing (check: block, charly check box, charly check live)