mirror of https://gitlab.com/QEF/q-e.git
88 lines
3.2 KiB
Plaintext
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
|