Skip to content

Commit

Permalink
updated Dockerfile and config_cleanlinux.sh
Browse files Browse the repository at this point in the history
  • Loading branch information
liuyangzhuan committed Jun 23, 2023
1 parent 4532cde commit f78d110
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 7 deletions.
5 changes: 3 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# FROM ubuntu:16.04
# FROM debian:stable
FROM ubuntu:18.04
# FROM ubuntu:18.04
FROM nvidia/cuda:11.4.0-base-ubuntu20.04

WORKDIR /app
RUN apt-get update
Expand All @@ -10,4 +11,4 @@ WORKDIR superlu_dist
RUN git fetch
RUN git pull
RUN git checkout gpu_trisolve_new
RUN bash config_cleanlinux.sh
# RUN bash config_cleanlinux.sh # not sure why parmetis build fails, build superlu inside docker manually instead
63 changes: 58 additions & 5 deletions config_cleanlinux.sh
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ if [ $ModuleEnv = 'cleanlinux-unknown-openmpi-gnu' ]; then
export MPICXX="$SuperLUROOT/openmpi-4.0.1/bin/mpicxx"
export MPIF90="$SuperLUROOT/openmpi-4.0.1/bin/mpif90"
export LD_LIBRARY_PATH=$SuperLUROOT/openmpi-4.0.1/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$SuperLUROOT/openmpi-4.0.1/lib:$LIBRARY_PATH
export LIBRARY_PATH=$SuperLUROOT/openmpi-4.0.1/lib:$LIBRARY_PATH

else

#######################################
Expand Down Expand Up @@ -133,14 +134,15 @@ fi
cp $SuperLUROOT/PATCH/parmetis/CMakeLists.txt .
mkdir -p install
make config shared=1 cc=$MPICC cxx=$MPICXX prefix=$PWD/install
make install > make_parmetis_install.log 2>&1
make install
cd ../
cp $PWD/parmetis-4.0.3/build/Linux-x86_64/libmetis/libmetis.so $PWD/parmetis-4.0.3/install/lib/.
cp $PWD/parmetis-4.0.3/metis/include/metis.h $PWD/parmetis-4.0.3/install/include/.


mkdir -p build
cd build
cd $SuperLUROOT
mkdir -p build_cpu
cd build_cpu
rm -rf CMakeCache.txt
rm -rf DartConfiguration.tcl
rm -rf CTestTestfile.cmake
Expand All @@ -158,5 +160,56 @@ fi
-DTPL_BLAS_LIBRARIES="${BLAS_LIB}" \
-DTPL_LAPACK_LIBRARIES="${LAPACK_LIB}" \
-DTPL_PARMETIS_INCLUDE_DIRS=$PARMETIS_INCLUDE_DIRS \
-DTPL_PARMETIS_LIBRARIES=$PARMETIS_LIBRARIES
-DTPL_PARMETIS_LIBRARIES=$PARMETIS_LIBRARIES
make pddrive3d



cd $SuperLUROOT
mkdir -p build_gpu_no_nvshmem
cd build_gpu_no_nvshmem
rm -rf CMakeCache.txt
rm -rf DartConfiguration.tcl
rm -rf CTestTestfile.cmake
rm -rf cmake_install.cmake
rm -rf CMakeFiles
cmake .. \
-DCMAKE_CXX_FLAGS="-Ofast -std=c++11 -DAdd_ -DRELEASE" \
-DCMAKE_C_FLAGS="-DGPU_SOLVE -std=c11 -DPRNTlevel=0 -DPROFlevel=0 -DDEBUGlevel=0" \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CXX_COMPILER=$MPICXX \
-DCMAKE_C_COMPILER=$MPICC \
-DCMAKE_Fortran_COMPILER=$MPIF90 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DTPL_BLAS_LIBRARIES="${BLAS_LIB}" \
-DTPL_LAPACK_LIBRARIES="${LAPACK_LIB}" \
-DTPL_PARMETIS_INCLUDE_DIRS=$PARMETIS_INCLUDE_DIRS \
-DTPL_PARMETIS_LIBRARIES=$PARMETIS_LIBRARIES \
-DTPL_ENABLE_NVSHMEM=OFF \
-DCMAKE_CUDA_FLAGS="-I$SuperLUROOT/openmpi-4.0.1/include -ccbin=$MPICXX" \
-DCMAKE_CUDA_ARCHITECTURES=70 \
-DTPL_ENABLE_CUDALIB=ON
make pddrive3d


# cd $SuperLUROOT
# mkdir -p build_gpu_nvshmem
# cd build_gpu_nvshmem
# rm -rf CMakeCache.txt
# rm -rf DartConfiguration.tcl
# rm -rf CTestTestfile.cmake
# rm -rf cmake_install.cmake
# rm -rf CMakeFiles
# cmake .. \
# -DCMAKE_C_FLAGS="-DGPU_SOLVE -std=c11 -DPRNTlevel=0 -DPROFlevel=0 -DDEBUGlevel=0 -DAdd_ -I${NVSHMEM_HOME}/include" \
# -DCMAKE_CXX_COMPILER=CC \
# -DCMAKE_C_COMPILER=cc \
# -DCMAKE_Fortran_COMPILER=ftn \
# -DXSDK_ENABLE_Fortran=ON \
# -DTPL_ENABLE_INTERNAL_BLASLIB=OFF \
# -DTPL_ENABLE_LAPACKLIB=ON \
# -DBUILD_SHARED_LIBS=ON \
# -DTPL_ENABLE_CUDALIB=ON \
# -DCMAKE_CUDA_FLAGS="-I${NVSHMEM_HOME}/include -I$SuperLUROOT/openmpi-4.0.1/include -ccbin=$MPICXX" \
# -DCMAKE_CUDA_ARCHITECTURES=80 \

0 comments on commit f78d110

Please sign in to comment.