quantum-espresso/install/Make.altix

88 lines
3.2 KiB
Plaintext

# System-dependent definitions for SGI Altix 350/3000 machines running Linux
# (parallel, MPI)
# Contributed by by Martin Hilgeman <hilgeman@sgi.com>
# Red Hat Linux Advanced Server release 2.1AS (Derry),
# SGI ProPack 2.4 for Linux, Build 240rp04021313_10046-040213135,
# SCSL >= 1.4.1, MPT >= 1.8.1, Intel 7.1 Fortran 95 and C++ compiler
#
# This Makefile has also been tested on:
# Red Hat Enterprise Linux AS release 3 (Taroon) with
# SGI ProPack 3SP2 for Linux, Build 302r67-0410222239
# SCSL >= 1.5.1.0, MPT >= 1.10, Intel 8.0.070 C/C++ compiler and
# Intel 8.0.050 Fortran compiler
#
# Edit according to your needs
.SUFFIXES :
.SUFFIXES : .o .c .f .f90
.f90.o:
$(F90) $(F90FLAGS) -c $<
.f.o:
$(F77) $(FFLAGS) -c $<
.c.o:
$(CC) $(CFLAGS) -c $<
# Use the SGI SCSL scientific library (recommended)
# We also use SHMEM as the parallel transport, which seems to be much
# faster in the reduction routines
CPPFLAGS = -D__SGI -D__SGI64 -D__ALTIX -D__LINUX64 -D__SCSL -D__PARA \
-D__MPI -D__SHMEM -DSHMEM -I../include -I.
## Use precompiled fftw library (version <= 2.1.5, NOT v.3!)
## In this case, specify also how to load the fftw library (FFTW_LIB)
## and the path to the fftw.h include file (FFTW_INC_DIR). Example:
# FFTW_LIB = -L/usr/local/src/fftw-2.1.3/fftw/.libs -lfftw64
# FFTW_INC_DIR = /usr/local/src/fftw-2.1.3/fftw
# CPPFLAGS = -D__SGI -D__SGI64 -D__ALTIX -D__LINUX64 -D__FFTW -D__PARA \
# -D__MPI -D__SHMEM -DSHMEM -I../include -I$(FFTW_INC_DIR)
## Use the local copy of fftw
# CPPFLAGS = -D__SGI -D__SGI64 -D__ALTIX -D__LINUX64 -D__FFTW \
# -D__USE_INTERNAL_FFTW -D__PARA -D__MPI -D__SHMEM -DSHMEM \
# -I../include -I.
## Serial version
# CPPFLAGS = -D__SGI -D__SGI64 -D__ALTIX -D__LINUX64 -D__SCSL \
# -I../include -I.
# Use the Intel 8.0 Fortran compiler
F90 = ifort
F77 = ifort
# Fortran compiler flags
# -W0 disable warnings
# -O3 more aggressive optimization
# -tpp2 Itanium2 family optimization
# -cm suppress all comment messages
# -w disable all warnings
# -ftz flush denormal results to zero
# -ip enable single-file IP optimizations (within files)
# -fno-alias assume no aliasing
# -safe_cray_ptr assume that CRAY pointers do not alias other variables
# -assume byterecl assume that record lengths are in bytes
# -r8 defines real variables to be REAL(KIND=8)
FFLAGS = -cm -w -r8 -ftz -tpp2 -assume byterecl $(OFLAGS)
OFLAGS = -O3 -fno-alias -safe_cray_ptr -ip
F90FLAGS = $(FFLAGS) -fpp $(CPPFLAGS) -I../Modules -I../PW -I../PH
# Use the Intel 8.0 C/C++ compiler
CC = icc
CFLAGS = -ip -tpp2 $(CPPFLAGS) -O3
# Libraries:
# Use the SGI SCSL scientific library (recommended)
LIBS = -lmpi -lsma -lscs
## Use the Intel MKL libraries
# LIBS = -lmpi -lsma $(FFTW_LIB) -L/opt/intel/mkl60/lib/64 \
# -lmkl_lapack64 -lmkl_itp -lguide -lpthread
LD = $(F90)
LDFLAGS = $(FFLAGS) ../flib/ptools.a ../flib/flib.a ../clib/clib.a $(LIBS)
AR = ar
ARFLAGS = ruv
RANLIB = echo