From 06cc45420b96dd7764ecddabd1883fc1e03f77e9 Mon Sep 17 00:00:00 2001 From: user <user@debian.vm> Date: Thu, 21 Nov 2024 02:38:53 -0600 Subject: [PATCH] working dockerfiles --- build.sh | 3 ++- check.sh | 1 + launch-test.sh | 39 ++++++++++++++++++++++++++------------- mpi4/Dockerfile | 29 ++++++++++------------------- mpi5/Dockerfile | 20 ++++++++++++-------- mpich/Dockerfile | 14 +++++++++----- 6 files changed, 60 insertions(+), 46 deletions(-) diff --git a/build.sh b/build.sh index 2e15fcd..d00620b 100644 --- a/build.sh +++ b/build.sh @@ -1,7 +1,8 @@ +export LD_LIBRARY_PATH=/usr/local/lib cd starpu ./autogen.sh > ../autogen_result 2>&1 mkdir ../build cd ../build ../starpu/configure --prefix=/home/starpu/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 +LD_LIBRARY_PATH=/usr/local/lib make -j > ../make_result 2>&1 make install diff --git a/check.sh b/check.sh index 0031c4c..ac22753 100644 --- a/check.sh +++ b/check.sh @@ -1,3 +1,4 @@ +export LD_LIBRARY_PATH=/usr/local/lib cd starpu ./autogen.sh > ../autogen_result 2>&1 mkdir ../build diff --git a/launch-test.sh b/launch-test.sh index 256b5d1..e98b735 100755 --- a/launch-test.sh +++ b/launch-test.sh @@ -3,9 +3,6 @@ p=${1-unset} g=${2-unset} #print help HELP (){ - echo "It is recommended that you provide a symbolic link named starpu to the starpu repository"; - echo " ln -s <path_to_starpu> starpu\n"; - echo "usage: ./launch-test <config> <action> [type] [path]"; echo "config: "; echo "\t all : launch on all available configs"; @@ -35,21 +32,34 @@ RUN(){ fi if [ $p = 'all' ] then - #differenciate all / a config - 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 + #TODO : update based on folders containing a dockerfile + cp mpi5/Dockerfile . + docker build -t starpu_test/mpi5 . > docker_results/docker_build_mpi5 + docker rm $(docker stop $(docker ps -a -q --filter ancestor=starpu_test/mpi5:latest --format="{{.ID}}")) + rm ./Dockerfile + docker run starpu_test/mpi5 > docker_results/docker_run_mpi5 + + cp mpi4/Dockerfile . + docker build -t starpu_test/mpi4 . > docker_results/docker_build_mpi4 + docker run starpu_test/mpi4 > docker_results/docker_run_mpi4 + docker rm $(docker stop $(docker ps -a -q --filter ancestor=starpu_test/mpi4:latest --format="{{.ID}}")) + rm ./Dockerfile + + cp mpich/Dockerfile . + docker build -t starpu_test/mpich . > docker_results/docker_build_mpich + docker run starpu_test/mpich > docker_results/docker_run_mpich + docker rm $(docker stop $(docker ps -a -q --filter ancestor=starpu_test/mpich:latest --format="{{.ID}}")) + rm ./Dockerfile elif [ $p = 'unset' ] then HELP else #check that it exists - docker build $p > docker_results/docker_build_$p - docker run $p > docker_results/docker_run_$p - docker rm $(docker stop $(docker ps -a -q --filter ancestor=$p:latest --format="{{.ID}}")) + cp $p/Dockerfile . + docker build -t starpu_test/$p . > docker_results/docker_build_$p + rm ./Dockerfile + docker run starpu_test/$p > docker_results/docker_run_$p + docker rm $(docker stop $(docker ps -a -q --filter ancestor=starpu_test/$p:latest --format="{{.ID}}")) #remove image? fi } @@ -61,11 +71,13 @@ then GETPU cp check.sh run.sh RUN + rm run.sh elif [ $g = 'build' ] then GETPU cp build.sh run.sh RUN + rm run.sh elif [ $g = 'run' ] then GETPU @@ -79,6 +91,7 @@ then else cp $path run.sh RUN + rm run.sh fi fi #Do for a particular test diff --git a/mpi4/Dockerfile b/mpi4/Dockerfile index 0fe5438..c028350 100644 --- a/mpi4/Dockerfile +++ b/mpi4/Dockerfile @@ -14,34 +14,25 @@ RUN apt-get install -y \ gdb \ vim \ libopenblas-pthread-dev \ - wget + wget \ + python3.11-full # Install mpi version #RUN apt install libopenmpi-dev openmpi-bin RUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.3.tar.gz RUN tar xf openmpi-4.1.3.tar.gz && rm openmpi-4.1.3.tar.gz RUN cd openmpi-4.1.3/ && ./configure && make -j && make install -#So we don't run mpi as root -RUN useradd starpu -USER starpu RUN mkdir /home/starpu WORKDIR /home/starpu -COPY starpu starpu -#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"] +ADD ./starpu /home/starpu/starpu +#So we don't run mpi as root +RUN useradd starpu +RUN chown -R starpu /home/starpu +RUN chmod +x ./run.sh +USER starpu -# Copy the script to compile and test starpu -#COPY -# Compile starpu and check -#CMD [] -# Or compile starpu and run test -# +#run whatever the script gave us +CMD ["/bin/bash", "./run.sh"] diff --git a/mpi5/Dockerfile b/mpi5/Dockerfile index aa855ba..2b7e70e 100644 --- a/mpi5/Dockerfile +++ b/mpi5/Dockerfile @@ -14,25 +14,29 @@ RUN apt-get install -y \ gdb \ vim \ libopenblas-pthread-dev \ - wget \ - python3.11-full + xterm \ + wget \ + python3.11-full # 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 +#if not done openmpi does not find libpmix + RUN mkdir /home/starpu +WORKDIR /home/starpu +COPY run.sh . + +ADD ./starpu /home/starpu/starpu #So we don't run mpi as root RUN useradd starpu +RUN chown -R starpu /home/starpu +RUN chmod +x ./run.sh USER starpu -WORKDIR /home/starpu -ADD ./starpu /home/starpu/starpu #run whatever the script gave us -COPY run.sh . -CMD ["./run.sh"] - - +CMD ["/bin/bash", "./run.sh"] # Copy the script to compile and test starpu #COPY # Compile starpu and check diff --git a/mpich/Dockerfile b/mpich/Dockerfile index de48a93..5e3a2d9 100644 --- a/mpich/Dockerfile +++ b/mpich/Dockerfile @@ -18,13 +18,17 @@ RUN apt-get install -y \ # Install mpi version RUN apt install -y mpich +RUN mkdir /home/starpu +WORKDIR /home/starpu + +COPY run.sh . + +ADD ./starpu /home/starpu/starpu #So we don't run mpi as root RUN useradd starpu +RUN chown -R starpu /home/starpu +RUN chmod +x ./run.sh USER starpu -RUN mkdir /home/starpu -WORKDIR /home/starpu -COPY starpu starpu #run whatever the script gave us -COPY run.sh . -CMD ["./run.sh"] +CMD ["/bin/bash", "./run.sh"] -- GitLab