DAMASK_EICMD/installation/mods_MarcMentat/2010.2/Marc_tools/include_linux64.org

18 KiB
Raw Blame History

#

#

#

#

#

#

#

#

#

#

#

#

# #

#

REVISION="VERSION, BUILD" HOSTNAME=`hostname`

MEMLIMIT=`free -m | awk 'Mem: {print $2}'`

_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}"

#AUTOFORGE=1 AUTOFORGE=0 export AUTOFORGE

if test "$MARC_INTEGER_SIZE" = "" ; then INTEGER_PATH= else INTEGER_PATH=/$MARC_INTEGER_SIZE fi

FCOMP=ifort

#

# METIS="-I$METIS_SOURCE" METISLIBS="$MARC_LIB/metis.a "

#

#

RCP=/usr/bin/scp RSH=/usr/bin/ssh #

MPITYPE=none if test -d $MARC_INTELMPI then MPITYPE=intelmpi fi if test -d $MARC_HPMPI then MPITYPE=hpmpi fi

if test $AUTOFORGE then if test $AUTOFORGE = 1 then MPITYPE=none fi fi

#MPITYPE=none #MPITYPE=hpmpi #MPITYPE=intelmpi

MPI_DEFAULT=hpmpi MPI_OTHER=intelmpi

INTELMPI_VERSION=HYDRA

if test $MARC_MPITYPE then MPITYPE=$MARC_MPITYPE fi

if test "$_OEM_NASTRAN" -ne 0 then MPITYPE=none fi

#

# DDM= if test $MPITYPE != none then if test $MPITYPE = hpmpi then FCOMPMPI=mpif90 export MPI_ROOT=$MARC_HPMPI export MPI_REMSH=$RSH export MPI_F77=$FCOMP ARCHITECTURE=linux_amd64 DDM="-I$MPI_ROOT/include/64 -DDDM -DHPMPI" MPI_CLEAN= export MPI_EPATH=$MARC_BIN export LD_LIBRARY_PATH=$MPI_ROOT/lib/$ARCHITECTURE:$MARC_LIB:$MARC_LIB_SHARED:$LD_LIBRARY_PATH export MPIHPSPECIAL="-e MPI_FLAGS=E,T" export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" export MPIHPSPECIAL="$MPIHPSPECIAL -e BINDIR=$MARC_BIN" if test -n "$MSC_LICENSE_FILE" then export MPIHPSPECIAL="$MPIHPSPECIAL -e MSC_LICENSE_FILE=$MSC_LICENSE_FILE" fi if test -n "$LM_LICENSE_FILE" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LM_LICENSE_FILE=$LM_LICENSE_FILE" fi export MPIHPSPECIAL="$MPIHPSPECIAL -e MPI_LIC_CHECKER=$MPI_ROOT/bin/licensing/amd64_s8/lichk.x" RUN_JOB2="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -f " RUN_JOB1="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -w $MPIHPSPECIAL -np " RUN_JOB0= fi if test $MPITYPE = intelmpi then FCOMPMPI=mpiifort MPI_ROOT=$MARC_INTELMPI DDM="-I${MPI_ROOT}/include64 -DDDM" PATH=$MPI_ROOT/bin64:$PATH export PATH LD_LIBRARY_PATH=$MPI_ROOT/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH if test $INTELMPI_VERSION = HYDRA then RUN_JOB1="${MPI_ROOT}/bin64/mpiexec.hydra -n " RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra " else RUN_JOB1="${MPI_ROOT}/bin64/mpiexec -n " RUN_JOB2="${MPI_ROOT}/bin64/mpiexec -configfile " fi RUN_JOB0= MPI_CLEAN= MPI_EPATH=$MARC_BIN MPIR_HOME=$MPI_ROOT MPICH_F77=$FCOMP MPICH_F77LINKER=$FCOMP export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER I_MPI_PIN_DOMAIN=node export I_MPI_PIN_DOMAIN fi else MPI_ROOT=$MARC_DUMMYMPI export MPI_ROOT=$MARC_DUMMYMPI DDM="-I$MPI_ROOT/include" fi

