From a2fc510d2b1f06fe7926cc2aaea106ed421f5211 Mon Sep 17 00:00:00 2001 From: lingyuzeng Date: Thu, 12 Sep 2024 14:29:25 +0800 Subject: [PATCH] add Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz support --- Dockerfile.lower | 179 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 8 ++- 2 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 Dockerfile.lower diff --git a/Dockerfile.lower b/Dockerfile.lower new file mode 100644 index 0000000..0727b24 --- /dev/null +++ b/Dockerfile.lower @@ -0,0 +1,179 @@ +# syntax=docker/dockerfile:1 +# NOTE: Building this image require's docker version >= 23.0. +# +# For reference: +# - https://docs.docker.com/build/dockerfile/frontend/#stable-channel +# for cpu Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz +ARG TAG_VERSION="12.4.1" +FROM nvidia/cuda:${TAG_VERSION}-cudnn-devel-ubuntu22.04 +ARG HTTP_PROXY +ARG HTTPS_PROXY +ENV http_proxy=${HTTP_PROXY} +ENV https_proxy=${HTTPS_PROXY} +ARG DEBIAN_FRONTEND="noninteractive" +ENV DEBIAN_FRONTEND=${DEBIAN_FRONTEND} +ARG ROOT_PASSWD="root" +ENV ROOT_PASSWD=${ROOT_PASSWD} +ENV SSH_PORT=2222 +WORKDIR /root +SHELL ["/bin/bash", "-c"] + +# base tools +RUN < ~/.ssh/config +cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak +sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config +sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config +sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config +sed -i 's/^\(\s*\)GSSAPIAuthentication yes/\1GSSAPIAuthentication no/' /etc/ssh/ssh_config +sed -i "s/^#Port 22/Port ${SSH_PORT}/" /etc/ssh/sshd_config +sudo sed -i "s/# Port 22/Port ${SSH_PORT}/" /etc/ssh/ssh_config +ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa -N "" <<< y +cat ~/.ssh/id_rsa.pub >> ~/.ssh/auth +cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys +cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys2 +chmod 600 /root/.ssh/authorized_keys +chmod 600 /root/.ssh/authorized_keys2 +mkdir /var/run/sshd +echo "root:${ROOT_PASSWD}" | chpasswd +mkdir -p ~/.pip +# install pixi +curl -fsSL https://pixi.sh/install.sh | bash +EOT + +ARG FFTW_VERSION="3.3.10" +ENV FFTW_VERSION=${FFTW_VERSION} +ENV PATH=/usr/local/fftw:$PATH +# 安装fftw +RUN < ./test_mpi_cuda.cu +#include +#include +#include + +__global__ void hello_cuda() { + printf("Hello from CUDA kernel! Thread id: %d\n", threadIdx.x); +} + +int main(int argc, char **argv) { + MPI_Init(&argc, &argv); + + int rank; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + + printf("Hello from MPI process %d!\n", rank); + + // Launch CUDA kernel + hello_cuda<<<1, 10>>>(); + cudaDeviceSynchronize(); // Wait for the CUDA kernel to finish + + MPI_Finalize(); + return 0; +} +EOF +nvcc -o test_mpi_cuda test_mpi_cuda.cu -I${CUDA_HOME}/include -I${MPI_HOME}/include -L${MPI_HOME}/lib -lcudart -lmpi +# mpirun --allow-run-as-root -np 2 ./test_mpi_cuda +EOT + +# 安装plumed +ARG PLUMED_VERSION="2.9.1" +ENV PLUMED_VERSION=${PLUMED_VERSION} +ENV LD_LIBRARY_PATH=/usr/local/plumed/lib:$LD_LIBRARY_PATH +ENV PATH=/usr/local/plumed:/usr/local/plumed/bin:$PATH +RUN <> /root/.bashrc +EOT + +RUN <