module load python3/3.8.11 module load mpi/4.1.1-gcc-10.3.0-binutils-2.36.1 module load mpi4py/3.0.3-python-3.8.11-openmpi-4.1.1 module load scipy/1.6.3-python-3.8.11 wget https://github.com/xianyi/OpenBLAS/releases/download/v0.3.18/OpenBLAS-0.3.18.tar.gz wget http://deb.debian.org/debian/pool/main/s/scalapack/scalapack_2.1.0.orig.tar.gz wget http://deb.debian.org/debian/pool/main/s/scotch/scotch_6.1.1.orig.tar.xz wget http://deb.debian.org/debian/pool/non-free/p/parmetis/parmetis_4.0.3.orig.tar.gz wget http://deb.debian.org/debian/pool/main/m/mumps/mumps_5.4.1.orig.tar.gz wget http://deb.debian.org/debian/pool/main/q/qhull/qhull_2020.2.orig.tar.gz wget http://download-mirror.savannah.gnu.org/releases/getfem/stable/getfem-5.4.1.tar.gz tar -zxf OpenBLAS-0.3.18.tar.gz tar -zxf scalapack_2.1.0.orig.tar.gz tar -xf scotch_6.1.1.orig.tar.xz tar -zxf parmetis_4.0.3.orig.tar.gz tar -zxf mumps_5.4.1.orig.tar.gz tar -zxf qhull_2020.2.orig.tar.gz tar -zxf getfem-5.4.1.tar.gz cd OpenBLAS-0.3.18/ CC=gcc make -j8 CC=gcc make PREFIX=$HOME/tmp_opt/openblas install cd ../scalapack-2.1.0/ sed '/^\(BLASLIB.*=\).*/ s//\1 $${HOME}\/tmp_opt\/openblas\/lib\/libopenblas.a/' SLmake.inc.example | sed '/^\(LAPACKLIB.*=\).*/ s//\1 /' > SLmake.inc sed -i '/^\(NOOPT.*=.*-O0\)\(\>.*\)/s//\1 -fallow-argument-mismatch -fPIC\2/' SLmake.inc sed -i '/^\(FCFLAGS.*=.*-O3\)\(\>.*\)/s//\1 -fallow-argument-mismatch -fPIC\2/' SLmake.inc sed -i '/^\(CCFLAGS.*=.*-O3\)\(\>.*\)/s//\1 -fPIC\2/' SLmake.inc sed -i '/^\(RANLIB.*=\).*/s//\1 echo/' SLmake.inc make -j1 mkdir -p $HOME/tmp_opt/scalapack/lib cp libscalapack.a $HOME/tmp_opt/scalapack/lib/ cd ../parmetis-4.0.3/ make config prefix=$HOME/tmp_opt/parmetis make -j4 make install cp build/Linux-x86_64/libmetis/libmetis.a $HOME/tmp_opt/parmetis/lib/ cp metis/include/metis.h $HOME/tmp_opt/parmetis/include/ cd ../scotch-6.1.1/src cp Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc sed -i '/^\(CC[SD].*=\).*/s//\1 mpicc/' Makefile.inc make -j4 scotch make -j4 esmumps make -j4 ptscotch make -j4 ptesmumps mkdir -p $HOME/tmp_opt/scotch cp -r ../lib $HOME/tmp_opt/scotch/ cp -r ../include $HOME/tmp_opt/scotch/ cd ../../MUMPS_5.4.1/ cp Make.inc/Makefile.inc.generic Makefile.inc sed -i '/^#\(SCOTCHDIR.*\)=.*/s//\1 = $${HOME}\/tmp_opt\/scotch/' Makefile.inc sed -i '/^#\(ISCOTCH.*\)=.*/s//\1 = -I$(SCOTCHDIR)\/include/' Makefile.inc sed -i '/^#\(LSCOTCH.*-lpt.*\)/s//\1 -lscotch/' Makefile.inc sed -i '/^#\(LMETISDIR.*\)=.*/s//\1 = $${HOME}\/tmp_opt\/parmetis\/lib/' Makefile.inc sed -i '/^#\(IMETIS.*\)=.*/s//\1 = -I$${HOME}\/tmp_opt\/parmetis\/include/' Makefile.inc sed -i '/^#\(LMETIS .*-lparmetis.*\)/s//\1/' Makefile.inc sed -i '/^#\(ORDERINGSF .*-Dparmetis.*\)/s//\1/' Makefile.inc sed -i '/^\(ORDERINGSF .*-Dpord$\)/s//#\1/' Makefile.inc sed -i '/^\(CC.*= \)\(cc\)/s//\1mpi\2/' Makefile.inc sed -i '/^\(FC.*= \)\(f90\)/s//\1mpi\2/' Makefile.inc sed -i '/^\(FL.*= \)\(f90\)/s//\1mpi\2/' Makefile.inc sed -i '/^\(RANLIB .*ranlib.*\)/s//#\1/' Makefile.inc sed -i '/^#\(RANLIB .*echo.*\)/s//\1/' Makefile.inc sed -i '/^\(LAPACK.*=\).*/s//\1/' Makefile.inc sed -i '/^\(SCALAP.*=\).*/s//\1 $${HOME}\/tmp_opt\/scalapack\/lib\/libscalapack.a/' Makefile.inc sed -i '/^\(INCPAR.*=\).*/s//\1/' Makefile.inc sed -i '/^\(\LIBPAR.*=\).*/s//\1 $(SCALAP)/' Makefile.inc sed -i '/^\(LIBBLAS.*=\).*/s//\1 $${HOME}\/tmp_opt\/openblas\/lib\/libopenblas.a/' Makefile.inc sed -i '/^\(OPTF.*=.*\)-O\(\>.*\)/s//\1-fallow-argument-mismatch -O3 -fPIC\2/' Makefile.inc sed -i '/^\(OPT[CL].*=.*\)-O\(\>.*\)/s//\1-O3 -fPIC\2/' Makefile.inc make all mkdir -p $HOME/tmp_opt/mumps cp -r lib $HOME/tmp_opt/mumps/ cp -r include $HOME/tmp_opt/mumps/ cd ../qhull_2020.2/ make -j4 mkdir -p $HOME/tmp_opt/qhull mkdir -p $HOME/tmp_opt/qhull/lib mkdir -p $HOME/tmp_opt/qhull/include mkdir -p $HOME/tmp_opt/qhull/include/libqhull cp lib/libqhullstatic.a $HOME/tmp_opt/qhull/lib/libqhull.a cp src/libqhull/*.h $HOME/tmp_opt/qhull/include/libqhull/ cd ../getfem-5.4.1 sed -i '/^\(.*\/env \)python\($\)/s//\1python3\2/' bin/extract_doc PYTHONPATH=/appl/mpi4py/3.0.3-openmpi-4.1.1-gcc-10.3.0-binutils-2.36.1-python-3.8.11/lib/python3.8/site-packages/:$PYTHONPATH \ ./configure --prefix="$HOME/tmp_opt" \ LDFLAGS="-L$HOME/tmp_opt/mumps/lib -L$HOME/tmp_opt/parmetis/lib -L$HOME/tmp_opt/scalapack/lib -L$HOME/tmp_opt/scotch/lib -L$HOME/tmp_opt/qhull/lib" \ CPPFLAGS="-I$HOME/tmp_opt/mumps/include -I$HOME/tmp_opt/parmetis/include -I$HOME/tmp_opt/qhull/include" \ LIBS="-lmumps_common -lpord -lgfortran -lscalapack -lptesmumps -lptscotch -lptscotcherr -lscotch -lparmetis -lmetis -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh" \ --with-blas="$HOME/tmp_opt/openblas/lib/libopenblas.a" \ --with-pic --with-optimization=-O3 --disable-matlab --enable-python --enable-paralevel=2 make -j4 make install