Skip to content

Commit d4a7901

Browse files
authored
Update devcontainer Dockerfile, bump CUDA version to 13, split cuDNN into v8 and v9 (#536)
1 parent 13650da commit d4a7901

File tree

60 files changed

+12139
-5803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+12139
-5803
lines changed

.devcontainer/Dockerfile

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
FROM nvidia/cuda:12.9.1-base-ubuntu24.04
1+
FROM nvidia/cuda:13.0.1-base-ubuntu24.04
22

3-
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
3+
RUN DEBIAN_FRONTEND=noninteractive apt update -y && DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
44
wget \
55
build-essential \
66
cmake \
@@ -18,38 +18,34 @@ RUN wget https://apt.llvm.org/llvm.sh && \
1818
./llvm.sh ${LLVM_VERSION}
1919

2020
# Feel free to change to a newer version if you have a newer verison on your host
21-
ARG CUDA_PKG_VERSION=12-9
21+
ARG CUDA_PKG_VERSION=13-0
2222
# Docker <-> host driver version compatiblity is newer host <-> older docker
23-
# We don't care about a specific driver version, so pick oldest 5XX compatible
24-
ARG CUDA_DRIVER=570
25-
# It used to be possible to install cudnn8 and cudnn9 side-by-side, but now cudnn9 explicitly
26-
# conflicts with cudnn8, we will resolve it later if needed
27-
# RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/libcudnn8_8.9.7.29-1+cuda12.2_amd64.deb && \
28-
# wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb && \
29-
# dpkg -i libcudnn8_8.9.7.29-1+cuda12.2_amd64.deb libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb && \
30-
# rm libcudnn8_8.9.7.29-1+cuda12.2_amd64.deb libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb
31-
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
23+
# Driver 580+ is required for CUDA 13
24+
ARG CUDA_DRIVER=580
25+
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb && \
26+
dpkg-deb -R libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb /opt && \
27+
rm libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb
28+
RUN DEBIAN_FRONTEND=noninteractive apt update -y && DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
3229
# CUDA headers need it for interop
3330
libgl-dev libegl-dev libvdpau-dev \
34-
nvidia-utils-${CUDA_DRIVER} \
31+
nvidia-headless-no-dkms-${CUDA_DRIVER}-open \
3532
cuda-cudart-dev-${CUDA_PKG_VERSION} \
3633
cuda-nvml-dev-${CUDA_PKG_VERSION} \
3734
cuda-cudart-${CUDA_PKG_VERSION} \
3835
cuda-profiler-api-${CUDA_PKG_VERSION} \
3936
cuda-nvcc-${CUDA_PKG_VERSION} \
40-
# libcudnn8-dev \
4137
cudnn9-cuda-${CUDA_PKG_VERSION} \
4238
libcufft-dev-${CUDA_PKG_VERSION} \
4339
libcublas-dev-${CUDA_PKG_VERSION} \
4440
libcusparse-dev-${CUDA_PKG_VERSION}
4541

46-
ARG ROCM_VERSION=6.4.3
42+
ARG ROCM_VERSION=6.4.4
4743
RUN mkdir --parents --mode=0755 /etc/apt/keyrings && \
4844
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
4945
gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null && \
5046
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${ROCM_VERSION} noble main" > /etc/apt/sources.list.d/rocm.list && \
5147
echo 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' > /etc/apt/preferences.d/rocm-pin-600 && \
52-
DEBIAN_FRONTEND=noninteractive apt update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
48+
DEBIAN_FRONTEND=noninteractive apt update -y && DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
5349
rocminfo \
5450
rocm-gdb \
5551
rocm-smi-lib amd-smi-lib \

Cargo.lock

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ members = [
2525
"zluda_cache",
2626
"zluda_common",
2727
"zluda_dnn",
28+
"zluda_dnn8",
29+
"zluda_dnn9",
2830
"zluda_trace",
2931
"zluda_trace_blas",
3032
"zluda_trace_blaslt",

cuda_macros/src/cublas.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ extern "system" {
7777
handle: cuda_types::cublas::cublasHandle_t,
7878
smCountTarget: ::core::ffi::c_int,
7979
) -> cuda_types::cublas::cublasStatus_t;
80+
#[must_use]
81+
fn cublasGetEmulationStrategy(
82+
handle: cuda_types::cublas::cublasHandle_t,
83+
emulationStrategy: *mut cuda_types::cublas::cublasEmulationStrategy_t,
84+
) -> cuda_types::cublas::cublasStatus_t;
85+
#[must_use]
86+
fn cublasSetEmulationStrategy(
87+
handle: cuda_types::cublas::cublasHandle_t,
88+
emulationStrategy: cuda_types::cublas::cublasEmulationStrategy_t,
89+
) -> cuda_types::cublas::cublasStatus_t;
8090
fn cublasGetStatusName(
8191
status: cuda_types::cublas::cublasStatus_t,
8292
) -> *const ::core::ffi::c_char;

0 commit comments

Comments
 (0)