GPU accelerated, multi-arch (linux/amd64
, linux/arm64/v8
) docker images:
glcr.b-data.ch/cuda/r/ver
glcr.b-data.ch/cuda/r/base
glcr.b-data.ch/cuda/r/tidyverse
glcr.b-data.ch/cuda/r/verse
glcr.b-data.ch/cuda/r/geospatial
glcr.b-data.ch/cuda/r/qgisprocess
(versions ≥ 4.3.0)
Images available for R versions ≥ 4.2.2.
Build chain
The same as the R docker stack.
Features
glcr.b-data.ch/cuda/r/ver:*-devel
serves as parent image for
glcr.b-data.ch/jupyterlab/cuda/r/base
.
Otherwise the same as the R docker stack plus
- CUDA runtime, CUDA math libraries, NCCL and cuDNN
- TensortRT and TensorRT plugin libraries
- NVBLAS-enabled
R_
andRscript_
The same as the R docker stack plus
- NVIDIA GPU
- NVIDIA Linux driver
- NVIDIA Container Toolkit
ℹ️ The host running the GPU accelerated images only requires the NVIDIA driver, the CUDA toolkit does not have to be installed.
To install the NVIDIA Container Toolkit, follow the instructions for your platform:
latest:
stage 1
docker build \
--build-arg BASE_IMAGE=ubuntu \
--build-arg BASE_IMAGE_TAG=22.04 \
--build-arg CUDA_IMAGE=nvidia/cuda \
--build-arg CUDA_VERSION=12.6.2 \
--build-arg CUDA_IMAGE_SUBTAG=runtime-ubuntu22.04 \
--build-arg R_VERSION=4.4.2 \
--build-arg PYTHON_VERSION=3.12.7 \
-t cuda/r/ver \
-f ver/latest.Dockerfile .
stage 2
docker build \
--build-arg BUILD_ON_IMAGE=cuda/r/ver \
--build-arg CUDNN_VERSION=8.9.7.29 \
--build-arg CUDNN_CUDA_VERSION_MAJ_MIN=12.2 \
--build-arg LIBNVINFER_VERSION=10.6.0.26 \
--build-arg LIBNVINFER_CUDA_VERSION_MAJ_MIN=12.6 \
--build-arg CUDA_IMAGE_FLAVOR=runtime \
-t cuda/r/ver \
-f cuda/latest.Dockerfile .
version:
stage 1
docker build \
--build-arg BASE_IMAGE=ubuntu \
--build-arg BASE_IMAGE_TAG=22.04 \
--build-arg CUDA_IMAGE=nvidia/cuda \
--build-arg CUDA_IMAGE_SUBTAG=[cudnn8-]runtime-ubuntu22.04 \
-t cuda/r/ver:MAJOR.MINOR.PATCH \
-f ver/MAJOR.MINOR.PATCH.Dockerfile .
stage 2
docker build \
--build-arg BUILD_ON_IMAGE=cuda/r/ver:MAJOR.MINOR.PATCH \
--build-arg CUDA_IMAGE_FLAVOR=runtime \
-t cuda/r/ver:MAJOR.MINOR.PATCH \
-f cuda/MAJOR.MINOR.PATCH.Dockerfile .
For MAJOR.MINOR.PATCH
≥ 4.2.2
.
self built:
docker run -it --rm \
--gpus '"device=all"' \
cuda/r/ver[:MAJOR.MINOR.PATCH]
from the project's GitLab Container Registries:
docker run -it --rm \
--gpus '"device=all"' \
IMAGE[:MAJOR[.MINOR[.PATCH]]]
IMAGE
being one of
glcr.b-data.ch/cuda/r/ver
glcr.b-data.ch/cuda/r/base
glcr.b-data.ch/cuda/r/tidyverse
glcr.b-data.ch/cuda/r/verse
glcr.b-data.ch/cuda/r/geospatial
glcr.b-data.ch/cuda/r/qgisprocess
See Notes for tweaks.