1- FROM nvidia/cuda:12.6.0-devel-ubuntu24.04
2-
3- # Set non-interactive frontend for apt-get to avoid prompts
4- ENV DEBIAN_FRONTEND=noninteractive
5-
6- # Change default shell to bash
7- SHELL ["/bin/bash" , "-c" ]
8-
9- # Update packages, install build dependencies, and the specified version of CMake
10- RUN apt-get update && \
11- apt-get upgrade -y && \
12- apt-get install -y wget make git gfortran libomp-18-dev libboost-all-dev clang-18 clang-tools-18 && \
13- wget https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0-linux-x86_64.sh && \
14- chmod +x cmake-3.28.0-linux-x86_64.sh && \
15- ./cmake-3.28.0-linux-x86_64.sh --skip-license --prefix=/usr/local && \
16- rm cmake-3.28.0-linux-x86_64.sh
17-
18-
19- # Set the working directory
20- WORKDIR /gpu-flopbench
21-
22- # Copy the requirements file into the container
23- COPY ./requirements.txt ./requirements.txt
24-
25- # install miniconda
26- RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
27- bash ./Miniconda3-latest-Linux-x86_64.sh -b -p ~/anaconda3 && \
28- rm ./Miniconda3-latest-Linux-x86_64.sh
29-
30- RUN source ~/anaconda3/bin/activate && \
31- conda init --all && \
32- conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
33- conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
34-
35- RUN source ~/anaconda3/bin/activate && \
36- conda create --name "gpu-flopbench" python=3.11.11 && \
37- conda activate gpu-flopbench
38-
39- RUN source ~/anaconda3/bin/activate && \
40- conda activate gpu-flopbench && \
41- conda install --channel conda-forge pygraphviz
42-
43- RUN source ~/anaconda3/bin/activate && \
44- conda activate gpu-flopbench && \
45- pwd && ls -lah && pip install -r ./requirements.txt
46-
47- # Copy the source code into the container
48- COPY . .
49-
50- # Config with CMake, and build all the codes
51- # RUN source ./runBuild.sh
52-
53- # Verify that executables were built
1+ FROM nvidia/cuda:12.6.0-devel-ubuntu24.04
2+
3+ # Set non-interactive frontend for apt-get to avoid prompts
4+ ENV DEBIAN_FRONTEND=noninteractive
5+
6+ # Change default shell to bash
7+ SHELL ["/bin/bash" , "-c" ]
8+
9+ # Update packages, install build dependencies, and the specified version of CMake
10+ RUN apt-get update && \
11+ apt-get upgrade -y && \
12+ apt-get install -y wget make git gfortran libomp-18-dev libboost-all-dev clang-18 clang-tools-18 && \
13+ wget https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0-linux-x86_64.sh && \
14+ chmod +x cmake-3.28.0-linux-x86_64.sh && \
15+ ./cmake-3.28.0-linux-x86_64.sh --skip-license --prefix=/usr/local && \
16+ rm cmake-3.28.0-linux-x86_64.sh
17+
18+
19+ # Set the working directory
20+ WORKDIR /gpu-flopbench
21+
22+ # Copy the requirements file into the container
23+ COPY ./requirements.txt ./requirements.txt
24+
25+ # install miniconda
26+ RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
27+ bash ./Miniconda3-latest-Linux-x86_64.sh -b -p ~/anaconda3 && \
28+ rm ./Miniconda3-latest-Linux-x86_64.sh
29+
30+ RUN source ~/anaconda3/bin/activate && \
31+ conda init --all && \
32+ conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
33+ conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
34+
35+ RUN source ~/anaconda3/bin/activate && \
36+ conda create --name "gpu-flopbench" python=3.11.11 && \
37+ conda activate gpu-flopbench
38+
39+ RUN source ~/anaconda3/bin/activate && \
40+ conda activate gpu-flopbench && \
41+ conda install --channel conda-forge pygraphviz
42+
43+ RUN source ~/anaconda3/bin/activate && \
44+ conda activate gpu-flopbench && \
45+ pwd && ls -lah && pip install -r ./requirements.txt
46+
47+ # Copy the source code into the container
48+ COPY . .
49+
50+ # Config with CMake, and build all the codes
51+ # RUN source ./runBuild.sh
52+
53+ # Verify that executables were built
5454# RUN test -n "$(find build -maxdepth 1 -type f -executable)" || (echo "No executables found in ./build" && exit 1)
0 commit comments