diff --git a/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/Dockerfile b/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..9c55ddfe7ef31adc6887956ee69984c3dd701f5f --- /dev/null +++ b/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/Dockerfile @@ -0,0 +1,40 @@ +FROM ubuntu:24.04 + +ENV LINUX_CPP_COMPONENTS='intel-oneapi-compiler-dpcpp-cpp' +ENV LINUX_FORTRAN_COMPONENTS='intel-oneapi-compiler-fortran' +ENV LINUX_MKL_COMPONENTS='intel-oneapi-mkl' +ENV LINUX_MKL1_COMPONENTS='intel-oneapi-mkl-devel' + +RUN apt-get update +RUN DEBIAN_FRONTEND=noninteractive TZ=Europe/Paris apt-get install -y apt-utils wget pkg-config ca-certificates gnupg git python3-pip python3-venv openssh-client graphviz gnuplot curl zip unzip +#RUN DEBIAN_FRONTEND=noninteractive TZ=Europe/Paris apt-get install -y build-essential gfortran + +RUN apt-get install software-properties-common -y +RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y +RUN apt update +RUN apt install g++-14 gcc-14 gfortran-14 -y + +RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 14 --slave /usr/bin/g++ g++ /usr/bin/g++-14 --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-14 + +RUN update-alternatives --config gcc + + +RUN apt-get remove cmake -y +RUN python3 -m venv $HOME/.venv/utils +RUN $HOME/.venv/utils/bin/pip install --upgrade fypp ford "cmake==3.30.0" fprettify + +RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb +RUN dpkg -i cuda-keyring_1.1-1_all.deb +RUN apt-get update +RUN DEBIAN_FRONTEND=noninteractive TZ=Europe/Paris apt-get -y install cuda-12-6 + +COPY setup_apt_repo_linux_no_sudo.sh / +RUN /setup_apt_repo_linux_no_sudo.sh +RUN apt-get install -y ${LINUX_FORTRAN_COMPONENTS}-2024.2 ${LINUX_CPP_COMPONENTS}-2024.2 ${LINUX_MKL_COMPONENTS}-2024.2 ${LINUX_MKL1_COMPONENTS}-2024.2 +# +#RUN apt-get clean all +#RUN apt-cache pkgnames intel +#RUN apt-cache search intel + +RUN apt-get clean all +RUN export PATH=$HOME/.venv/utils/bin:$PATH diff --git a/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/README.md b/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4e7564c98d1057674e3e0668ccff6b673f2e9224 --- /dev/null +++ b/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/README.md @@ -0,0 +1,12 @@ +# Instruction to build and push the container on WUR Gitlab + +```shell +TOKEN=<generated_token_in_gitlad_with_read_registry_and_write_registry> +echo "$TOKEN" | sudo docker login docker-registry.wur.nl -u jeremie.vandenplas@wur.nl --password-stdin +sudo docker build -t docker-registry.wur.nl/vande018/containers/2024:ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6 . +sudo docker push docker-registry.wur.nl/vande018/containers/2024:ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6 +``` + +```shell +sudo docker run --rm -it -v ~/snpblup_software_tmp:/container/local:z docker-registry.wur.nl/vande018/containers/2024:ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6 bash +``` diff --git a/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/setup_apt_repo_linux_no_sudo.sh b/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/setup_apt_repo_linux_no_sudo.sh new file mode 100755 index 0000000000000000000000000000000000000000..1034b639fe4e3d0d03805079e6597550d17449b4 --- /dev/null +++ b/docker/ubuntu_24_04_gcc_14_OneAPI_2024_2_gpu_12_6/setup_apt_repo_linux_no_sudo.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +apt-get update +apt-get install -y gpg-agent wget + +# download the key to system keyring +wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ +| gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null + +# add signed entry to apt sources and configure the APT client to use Intel repository: +echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list + +apt-get update