#

#

MACHINENAME=LINUX MACHINE64BIT=yes MACHINE=Linux_EM64T DEV=/dev/tape GETLOG="whoami" CLEAR="clear" MY_UNAME=`uname -a`

#VKISOLVER=VKI VKISOLVER=NONE

CASISOLVER=CASI #CASISOLVER=NONE

MF2SOLVER=NONE #MF2SOLVER=SERIAL #MF2SOLVER=MF2PARALLEL

#INTELSOLVER=NONE INTELSOLVER=PARDISO

if test "$MARC_INTEGER_SIZE" = "i4" ; then #MUMPSSOLVER=NONE MUMPSSOLVER=MUMPS else MUMPSSOLVER=NONE #MUMPSSOLVER=MUMPS fi

BCSGPUSOLVER=NONE #BCSGPUSOLVER=BCSGPU

MARC_DLL=MARC_DLL #MARC_DLL=NONE

if test "$_OEM_NASTRAN" -ne 0 then VKISOLVER=NONE CASISOLVER=NONE MF2SOLVER=NONE INTELSOLVER=NONE MUMPSSOLVER=NONE BCSGPUSOLVER=NONE MARC_DLL=NONE fi

#

# SOLVERFLAGS= if test "$VKISOLVER" = VKI then SOLVERFLAGS="$SOLVERFLAGS -DVKI" fi

if test "$CASISOLVER" = CASI then SOLVERFLAGS="$SOLVERFLAGS -DCASI" fi

if test "$MF2SOLVER" = MF2PARALLEL then SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL" fi if test "$MF2SOLVER" = MF2SERIAL then SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL" fi

if test "$INTELSOLVER" = PARDISO then SOLVERFLAGS="$SOLVERFLAGS -DPARDISO" fi

if test "$MUMPSSOLVER" = MUMPS then SOLVERFLAGS="$SOLVERFLAGS -DMUMPS" fi

if test "$BCSGPUSOLVER" = BCSGPU then SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU" fi

if test "$MARC_DLL" = MARC_DLL then SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL" fi

LINK_OPT= DEBUG_OPT= C_DEBUG_OPT=

#Uncomment following line to build Marc in debuggable mode MARCDEBUG= #MARCDEBUG="ON"

if test "$MARCDEBUG" = "ON" then LINK_OPT="-debug -traceback" DEBUG_OPT="-debug -traceback" C_DEBUG_OPT="-debug -traceback" fi

MARCCHECK= #MARCCHECK="ON" if test "$MARCCHECK" = "ON" then DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv " C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv " fi

if test "$MARC_INTEGER_SIZE" = "i4" ; then I8FFLAGS= I8DEFINES= I8CDEFINES= I8CASIDEFS= else I8FFLAGS="-i8" I8DEFINES="-DI64" I8CDEFINES="-U_DOUBLE -D_SINGLE" I8CASIDEFS="-DCASI_64BIT_INT=1" fi

CDEFINES= FDEFINES=

if test "$_OEM_NASTRAN" -ne 0 then CDEFINES="$CDEFINES -D_OEM_NASTRAN" FDEFINES="$FDEFINES -D_OEM_NASTRAN" fi

FDEFINES="$FDEFINES -D_IMPLICITNONE"

if test "$_OEM_NASTRAN" -eq 0 then FDEFINES="$FDEFINES -DOPENMP -DMKL" fi

FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT" CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"

CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource" if test "$_OEM_NASTRAN" -ne 0 then CINCL="$CINCL -I../../include" fi

CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL" CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL" CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"

if test "$MARCDEBUG" = "ON" then CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL" CCLOW="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL" CCHIGH="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL" fi

LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel" CCT="$CC" CCTLOW="$CCLOW" CCTHIGH="$CCHIGH"

