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