|
1 | 1 | FROM ubuntu:24.04@sha256:3f85b7caad41a95462cf5b787d8a04604c8262cdcdf9a472b8c52ef83375fe15 |
2 | 2 |
|
3 | 3 | # Get basic dependencies from Ubuntu repositories |
4 | | -RUN apt update && apt -y install wget gpg git cmake ninja-build \ |
5 | | - gcc-12 libstdc++-12-dev libsdl2-dev \ |
| 4 | +ARG DEBIAN_FRONTEND=noninteractive |
| 5 | +RUN apt update \ |
| 6 | + && apt -y install wget gpg git cmake ninja-build g++ libsdl2-dev \ |
6 | 7 | && apt clean |
7 | 8 |
|
8 | 9 | # Install nvcc (dependency for compiling for a CUDA target) |
9 | | -ARG CUDA_VERSION=12-4 |
| 10 | +ARG CUDA_VERSION=12-8 |
10 | 11 | RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb \ |
11 | 12 | && dpkg -i cuda-keyring_1.0-1_all.deb && rm cuda-keyring_1.0-1_all.deb \ |
12 | 13 | && apt update && apt -y install cuda-nvcc-${CUDA_VERSION} && apt clean |
13 | 14 |
|
14 | 15 | # Install ROCm device libs (dependency for compiling for a HIP target) |
15 | | -ARG ROCM_VERSION=5.4.3 |
| 16 | +ARG ROCM_VERSION=6.2.4 |
16 | 17 | RUN wget https://repo.radeon.com/rocm/rocm.gpg.key -O - \ |
17 | 18 | | gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null \ |
18 | 19 | && echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/${ROCM_VERSION} jammy main" \ |
19 | 20 | | tee /etc/apt/sources.list.d/rocm.list \ |
20 | | - && apt update && apt -y install rocm-device-libs && apt clean |
| 21 | + && apt update && apt -y install rocm-device-libs${ROCM_VERSION} && apt clean |
21 | 22 |
|
22 | | -# Install DPC++ and remove parts we don't need to reduce the container size |
23 | | -ARG ONEAPI_VERSION=2024.1 |
24 | | -RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ |
25 | | - | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null \ |
26 | | - && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ |
27 | | - | tee /etc/apt/sources.list.d/oneAPI.list \ |
28 | | - && apt update && apt -y install intel-oneapi-compiler-dpcpp-cpp-${ONEAPI_VERSION} \ |
29 | | - && apt clean \ |
30 | | - && cd /opt/intel/oneapi \ |
31 | | - && rm -rf conda_channel debugger dev-utilities dpl compiler/latest/linux/lib/oclfpga |
| 23 | +# Download DPC++ nightly release |
| 24 | +ARG DPCPP_NIGHTLY=2025-03-06 |
| 25 | +RUN mkdir /opt/dpcpp \ |
| 26 | + && wget -q -P /opt/dpcpp https://github.com/intel/llvm/releases/download/nightly-${DPCPP_NIGHTLY}/sycl_linux.tar.gz \ |
| 27 | + && tar -C /opt/dpcpp -xzf /opt/dpcpp/sycl_linux.tar.gz \ |
| 28 | + && rm /opt/dpcpp/sycl_linux.tar.gz |
32 | 29 |
|
33 | 30 | # Set up the environment |
34 | | -ENV ONEAPI_ROOT=/opt/intel/oneapi |
35 | | -ENV CMPLR_ROOT=${ONEAPI_ROOT}/compiler/latest |
36 | | -ENV PATH=${CMPLR_ROOT}/bin:${CMPLR_ROOT}/bin/compiler:${PATH} |
37 | | -ENV CPATH=${CMPLR_ROOT}/include:${CPATH} |
38 | | -ENV LIBRARY_PATH=${CMPLR_ROOT}/lib:${LIBRARY_PATH} |
39 | | -ENV LD_LIBRARY_PATH=${CMPLR_ROOT}/lib:${LD_LIBRARY_PATH} |
40 | | -ENV HIP_DEVICE_LIB_PATH=/usr/lib/x86_64-linux-gnu/amdgcn/bitcode |
41 | | - |
42 | | -# Set up entry point |
43 | | -ENTRYPOINT [] |
44 | | -CMD /bin/bash |
| 31 | +ENV DPCPP_ROOT=/opt/dpcpp |
| 32 | +ENV PATH=${DPCPP_ROOT}/bin:${PATH} |
| 33 | +ENV CPATH=${DPCPP_ROOT}/include:${CPATH} |
| 34 | +ENV LIBRARY_PATH=${DPCPP_ROOT}/lib:${LIBRARY_PATH} |
| 35 | +ENV LD_LIBRARY_PATH=${DPCPP_ROOT}/lib:${LD_LIBRARY_PATH} |
| 36 | +ENV HIP_DEVICE_LIB_PATH=/opt/rocm/amdgcn/bitcode |
0 commit comments