CC_CASI="$CC -c99 $I8CASIDEFS" CCLOW_CASI="$CCLOW -c99 $I8CASIDEFS" CCHIGH_CASI="$CCHIGH -c99 $I8CASIDEFS"

CCT_CASI="$CCT -c99 $I8CASIDEFS" CCTLOW_CASI="$CCLOW -c99 $I8CASIDEFS" CCTHIGH_CASI="$CCHIGH -c99 $I8CASIDEFS"

#PROFILE="-Mprof=func" #PROFILE="-Mprof=lines" #PROFILE="-Mprof=func,mpi" PROFILE=

FORTLOW="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 -O0 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 -O1 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" FORTHIGH="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" FORTNA="$FCOMP -c -assume byterecl -safe_cray_ptr -save -zero -mp -WB -w90 -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"

if test "$MARCDEBUG" = "ON" then FORTLOW="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" FORTHIGH="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp -WB -w90 -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS" FORTNA="$FCOMP -c -assume byterecl -safe_cray_ptr -save -zero -mp -WB -w90 -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \ -I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM" fi

FORTLOWT="$FORTLOW" FORTRANT="$FORTRAN" FORTHIGHT="$FORTHIGH"

FORTRANMNF="$FCOMP -c $FDEFINES " CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"

FORTRANMUMPS="$FCOMP -c -fpp -D_IMPLICITNONE $I8FFLAGS $I8DEFINES $DDM -I$MARC_SOURCE/mumpssolver/include -Dpord -Dintel_ -DALLOW_NON_INIT -Dmetis -nofor_main" CCMUMPS="icc -c -Dpord -DAdd_ -Dmetis -I$MARC_SOURCE/mumpssolver/include -I$MARC_SOURCE/mumpssolver/PORD/include"

BCSCC="icc -c -O3 -DLOWERCASE_ -I${MARC_SOURCE}/bcsgpusolver/bcslib_csrc $CDEFINES $CINCL" NVCC="nvcc -c -O3 -arch sm_13 -DLOWERCASE_ -I${MARC_SOURCE}/bcsgpusolver/bcslib_cuda/include " BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/bcsgpusolver/common" BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/bcsgpusolver/common" BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/bcsgpusolver/common" BCSFORT90HIGH="$BCSFORTHIGH" if test "$MARCDEBUG" = "ON" then BCSFORTRAN=$BCSFORTLOW BCSFORTHIGH=$BCSFORTLOW BCSFORT90HIGH=$BCSFORTLOW fi

if test $MPITYPE != none then if test $MPITYPE = hpmpi then LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o " fi

if test $MPITYPE = intelmpi then LOAD="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $LINK_OPT -o " LOADT="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $LINK_OPT -o " fi else LOAD="$FCOMP $LINK_OPT -o " LOADT="$FCOMP $LINK_OPT -o " fi

if test "$MARC_DLL" = MARC_DLL then FORTLOW="$FORTLOW -fpp -fPIC" FORTRAN="$FORTRAN -fpp -fPIC" FORTHIGH="$FORTHIGH -fpp -fPIC" FORTRANMNF="$FORTRANMNF -fpp -fPIC" CC="$CC -fPIC" CCMNF="$CCMNF -fPIC" CC_CASI="$CC_CASI -fPIC" CCLOW_CASI="$CCLOW_CASI -fPIC" CCHIGH_CASI="$CCHIGH_CASI -fPIC" LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread" LINK_MARC_DLL="-shared -fPIC" LOAD_DLL=$LOAD LOADT_DLL=$LOADT EXT_DLL="so" fi

XLIBS="-L/usr/X11/lib -lX11 "

#

#

ARC="ar rvl" ARD="ar dvl" ARX="ar xl" RAN=""

#

#

if test "$VKISOLVER" = VKI then VKISOLVERLIBS="$MARC_LIB/vkisolver.a" else VKISOLVERLIBS= fi

if test "$CASISOLVER" = CASI then CASISOLVERLIBS="$MARC_LIB/casilib.a" else CASISOLVERLIBS= fi

