From 302b3019a6ec2a27087dd6e5a9d9c7129efc69d7 Mon Sep 17 00:00:00 2001 From: Nicolas Ducarton <nicolas.ducarton@inria.fr> Date: Fri, 15 Nov 2024 18:08:52 +0100 Subject: [PATCH] initial commit --- .gitignore | 2 ++ build.sh | 6 ++++++ check.sh | 7 +++++++ launch-test.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ mpi4/.Dockerfile.un~ | Bin 0 -> 1174 bytes mpi4/Dockerfile | 29 +++++++++++++++++++++++++++++ mpi5/Dockerfile | 31 +++++++++++++++++++++++++++++++ mpich/Dockerfile | 30 ++++++++++++++++++++++++++++++ 8 files changed, 147 insertions(+) create mode 100644 .gitignore create mode 100644 build.sh create mode 100644 check.sh create mode 100644 launch-test.sh create mode 100644 mpi4/.Dockerfile.un~ create mode 100644 mpi4/Dockerfile create mode 100644 mpi5/Dockerfile create mode 100644 mpich/Dockerfile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b72f9be --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*~ +*.swp diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..d0e391c --- /dev/null +++ b/build.sh @@ -0,0 +1,6 @@ +cd starpu +./autogen.sh > ../autogen_result 2>&1 +mkdir ../build +cd ../build +../starpu/configure --prefix=/home/install --disable-cuda --enable-mpi --disable-opencl --disable-starpupy --enable-mpi-ft --enable-mpi-check --enable-mpi-ft-stats > ../configure_result 2>&1 +make -j > ../make_result 2>&1 diff --git a/check.sh b/check.sh new file mode 100644 index 0000000..0031c4c --- /dev/null +++ b/check.sh @@ -0,0 +1,7 @@ +cd starpu +./autogen.sh > ../autogen_result 2>&1 +mkdir ../build +cd ../build +../starpu/configure --prefix=/home/install --disable-cuda --enable-mpi --disable-opencl --disable-starpupy --enable-mpi-ft --enable-mpi-check --enable-mpi-ft-stats > ../configure_result 2>&1 +make -j > ../make_result 2>&1 +make check ../check_result 2>&1 diff --git a/launch-test.sh b/launch-test.sh new file mode 100644 index 0000000..c86e6ed --- /dev/null +++ b/launch-test.sh @@ -0,0 +1,42 @@ +#get fist param, help, check, build +p=${1-unset} +#print help +HELP (){ + echo "usage: ./launch-test help/check/build"; + echo "\t help: print this"; + echo "\t check: build starpu and run tests"; + echo "\t build: only build starpu"; +} +GETPU(){ +#if starpu folder does not exist clone +if [ ! -d "starpu" ] +then + git clone https://gitlab.inria.fr/starpu/starpu.git -b ft_ulfm +fi +} +RUN(){ + if [ ! -d "docker_results" ] + then + mkdir docker_results + fi + docker build mpi5/ > docker_results/docker_build_mpi5 + docker run mpi5 > docker_results/docker_run_mpi5 + docker build mpi4/ > docker_results/docker_build_mpi4 + docker run mpi4 > docker_results/docker_run_mpi4 + docker build mpich/ > docker_results/docker_build_mpich + docker run mpich > docker_results/docker_run_mpich +} +if [ $g = 'help' ] +then + HELP +elif [ $g = 'check' ] +then + GETPU + cp check.sh run.sh + RUN +elif +then + GETPU + cp build.sh run.sh + RUN +fi diff --git a/mpi4/.Dockerfile.un~ b/mpi4/.Dockerfile.un~ new file mode 100644 index 0000000000000000000000000000000000000000..5ed7ac18aaa3dfe4e60d4640306db98730185bb6 GIT binary patch literal 1174 zcmWH`%$*;a=aT=Ffr(Y&-;eon+ZR2%ZrB(9Y5$hV9Y3WU%3D$*mq+|H;<l_|U|^61 zVr0Mw<S;=6Kr{?9q?`VI!vd0JWQf0jqyWkU3NtXU!8rec04xF%7^SHk0>J2a296E} zhOZJpvq3@60mKSG42lX=QF)MvX(Kq|z_K7d6o6tFq*D{bAB{LrD9{oBBknacAAuu| z9cURS_(6afhy#N{{S?a6Q%e*wN=gcft@QO%^2_sb@)J|^@(WV)baM+b_413-^@~z- zQWJ|)^<jegWu|%tU>;C~E|9Hfs#lU&q?cX=G}H=YD3GU6k){CBfUZPAO--RF7poLd ww>?OAatf-nK1h$AesX?ZT4s7_Q7VX=o0y%dpqm9}X66-_B<AFpHa=ek0GtSK_5c6? literal 0 HcmV?d00001 diff --git a/mpi4/Dockerfile b/mpi4/Dockerfile new file mode 100644 index 0000000..d9a3966 --- /dev/null +++ b/mpi4/Dockerfile @@ -0,0 +1,29 @@ +FROM debian:12 +WORKDIR /home +# Install starpu dependencies +RUN apt update && apt upgrade +RUN apt install g++ make libtool git libopenblas-dev libhwloc-dev pkg-config texlive texlive-font-utils doxygen libtool-bin texlive-fonts-extra -y +# Install mpi version +RUN apt install libopenmpi-dev openmpi-bin + +#So we don't run mpi as root +RUN useradd app +USER app + +#clone starpu and build +#RUN git clone https://gitlab.inria.fr/starpu/starpu.git -b ft_ulfm +COPY starpu starpu +#run whatever the script gave us +COPY run.sh . +#RUN mkdir build && cd build +#RUN ../starpu/configure --prefix=../install --disable-cuda --enable-mpi --disable-opencl --disable-starpupy --enable-mpi-ft --enable-mpi-check --enable-mpi-ft-stats > ../configure_result 2>&1 & +#RUN make -j > ~/make_result 2>&1 & +CMD ["./run.sh"] + + +# Copy the script to compile and test starpu +#COPY +# Compile starpu and check +#CMD [] +# Or compile starpu and run test +# diff --git a/mpi5/Dockerfile b/mpi5/Dockerfile new file mode 100644 index 0000000..4557245 --- /dev/null +++ b/mpi5/Dockerfile @@ -0,0 +1,31 @@ +FROM debian:12 +WORKDIR /home +# Install starpu dependencies +RUN apt update && apt upgrade +RUN apt install g++ make libtool git libopenblas-dev libhwloc-dev pkg-config texlive texlive-font-utils doxygen libtool-bin texlive-fonts-extra -y +# Install mpi version +RUN wget https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.5.tar.gz +RUN tar xf openmpi-5.0.5.tar.gz && rm openmpi-5.0.5.tar.gz +RUN cd openmpi-5.0.5/ && ./configure && make -j && make install + +#So we don't run mpi as root +RUN useradd app +USER app + +#clone starpu and build +#RUN git clone https://gitlab.inria.fr/starpu/starpu.git -b ft_ulfm +COPY starpu starpu +#run whatever the script gave us +COPY run.sh . +#RUN mkdir build && cd build +#RUN ../starpu/configure --prefix=../install --disable-cuda --enable-mpi --disable-opencl --disable-starpupy --enable-mpi-ft --enable-mpi-check --enable-mpi-ft-stats > ../configure_result 2>&1 & +#RUN make -j > ~/make_result 2>&1 & +CMD ["./run.sh"] + + +# Copy the script to compile and test starpu +#COPY +# Compile starpu and check +#CMD [] +# Or compile starpu and run test +# diff --git a/mpich/Dockerfile b/mpich/Dockerfile new file mode 100644 index 0000000..9b66d0a --- /dev/null +++ b/mpich/Dockerfile @@ -0,0 +1,30 @@ +FROM debian:12 +WORKDIR /home +# Install starpu dependencies +RUN apt update && apt upgrade +RUN apt-get install -y \ + sudo \ + git \ + autoconf \ + automake \ + build-essential \ + libtool-bin \ + libhwloc-dev \ + pkg-config \ + gdb \ + vim \ + libopenblas-pthread-dev + +# Install mpi version +RUN apt install mpich + +#So we don't run mpi as root +RUN useradd starpu +USER starpu + +RUN mkdir /home/starpu +WORKDIR /home/starpu +COPY starpu starpu +#run whatever the script gave us +COPY run.sh . +CMD ["./run.sh"] -- GitLab