mirror of
https://github.com/versity/versitygw.git
synced 2026-08-16 20:26:16 +00:00
41 lines
1.6 KiB
Docker
41 lines
1.6 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
ARG CUDA_TAG=13.3.0-devel-rockylinux9
|
|
FROM --platform=linux/amd64 nvidia/cuda:${CUDA_TAG}
|
|
|
|
ARG CUDA_TAG
|
|
ARG CUOBJCLIENT_PKG_SUFFIX=
|
|
|
|
# Install build prerequisites and cuObject client development packages.
|
|
RUN set -eux; \
|
|
cuda_version="${CUDA_TAG%%-*}"; \
|
|
cuda_suffix="$(printf '%s' "$cuda_version" | awk -F. '{print $1"-"$2}')"; \
|
|
pkg_suffix="${CUOBJCLIENT_PKG_SUFFIX:-$cuda_suffix}"; \
|
|
dnf -y install 'dnf-command(config-manager)'; \
|
|
dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo; \
|
|
dnf -y makecache; \
|
|
dnf -y install \
|
|
libcuobjclient-${pkg_suffix} \
|
|
libcuobjclient-devel-${pkg_suffix} \
|
|
rdma-core-devel \
|
|
numactl-libs \
|
|
gcc \
|
|
gcc-c++ \
|
|
make \
|
|
golang \
|
|
git \
|
|
findutils \
|
|
which; \
|
|
dnf clean all
|
|
|
|
WORKDIR /workspace
|
|
|
|
# Match current package install layout discovered in the NVIDIA Rocky image.
|
|
ENV CUOBJ_LIB_DIR=/usr/local/cuda/targets/x86_64-linux/lib
|
|
ENV CUOBJ_CLIENT_INC_DIR=/usr/include
|
|
ENV CUOBJ_CUDA_INC_DIR=/usr/local/cuda/include
|
|
ENV CUOBJCLIENT_CGO_LDFLAGS="-L/usr/local/cuda/targets/x86_64-linux/lib -Wl,-rpath,/usr/local/cuda/targets/x86_64-linux/lib -Wl,-rpath-link,/usr/local/cuda/targets/x86_64-linux/lib"
|
|
|
|
# Default command builds GPU-mode cuobjtest in a mounted workspace checkout.
|
|
CMD ["bash", "-lc", "make cuobjtest-gpu CUOBJ_LIB_DIR=$CUOBJ_LIB_DIR CUOBJ_CLIENT_INC_DIR=$CUOBJ_CLIENT_INC_DIR CUOBJ_CUDA_INC_DIR=$CUOBJ_CUDA_INC_DIR CUOBJCLIENT_CGO_LDFLAGS=\"$CUOBJCLIENT_CGO_LDFLAGS\""]
|