Difference between revisions of "Useful Makefiles"
Jump to navigation
Jump to search
import>Cen1001 (→Tardis) |
import>Cen1001 |
||
Line 84: | Line 84: | ||
AR = |
AR = |
||
#---------------------------------------------------------------------------- |
#---------------------------------------------------------------------------- |
||
+ | |||
+ | |||
+ | ===NAMD2 with Intel compilers=== |
||
+ | |||
+ | This one requires the openmpi/intel64 module |
||
+ | |||
+ | ====Step 1: charm++==== |
||
+ | |||
+ | ./build charm++ mpi-linux-amd64 icc |
||
+ | |||
+ | my src/arch/mpi-linux-amd64/conv-mach.sh |
||
+ | |||
+ | CMK_REAL_COMPILER=`mpiCC -show 2>/dev/null | cut -d' ' -f1 ` |
||
+ | case "$CMK_REAL_COMPILER" in |
||
+ | g++) CMK_AMD64="-m64 -fPIC" ;; |
||
+ | esac |
||
+ | |||
+ | CMK_CPP_CHARM="/lib/cpp -P" |
||
+ | CMK_CPP_C="mpicc -E" |
||
+ | CMK_CC="mpicc $CMK_AMD64 " |
||
+ | CMK_CXX="mpiCC $CMK_AMD64 " |
||
+ | CMK_CXXPP="mpiCC -E $CMK_AMD64 " |
||
+ | |||
+ | CMK_SYSLIBS=" " |
||
+ | CMK_LIBS="-lckqt $CMK_SYSLIBS " |
||
+ | CMK_LD_LIBRARY_PATH="-Wl,-rpath,$CHARMLIBSO/" |
||
+ | |||
+ | CMK_NATIVE_CC="gcc $CMK_AMD64 " |
||
+ | CMK_NATIVE_LD="gcc $CMK_AMD64 " |
||
+ | CMK_NATIVE_CXX="g++ $CMK_AMD64 " |
||
+ | CMK_NATIVE_LDXX="g++ $CMK_AMD64 " |
||
+ | CMK_NATIVE_LIBS="" |
||
+ | |||
+ | # fortran compiler |
||
+ | CMK_CF77="f77" |
||
+ | CMK_CF90="f90" |
||
+ | CMK_F90LIBS=" " |
||
+ | CMK_F77LIBS=" " |
||
+ | CMK_MOD_NAME_ALLCAPS=1 |
||
+ | CMK_MOD_EXT="mod" |
||
+ | CMK_F90_USE_MODDIR=1 |
||
+ | CMK_F90_MODINC="-p" |
||
+ | |||
+ | CMK_QT='generic64' |
||
+ | CMK_RANLIB="ranlib" |
||
+ | |||
+ | and src/arch/common/cc-icc.sh |
||
+ | |||
+ | CMK_CPP_C='mpicc -E ' |
||
+ | CMK_CC="mpicc -fpic " |
||
+ | CMK_CXX="mpiCC -fpic " |
||
+ | CMK_CXXPP='mpiCC -E ' |
||
+ | CMK_LD='mpicc -i_dynamic ' |
||
+ | CMK_LDXX='mpiCC -i_dynamic ' |
||
+ | CMK_LD_LIBRARY_PATH="-Wl,-rpath,$CHARMLIBSO/" |
||
+ | CMK_CF90='ifc -auto ' |
||
+ | CMK_CF90_FIXED="$CMK_CF90 -132 -FI " |
||
+ | CMK_NATIVE_F90="$CMK_CF90" |
||
+ | CMK_NATIVE_CC="$CMK_CC" |
||
+ | CMK_NATIVE_CXX="$CMK_CXX" |
||
+ | CMK_NATIVE_LD="$CMK_LD" |
||
+ | CMK_NATIVE_LDXX="$CMK_LDXX" |
||
+ | CMK_F90LIBS='-L/usr/local/intel/compiler70/ia32/lib -L/opt/intel/compiler70/ia32/lib -lintrins -lIEPCF90 -lPEPCF90 -lF90 -lintrins -limf ' |
||
+ | CMK_MOD_NAME_ALLCAPS=1 |
||
+ | CMK_MOD_EXT="mod" |
||
+ | CMK_F90_USE_MODDIR="" |
Revision as of 17:02, 17 January 2007
This page is a place to stick Makefiles or other config files for common codes that you've got working on the local compute servers
Tardis
cp2k with intel compilers
You need the mkl, mpi/mvapich/intel, blacs/mvapich/intel64, and scalapack/intel modules loaded
# The following settings worked for: # - AMD64 Opteron cluster # - SUSE Linux 10.0 (x86_64) # - Intel(R) Fortran Compiler for Intel(R) EM64T-based applications, Version 9.1.037 # - Intel(R) Cluster Math Kernel Library v7.2 for Linux # - MVAPICH # - BLACS and ScaLAPACK compiled for Intel # PERL = perl CC = cc CPP = cpp FC = mpif90 -FR LD = mpif90 AR = ar -r DFLAGS = -D__INTEL -D__FFTSG\ -D__parallel -D__BLACS -D__SCALAPACK\ -Dfftwnd_f77=fftwnd_f77_\ -Dfftwnd_f77_one=fftwnd_f77_one_\ -Dfftw3d_f77_create_plan=fftw3d_f77_create_plan_\ -Dfftw2d_f77_create_plan=fftw2d_f77_create_plan_\ -Dfftwnd_f77_destroy_plan=fftwnd_f77_destroy_plan_\ -Dfftw_f77_create_plan=fftw_f77_create_plan_\ -Dfftw_f77=fftw_f77_\ -Dfftw_f77_destroy_plan=fftw_f77_destroy_plan_ CPPFLAGS = -traditional -C $(DFLAGS) -P FCFLAGS = $(DFLAGS) -O2 MKLPATH = /usr/local/Cluster-Apps/intel/mkl/8.0/lib/em64t LDFLAGS = $(FCFLAGS) -i-static LIBS = \ -L/usr/local/Cluster-Apps/scalapack/intel/lib64 -lscalapack \ $(MKLPATH)/libmkl_lapack.a \ -L/usr/local/Cluster-Apps/blacs/mvapich/intel/lib64 -lblacsF77init -lblacs \ $(MKLPATH)/libmkl_em64t.a \ $(MKLPATH)/libguide.a\ -lpthread OBJECTS_ARCHITECTURE = machine_intel.o # -D__FFTW\
Jochen's CPMD with Portland compilers and MVAPICH
You need the mpi/mvapich/pgi module but ACML comes in automatically with PGI.
#---------------------------------------------------------------------------- # Makefile for cpmd.x (plane wave electronic calculation) # Configuration: PGI-AMD64-MPI # Creation of Makefile: Dec 5 2006 # on Linux tardis 2.6.15.1-clustervision-128_cvos #1 SMP Mon Sep 25 12:05:46 CEST 2006 x86_64 x86_64 x86_64 GNU/Linux # Author: jb376 #---------------------------------------------------------------------------- # SHELL = /bin/sh # #--------------- Default Configuration for PGI-AMD64-MPI --------------- SRC = . DEST = . BIN = . #QMMM_FLAGS = -D__QMECHCOUPL #QMMM_LIBS = -L. -lmm FFLAGS = -r8 -pc=64 -Msignextend #LFLAGS = -Bstatic -L. -latlas_x86-64 $(QMMM_LIBS) #LFLAGS = -Bstatic -L. -latlas_x86_64 $(QMMM_LIBS) LFLAGS = -lacml $(QMMM_LIBS) CFLAGS = CPP = /lib/cpp -P -C -traditional #CPPFLAGS = -D__Linux -D__PGI -DLAPACK -DFFT_DEFAULT -DPOINTER8 -D__pgf90 \ # -DPARALLEL -DMP_LIBRARY=__MPI -DMYRINET CPPFLAGS = -D__Linux -D__PGI -DLAPACK -DFFT_DEFAULT -DPOINTER8 -D__pgf90 \ -DPARALLEL -DMP_LIBRARY=__MPI NOOPT_FLAG = CC = mpicc -O2 -Wall -m64 FC = mpif77 -c -fastsse -tp k8-64 LD = mpif77 -fastsse -tp k8-64 AR = #----------------------------------------------------------------------------
NAMD2 with Intel compilers
This one requires the openmpi/intel64 module
Step 1: charm++
./build charm++ mpi-linux-amd64 icc
my src/arch/mpi-linux-amd64/conv-mach.sh
CMK_REAL_COMPILER=`mpiCC -show 2>/dev/null | cut -d' ' -f1 ` case "$CMK_REAL_COMPILER" in g++) CMK_AMD64="-m64 -fPIC" ;; esac
CMK_CPP_CHARM="/lib/cpp -P" CMK_CPP_C="mpicc -E" CMK_CC="mpicc $CMK_AMD64 " CMK_CXX="mpiCC $CMK_AMD64 " CMK_CXXPP="mpiCC -E $CMK_AMD64 "
CMK_SYSLIBS=" " CMK_LIBS="-lckqt $CMK_SYSLIBS " CMK_LD_LIBRARY_PATH="-Wl,-rpath,$CHARMLIBSO/"
CMK_NATIVE_CC="gcc $CMK_AMD64 " CMK_NATIVE_LD="gcc $CMK_AMD64 " CMK_NATIVE_CXX="g++ $CMK_AMD64 " CMK_NATIVE_LDXX="g++ $CMK_AMD64 " CMK_NATIVE_LIBS=""
# fortran compiler CMK_CF77="f77" CMK_CF90="f90" CMK_F90LIBS=" " CMK_F77LIBS=" " CMK_MOD_NAME_ALLCAPS=1 CMK_MOD_EXT="mod" CMK_F90_USE_MODDIR=1 CMK_F90_MODINC="-p"
CMK_QT='generic64' CMK_RANLIB="ranlib"
and src/arch/common/cc-icc.sh
CMK_CPP_C='mpicc -E ' CMK_CC="mpicc -fpic " CMK_CXX="mpiCC -fpic " CMK_CXXPP='mpiCC -E ' CMK_LD='mpicc -i_dynamic ' CMK_LDXX='mpiCC -i_dynamic ' CMK_LD_LIBRARY_PATH="-Wl,-rpath,$CHARMLIBSO/" CMK_CF90='ifc -auto ' CMK_CF90_FIXED="$CMK_CF90 -132 -FI " CMK_NATIVE_F90="$CMK_CF90" CMK_NATIVE_CC="$CMK_CC" CMK_NATIVE_CXX="$CMK_CXX" CMK_NATIVE_LD="$CMK_LD" CMK_NATIVE_LDXX="$CMK_LDXX" CMK_F90LIBS='-L/usr/local/intel/compiler70/ia32/lib -L/opt/intel/compiler70/ia32/lib -lintrins -lIEPCF90 -lPEPCF90 -lF90 -lintrins -limf ' CMK_MOD_NAME_ALLCAPS=1 CMK_MOD_EXT="mod" CMK_F90_USE_MODDIR=""