changed linker command slightly to ensure dynamic linking and link now agains non-parallel (but threadsafe) versions of LAPACK
(compile_CoreModule.py, Makefile, abaqus_v6.env, mod_MarcMentat) openmp is not working for Abaqus exp, probably because the ifort 14 is not supported. Test is now using a version without openmp
This commit is contained in:
parent
01416b7ab6
commit
6bce04df48
|
@ -25,6 +25,12 @@ if [ "x$PROCESSING" == "x" ]; then
|
||||||
export PROCESSING='Not found!'
|
export PROCESSING='Not found!'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# according to http://software.intel.com/en-us/forums/topic/501500
|
||||||
|
# this seems to make sense for the stack size
|
||||||
|
freeMem=`free -k | grep Mem: | awk '{print $4;}'`
|
||||||
|
heap=`expr $freeMem / 2`
|
||||||
|
stack=`expr $freeMem / $DAMASK_NUM_THREADS / 2`
|
||||||
|
|
||||||
# disable output in case of scp
|
# disable output in case of scp
|
||||||
if [ ! -z "$PS1" ]; then
|
if [ ! -z "$PS1" ]; then
|
||||||
echo
|
echo
|
||||||
|
@ -41,15 +47,20 @@ if [ ! -z "$PS1" ]; then
|
||||||
([[ "x$IMKL_ROOT" != "x" ]] && echo "IMKL $IMKL_ROOT") || \
|
([[ "x$IMKL_ROOT" != "x" ]] && echo "IMKL $IMKL_ROOT") || \
|
||||||
([[ "x$ACML_ROOT" != "x" ]] && echo "ACML $ACML_ROOT") || \
|
([[ "x$ACML_ROOT" != "x" ]] && echo "ACML $ACML_ROOT") || \
|
||||||
([[ "x$LAPACK_ROOT" != "x" ]] && echo "LAPACK $LAPACK_ROOT")
|
([[ "x$LAPACK_ROOT" != "x" ]] && echo "LAPACK $LAPACK_ROOT")
|
||||||
|
([[ "x$PETSC_DIR" != "x" ]] && echo "PETSc location $PETSC_DIR")
|
||||||
|
([[ "x$PETSC_ARCH" != "x" ]] && echo "PETSc architecture $PETSC_ARCH")
|
||||||
echo "MSC.Marc/Mentat $MSC_ROOT"
|
echo "MSC.Marc/Mentat $MSC_ROOT"
|
||||||
echo "FFTW $FFTW_ROOT"
|
echo "FFTW $FFTW_ROOT"
|
||||||
echo "HDF5 $HDF5_ROOT (for future use)"
|
echo "HDF5 $HDF5_ROOT (for future use)"
|
||||||
echo
|
echo
|
||||||
|
echo "heap size/kB $heap"
|
||||||
|
echo "stack size/kB $stack"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# http://superuser.com/questions/220059/what-parameters-has-ulimit
|
# http://superuser.com/questions/220059/what-parameters-has-ulimit
|
||||||
ulimit -s unlimited 2>/dev/null # maximum stack size (kB)
|
ulimit -s $stack 2>/dev/null # maximum stack size (kB)
|
||||||
ulimit -h unlimited 2>/dev/null # maximum heap size (kB)
|
ulimit -h $heap 2>/dev/null # maximum heap size (kB)
|
||||||
ulimit -c 0 2>/dev/null # core file size (512-byte blocks)
|
ulimit -c 2000 2>/dev/null # core file size (512-byte blocks)
|
||||||
ulimit -v unlimited 2>/dev/null # maximum virtual memory size
|
ulimit -v unlimited 2>/dev/null # maximum virtual memory size
|
||||||
ulimit -m unlimited 2>/dev/null # maximum physical memory size
|
ulimit -m unlimited 2>/dev/null # maximum physical memory size
|
||||||
|
|
||||||
|
|
|
@ -196,12 +196,13 @@ subroutine vumat(nBlock, nDir, nshr, nStateV, nFieldV, nProps, lAnneal, &
|
||||||
integer(pInt) :: computationMode, n, i, cp_en
|
integer(pInt) :: computationMode, n, i, cp_en
|
||||||
!$ integer :: defaultNumThreadsInt !< default value set by Abaqus
|
!$ integer :: defaultNumThreadsInt !< default value set by Abaqus
|
||||||
!$ include "omp_lib.h"
|
!$ include "omp_lib.h"
|
||||||
|
! temp is intent(in)
|
||||||
|
enerInternNew = 0.0_pReal
|
||||||
|
enerInelasNew = 0.0_pReal
|
||||||
|
|
||||||
!$ defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc
|
!$ defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc
|
||||||
!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS
|
!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS
|
||||||
|
|
||||||
enerInternNew = 0.0_pReal
|
|
||||||
enerInelasNew = 0.0_pReal
|
|
||||||
computationMode = CPFEM_CALCRESULTS ! always calculate
|
computationMode = CPFEM_CALCRESULTS ! always calculate
|
||||||
do n = 1,nblock(1) ! loop over vector of IPs
|
do n = 1,nblock(1) ! loop over vector of IPs
|
||||||
temp = tempOld(n)
|
temp = tempOld(n)
|
||||||
|
|
|
@ -76,30 +76,28 @@ endif
|
||||||
# names for linking IMKL
|
# names for linking IMKL
|
||||||
IMKL_COMPILER_ifort :=intel
|
IMKL_COMPILER_ifort :=intel
|
||||||
IMKL_COMPILER_gfortran :=gf
|
IMKL_COMPILER_gfortran :=gf
|
||||||
IMKL_COMPILER2_ifort :=intel
|
|
||||||
IMKL_COMPILER2_gfortran :=gnu
|
|
||||||
|
|
||||||
# settings for multicore support
|
# settings for multicore support
|
||||||
ifeq "$(OPENMP)" "ON"
|
ifeq "$(OPENMP)" "ON"
|
||||||
OPENMP_FLAG_ifort =-openmp -openmp-report0 -parallel
|
OPENMP_FLAG_ifort =-openmp -openmp-report0 -parallel
|
||||||
OPENMP_FLAG_gfortran =-fopenmp
|
OPENMP_FLAG_gfortran =-fopenmp
|
||||||
ACML_ARCH =_mp
|
|
||||||
IMKL_ARCH =$(IMKL_COMPILER2_$(F90))_thread
|
|
||||||
LIBRARIES +=-lfftw3_threads -lpthread
|
LIBRARIES +=-lfftw3_threads -lpthread
|
||||||
else
|
ifeq "$(F90)" "ifort"
|
||||||
IMKL_ARCH =sequential
|
LIBRARIES +=-liomp5
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifndef PETSC_DIR #petsc provides linking options agains selected blas/lapack already
|
||||||
ifneq "x$(IMKL_ROOT)" "x"
|
ifneq "x$(IMKL_ROOT)" "x"
|
||||||
LIB_DIRS +=-L$(IMKL_ROOT)/lib/intel64
|
LIB_DIRS +=-L$(IMKL_ROOT)/lib/intel64
|
||||||
RUN_PATH :=$(RUN_PATH),-rpath,$(IMKL_ROOT)/lib/intel64
|
RUN_PATH :=$(RUN_PATH),-rpath,$(IMKL_ROOT)/lib/intel64
|
||||||
INCLUDE_DIRS +=-I$(IMKL_ROOT)/include
|
INCLUDE_DIRS +=-I$(IMKL_ROOT)/include
|
||||||
LIBRARIES +=-lmkl_$(IMKL_COMPILER_$(F90))_lp64 -lmkl_core -lmkl_$(IMKL_ARCH) -lpthread -lm
|
LIBRARIES +=-lmkl_$(IMKL_COMPILER_$(F90))_lp64 -lmkl_core -lmkl_sequential -lm
|
||||||
else
|
else
|
||||||
ifneq "x$(ACML_ROOT)" "x"
|
ifneq "x$(ACML_ROOT)" "x"
|
||||||
LIB_DIRS +=-L$(ACML_ROOT)/$(F90)64$(ACML_ARCH)/lib
|
LIB_DIRS +=-L$(ACML_ROOT)/$(F90)64/lib
|
||||||
RUN_PATH :=$(RUN_PATH),-rpath,$(ACML_ROOT)/$(F90)64$(ACML_ARCH)/lib
|
RUN_PATH :=$(RUN_PATH),-rpath,$(ACML_ROOT)/$(F90)64/lib
|
||||||
LIBRARIES +=-lacml$(ACML_ARCH)
|
LIBRARIES +=-lacml
|
||||||
else
|
else
|
||||||
ifneq "x$(LAPACK_ROOT)" "x"
|
ifneq "x$(LAPACK_ROOT)" "x"
|
||||||
LIB_DIRS +=-L$(LAPACK_ROOT)/lib64 -L$(LAPACK_ROOT)/lib
|
LIB_DIRS +=-L$(LAPACK_ROOT)/lib64 -L$(LAPACK_ROOT)/lib
|
||||||
|
@ -108,6 +106,7 @@ LIBRARIES +=-llapack
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
#hdf5
|
#hdf5
|
||||||
ifeq "$(HDF5)" "ON"
|
ifeq "$(HDF5)" "ON"
|
||||||
|
@ -144,7 +143,9 @@ OPTIMIZATION_AGGRESSIVE_gfortran :=-O3 $(PORTABLE_SWITCH) -ffast-math -funroll-l
|
||||||
|
|
||||||
COMPILE_OPTIONS_ifort :=-fpp\
|
COMPILE_OPTIONS_ifort :=-fpp\
|
||||||
-ftz\
|
-ftz\
|
||||||
-assume byterecl
|
-assume byterecl\
|
||||||
|
-shared-intel
|
||||||
|
|
||||||
ifneq "$(FASTBUILD)" "YES"
|
ifneq "$(FASTBUILD)" "YES"
|
||||||
COMPILE_OPTIONS_ifort +=-diag-enable sc3\
|
COMPILE_OPTIONS_ifort +=-diag-enable sc3\
|
||||||
-diag-disable 5268\
|
-diag-disable 5268\
|
||||||
|
@ -161,6 +162,7 @@ endif
|
||||||
#-fpp: preprocessor
|
#-fpp: preprocessor
|
||||||
#-ftz: flush unterflow to zero, automatically set if O<0,1,2,3> >0
|
#-ftz: flush unterflow to zero, automatically set if O<0,1,2,3> >0
|
||||||
#-assume byterecl record length is given in bytes (also set by -standard-semantics)
|
#-assume byterecl record length is given in bytes (also set by -standard-semantics)
|
||||||
|
#-shared-intel: Link against shared Intel libraries instead of static ones
|
||||||
#-fimplicit-none: assume "implicit-none" even if not present in source
|
#-fimplicit-none: assume "implicit-none" even if not present in source
|
||||||
#-diag-disable: disables warnings, where
|
#-diag-disable: disables warnings, where
|
||||||
# warning ID 5268: the text exceeds right hand column allowed on the line (we have only comments there)
|
# warning ID 5268: the text exceeds right hand column allowed on the line (we have only comments there)
|
||||||
|
@ -217,7 +219,8 @@ DEBUG_OPTIONS_ifort :=-g\
|
||||||
#-check: checks at runtime, where
|
#-check: checks at runtime, where
|
||||||
# arg_temp_created: will cause a lot of warnings because we create a bunch of temporary arrays (performance?)
|
# arg_temp_created: will cause a lot of warnings because we create a bunch of temporary arrays (performance?)
|
||||||
# stack:
|
# stack:
|
||||||
COMPILE_OPTIONS_gfortran :=-xf95-cpp-input
|
COMPILE_OPTIONS_gfortran :=-shared -Wl,-undefined,dynamic_lookup\
|
||||||
|
-xf95-cpp-input
|
||||||
ifneq "$(FASTBUILD)" "YES"
|
ifneq "$(FASTBUILD)" "YES"
|
||||||
COMPILE_OPTIONS_gfortran +=-ffree-line-length-132\
|
COMPILE_OPTIONS_gfortran +=-ffree-line-length-132\
|
||||||
-fimplicit-none\
|
-fimplicit-none\
|
||||||
|
@ -233,6 +236,8 @@ COMPILE_OPTIONS_gfortran +=-ffree-line-length-132\
|
||||||
endif
|
endif
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
#COMPILE SWITCHES
|
#COMPILE SWITCHES
|
||||||
|
#-shared
|
||||||
|
#-Wl,-undefined,dynamic_lookup:ensure to link against dynamic libraries
|
||||||
#-xf95-cpp-input: preprocessor
|
#-xf95-cpp-input: preprocessor
|
||||||
#-ffree-line-length-132: restrict line length to the standard 132 characters
|
#-ffree-line-length-132: restrict line length to the standard 132 characters
|
||||||
#-fno-range-check: disables checking if result can be represented by variable. Needs to be set to enable DAMASK_NaN
|
#-fno-range-check: disables checking if result can be represented by variable. Needs to be set to enable DAMASK_NaN
|
||||||
|
@ -359,11 +364,10 @@ PETSC_FILES = DAMASK_spectral_solverAL.o \
|
||||||
COMPILED_FILES += $(PETSC_FILES)
|
COMPILED_FILES += $(PETSC_FILES)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
DAMASK_spectral.exe: DAMASK_spectral_driver.o
|
DAMASK_spectral.exe: DAMASK_spectral_driver.o
|
||||||
$(PREFIX) $(COMPILERNAME) $(OPENMP_FLAG_$(F90)) $(OPTIMIZATION_$(MAXOPTI)_$(F90)) $(STANDARD_CHECK_$(F90)) \
|
$(PREFIX) $(COMPILERNAME) $(OPENMP_FLAG_$(F90)) $(STANDARD_CHECK_$(F90)) $(OPTIMIZATION_$(MAXOPTI)_$(F90)) \
|
||||||
-o DAMASK_spectral.exe DAMASK_spectral_driver.o \
|
-o DAMASK_spectral.exe DAMASK_spectral_driver.o \
|
||||||
$(COMPILED_FILES) $(LIBRARIES) $(RUN_PATH) $(LIB_DIRS) $(SUFFIX)
|
$(COMPILED_FILES) $(LIB_DIRS) $(LIBRARIES) $(RUN_PATH) $(SUFFIX)
|
||||||
|
|
||||||
DAMASK_spectral_driver.o: DAMASK_spectral_driver.f90 DAMASK_spectral_solverBasic.o $(PETSC_FILES)
|
DAMASK_spectral_driver.o: DAMASK_spectral_driver.f90 DAMASK_spectral_solverBasic.o $(PETSC_FILES)
|
||||||
$(PREFIX) $(COMPILERNAME) $(COMPILE_MAXOPTI) -c DAMASK_spectral_driver.f90 $(SUFFIX)
|
$(PREFIX) $(COMPILERNAME) $(COMPILE_MAXOPTI) -c DAMASK_spectral_driver.f90 $(SUFFIX)
|
||||||
|
|
|
@ -48,7 +48,8 @@ compileOptions = ' -DSpectral -DFLOAT=8 -DINT=4 -I%s/lib'%damaskEnv.rootDir()
|
||||||
LDFLAGS = '-Wl,-rpath,%s/lib,-rpath,%s/lib64'%(options['FFTW_ROOT'],options['FFTW_ROOT'])
|
LDFLAGS = '-Wl,-rpath,%s/lib,-rpath,%s/lib64'%(options['FFTW_ROOT'],options['FFTW_ROOT'])
|
||||||
if options['F90'] == 'gfortran':
|
if options['F90'] == 'gfortran':
|
||||||
LDFLAGS += ' -shared -Wl,-undefined,dynamic_lookup' # solved error: Undefined symbols for architecture x86_64: "_PyArg_ParseTupleAndKeywords" as found on https://lists.macosforge.org/pipermail/macports-dev/2013-May/022735.html
|
LDFLAGS += ' -shared -Wl,-undefined,dynamic_lookup' # solved error: Undefined symbols for architecture x86_64: "_PyArg_ParseTupleAndKeywords" as found on https://lists.macosforge.org/pipermail/macports-dev/2013-May/022735.html
|
||||||
|
else:
|
||||||
|
LDFLAGS += ' -shared-intel'
|
||||||
|
|
||||||
# see http://cens.ioc.ee/pipermail/f2py-users/2003-December/000621.html
|
# see http://cens.ioc.ee/pipermail/f2py-users/2003-December/000621.html
|
||||||
if options['IMKL_ROOT']:
|
if options['IMKL_ROOT']:
|
||||||
|
@ -56,7 +57,7 @@ if options['IMKL_ROOT']:
|
||||||
arch = 'gf'
|
arch = 'gf'
|
||||||
elif options['F90'] == 'ifort':
|
elif options['F90'] == 'ifort':
|
||||||
arch = 'intel'
|
arch = 'intel'
|
||||||
lib_lapack = '-L%s/lib/intel64 -lmkl_%s_lp64 -lmkl_core -lmkl_sequential -lpthread -lm -liomp5'\
|
lib_lapack = '-L%s/lib/intel64 -lmkl_%s_lp64 -lmkl_core -lmkl_sequential -lm'\
|
||||||
%(options['IMKL_ROOT'],arch)
|
%(options['IMKL_ROOT'],arch)
|
||||||
LDFLAGS +=',-rpath,%s/lib/intel64'%(options['IMKL_ROOT'])
|
LDFLAGS +=',-rpath,%s/lib/intel64'%(options['IMKL_ROOT'])
|
||||||
elif options['ACML_ROOT'] != '':
|
elif options['ACML_ROOT'] != '':
|
||||||
|
|
|
@ -33,7 +33,7 @@ fortCmd = "ifort"
|
||||||
# -Wl,-rpath=/usr/lib64,-rpath=/usr/lib run path for lapack libraries
|
# -Wl,-rpath=/usr/lib64,-rpath=/usr/lib run path for lapack libraries
|
||||||
# -llapack link against lapack
|
# -llapack link against lapack
|
||||||
|
|
||||||
compile_fortran = (fortCmd + " -c -fPIC -auto " +
|
compile_fortran = (fortCmd + " -c -fPIC -auto -shared-intel " +
|
||||||
"-I%I -I../lib -free -O1 -fpp -openmp " +
|
"-I%I -I../lib -free -O1 -fpp -openmp " +
|
||||||
"-ftz -diag-disable 5268 " +
|
"-ftz -diag-disable 5268 " +
|
||||||
"-implicitnone -assume byterecl " +
|
"-implicitnone -assume byterecl " +
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
#
|
||||||
|
# DAMASK Abaqus Environment File
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
# ------------------------------------
|
||||||
|
# originally taken from Abaqus ver. 6.11.1
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Linux (Opteron/EM64T) Settings:
|
||||||
|
#
|
||||||
|
# Compile and Link command for user subroutines.
|
||||||
|
# Compile_cpp and link_exe for Abaqus make utility.
|
||||||
|
#
|
||||||
|
import os, re, glob, driverUtils
|
||||||
|
|
||||||
|
# Use the version in $PATH
|
||||||
|
fortCmd = "ifort"
|
||||||
|
|
||||||
|
# -free to use free-format FORTRAN 90 syntax
|
||||||
|
# -O <0-3> optimization level
|
||||||
|
# -fpp use FORTRAN preprocessor on source code
|
||||||
|
# -openmp build with openMP support
|
||||||
|
# -w90 -w95 suppress messages about use of non-standard Fortran (previous version of abaqus_v6.env only)
|
||||||
|
# -WB turn a compile-time bounts check into a warning (previous version of abaqus_v6.env only)
|
||||||
|
# -mP2OPT_hpo_vec_divbyzero=F inofficial compiler switch, proposed by abaqus but highly dubios (previous version of abaqus_v6.env only)
|
||||||
|
# -ftz flush underflow to zero
|
||||||
|
# -diag-disable 5268 disable warnings about line length > 132 (only comments there anyway)
|
||||||
|
# -implicitnone assume no implicit types (e.g. i for integer)
|
||||||
|
# -assume byterecl count record length in bytes
|
||||||
|
# -real-size 64 -DFLOAT=8 assume size of real to be 8 bytes, matches our definition of pReal
|
||||||
|
# -integer-size 32 -DINT=4 assume size of integer to be 4 bytes, matches our definition of pInt
|
||||||
|
# -L/usr/lib64 -L/usr/lib search path for lapack libraries
|
||||||
|
# -Wl,-rpath=/usr/lib64,-rpath=/usr/lib run path for lapack libraries
|
||||||
|
# -llapack link against lapack
|
||||||
|
|
||||||
|
compile_fortran = (fortCmd + " -c -fPIC -auto -shared-intel " +
|
||||||
|
"-I%I -I../lib -free -O1 -fpp " +
|
||||||
|
"-ftz -diag-disable 5268 " +
|
||||||
|
"-implicitnone -assume byterecl " +
|
||||||
|
"-real-size 64 -integer-size 32 -DFLOAT=8 -DINT=4 " +
|
||||||
|
"-L/usr/lib64 -L/usr/lib " +
|
||||||
|
"-Wl,-rpath=/usr/lib64,-rpath=/usr/lib " +
|
||||||
|
"-llapack")
|
||||||
|
|
||||||
|
# Abaqus/CAE will generate an input file without parts and assemblies.
|
||||||
|
cae_no_parts_input_file=ON
|
||||||
|
# Both the Abaqus/Explicit packager and analysis are run in double precision.
|
||||||
|
double_precision=BOTH
|
||||||
|
# The user will not be asked whether old job files of the same name should be deleted.
|
||||||
|
ask_delete=OFF
|
||||||
|
|
||||||
|
# You can compile DAMASK into a library to be used with abaqus
|
||||||
|
# it saves you from compiling the subroutine for each job
|
||||||
|
# in this case you do not have to specify a usersubroutine file
|
||||||
|
# however if you still do, the compiled version will override that in the library
|
||||||
|
# Procedure:
|
||||||
|
# 1. create a library directory, e.g. abqlib, in your prefered location
|
||||||
|
# 2. build the library replacing your_prefered_location/abqlib with the correct path to the directory created in 1.:
|
||||||
|
# abaqus make -l DAMASK_abaqus_std.f -dir your_prefered_location/abqlib
|
||||||
|
# abaqus make -l DAMASK_abaqus_exp.f -dir your_prefered_location/abqlib
|
||||||
|
# 3. uncomment the next line after replacing your_prefered_location/abqlib with the correct path to the directory created in 1.
|
||||||
|
# usub_lib_dir='your_prefered_location/abqlib'
|
||||||
|
|
||||||
|
# Remove the temporary names from the namespace
|
||||||
|
del fortCmd
|
||||||
|
|
|
@ -410,7 +410,7 @@ then
|
||||||
PROFILE="-prof-gen=srcpos"
|
PROFILE="-prof-gen=srcpos"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB"
|
FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB -shared-intel"
|
||||||
if test "$MTHREAD" = "OPENMP"
|
if test "$MTHREAD" = "OPENMP"
|
||||||
then
|
then
|
||||||
FORT_OPT=" $FORT_OPT -openmp"
|
FORT_OPT=" $FORT_OPT -openmp"
|
||||||
|
@ -436,21 +436,21 @@ FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
DFORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTLOWMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTLOWMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -shared-intel -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTRANMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTRANMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -shared-intel -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTHIGHMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTHIGHMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias -shared-intel -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
@ -470,21 +470,21 @@ then
|
||||||
DFORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTLOWMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTLOWMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -shared-intel $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTRANMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTRANMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -shared-intel $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-enable sc3 -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
DFORTHIGHMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTHIGHMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias -shared-intel $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2013.1 \
|
||||||
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
-openmp -openmp_report2 -openmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
|
|
@ -60,10 +60,10 @@ BLASDIR=${BLASDIR%/} # remove trailing slash
|
||||||
|
|
||||||
case $BLASTYPE in
|
case $BLASTYPE in
|
||||||
IMKL | imkl)
|
IMKL | imkl)
|
||||||
BLAS=" -I$BLASDIR/include -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lpthread -lm -Wl,-rpath,$BLASDIR/lib/intel64 -L$BLASDIR/lib/intel64" #I'm not too shure about the include (does that work for linker?)
|
BLAS=" -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lm -Wl,-rpath,$BLASDIR/lib/intel64 -L$BLASDIR/lib/intel64"
|
||||||
;;
|
;;
|
||||||
ACML | acml)
|
ACML | acml)
|
||||||
BLAS=" -lacml -Wl,-rpath,$BLASDIR/ifort64_mp/lib -L$BLASDIR/ifort64_mp/lib"
|
BLAS=" -lacml -Wl,-rpath,$BLASDIR/ifort64/lib -L$BLASDIR/ifort64/lib"
|
||||||
;;
|
;;
|
||||||
LAPACK | lapack)
|
LAPACK | lapack)
|
||||||
BLAS=" -llapack -Wl,-rpath,$BLASDIR/lib,-rpath,$BLASDIR/lib64 -L$BLASDIR/lib64 -L$BLASDIR/lib"
|
BLAS=" -llapack -Wl,-rpath,$BLASDIR/lib,-rpath,$BLASDIR/lib64 -L$BLASDIR/lib64 -L$BLASDIR/lib"
|
||||||
|
|
Loading…
Reference in New Issue