MF2SOLVERLIBS= if test "$MF2SOLVER" = MF2PARALLEL then MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \ $MARC_LIB/mf2parallel/libsym.a \ $MARC_LIB/mf2parallel/libmet.a \ $MARC_LIB/mf2parallel/libmf2.a \ $MARC_LIB/mf2parallel/libgauss.a \ $MARC_LIB/mf2parallel/libmf2.a \ $MARC_LIB/mf2parallel/libgauss.a \ $MARC_LIB/mf2parallel/libnum.a \ $MARC_LIB/mf2parallel/libutl.a \ $MARC_LIB/mf2parallel/libr8.a \ $MARC_LIB/mf2parallel/libz.a " fi

if test "$INTELSOLVER" = PARDISO then if test "$MARC_INTEGER_SIZE" = "i4" ; then INTELSOLVERLIBS="$MARC_MKL/libmkl_solver_lp64.a" else INTELSOLVERLIBS="$MARC_MKL/libmkl_solver_ilp64.a" fi else INTELSOLVERLIBS= fi

if test "$MUMPSSOLVER" = MUMPS then MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a $MARC_LIB/libpord.a" if test $MPITYPE = none then MUMPSSOLVERLIBS2= echo hello > /dev/null fi if test $MPITYPE = intelmpi then if test "$MARC_INTEGER_SIZE" = "i4" ; then MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_lp64.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a" else MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_ilp64.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a" fi fi if test $MPITYPE = hpmpi then if test "$MARC_INTEGER_SIZE" = "i4" ; then MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_lp64.a $MARC_MKL/libmkl_blacs_lp64.a" else MUMPSSOLVERLIBS2="$MARC_MKL/mkl_scalapack_ilp64.a $MARC_MKL/libmkl_blacs_ilp64.a" fi fi else MUMPSSOLVERLIBS= MUMPSSOLVERLIBS2= fi

if test "$BCSGPUSOLVER" = BCSGPU then BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a -L/usr/local/cuda/lib -lcudart -lcublas -lcuda " else BCSSOLVERLIBS="${MARC_LIB}/bcslib.a " fi

if test "$MARC_INTEGER_SIZE" = "i4" ; then MKLLIB=$MARC_MKL/libmkl_intel_lp64.a else MKLLIB=$MARC_MKL/libmkl_intel_ilp64.a fi

SECLIBS="-L$MARC_LIB -llapi"

SOLVERLIBS="${BCSSOLVERLIBS} \ ${INTELSOLVERLIBS} ${MUMPSSOLVERLIBS2} ${MF2SOLVERLIBS} \ -Wl,start-group $MKLLIB $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a -Wl,--end-group \ $MARC_MKL/libguide.a \ $MARC_LIB/blas_src.a ${VKISOLVERLIBS} ${CASISOLVERLIBS} " SOLVERLIBS_DLL=${SOLVERLIBS}

MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}" MRCLIBSPAR="$MARC_LIB/clib.a" STUBS="$MARC_LIB/stubs.a " MNFLIBS="$MARC_LIB/libmnf.a" MDUSER="$MARC_LIB/md_user.a"

OPENMP="-openmp"

SYSLIBS=" $OPENMP -lpthread "

if test $MPITYPE = intelmpi then SYSLIBS="-L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt $OPENMP -lpthread" fi

SYSLIBSPAR=" "

MARC_DLL_CODES="runmarc.f"

BLAS_SRC="dzero.f icopy.f izero.f" if test "$_OEM_NASTRAN" -ne 0 then if test "$MARC_INTEGER_SIZE" = "i4" ; then BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f" else BLAS_SRC="ALL" fi fi

LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \ omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \ elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \ cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \ inertie.f em_sso072.f cn_fol3d_qpatch6.f" if test "$MARC_INTEGER_SIZE" = "i8" ; then LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f" fi LOW_OPT_CODES_CASI=""

HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \ dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \ dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f "

HIGH_OPT_CODES_CASI="arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c"

MAXNUM=1000000