#---------------------------------------------------------------------------# Items in this file will need to be changed for each platform.# (Note these definitions are inconsistent with NPB2.1.)#---------------------------------------------------------------------------

#---------------------------------------------------------------------------# This is the fortran compiler used for MPI programs#---------------------------------------------------------------------------MPIF77 = mpif77# This links MPI fortran programs; usually the same as ${MPIF77}FLINK = $(MPIF77)

#---------------------------------------------------------------------------# These macros are passed to the linker to help link with MPI correctly#---------------------------------------------------------------------------#FMPI_LIB = -L/common/mvapich2/intel/lib/FMPI_LIB = -L/opt/openmpi/intel/lib/

#---------------------------------------------------------------------------# These macros are passed to the compiler to help find 'mpif.h'#---------------------------------------------------------------------------#FMPI_INC = -I/common/mvapich2/intel/include/FMPI_INC = -I/opt/openmpi/intel/include/

#---------------------------------------------------------------------------# This is the C compiler used for MPI programs#---------------------------------------------------------------------------MPICC = mpicc# This links MPI C programs; usually the same as ${MPICC}CLINK = $(MPICC)

#---------------------------------------------------------------------------# These macros are passed to the linker to help link with MPI correctly#---------------------------------------------------------------------------#CMPI_LIB = -L/common/mvapich2/intel/lib/CMPI_LIB = -L/opt/openmpi/intel/lib/

#---------------------------------------------------------------------------# These macros are passed to the compiler to help find 'mpi.h'#---------------------------------------------------------------------------#CMPI_INC = -I/common/mvapich2/intel/includeCMPI_INC = -I/opt/openmpi/intel/include

#---------------------------------------------------------------------------# MPI dummy library:## Uncomment if you want to use the MPI dummy library supplied by NAS instead# of the true message-passing library. The include file redefines several of# the above macros. It also invokes make in subdirectory MPI_dummy. Make# sure that no spaces or tabs precede include.#---------------------------------------------------------------------------# include ../config/make.dummy

#---------------------------------------------------------------------------# Utilities C:## This is the C compiler used to compile C utilities. Flags required by# this compiler go here also; typically there are few flags required; hence# there are no separate macros provided for such flags.#---------------------------------------------------------------------------CC = icc

#---------------------------------------------------------------------------# Destination of executables, relative to subdirs of the main directory. .#---------------------------------------------------------------------------BINDIR = ../bin

#---------------------------------------------------------------------------# Some machines (e.g. Crays) have 128-bit DOUBLE PRECISION numbers, which# is twice the precision required for the NPB suite. A compiler flag# (e.g. -dp) can usually be used to change DOUBLE PRECISION variables to# 64 bits, but the MPI library may continue to send 128 bits. Short of# recompiling MPI, the solution is to use MPI_REAL to send these 64-bit# numbers, and MPI_COMPLEX to send their complex counterparts. Uncomment# the following line to enable this substitution.## NOTE: IF THE I/O BENCHMARK IS BEING BUILT, WE USE CONVERTFLAG TO# SPECIFIY THE FORTRAN RECORD LENGTH UNIT. IT IS A SYSTEM-SPECIFIC# VALUE (USUALLY 1 OR 4). UNCOMMENT THE SECOND LINE AND SUBSTITUTE# THE CORRECT VALUE FOR "length".# IF BOTH 128-BIT DOUBLE PRECISION NUMBERS AND I/O ARE TO BE ENABLED,# UNCOMMENT THE THIRD LINE AND SUBSTITUTE THE CORRECT VALUE FOR# "length"#---------------------------------------------------------------------------# CONVERTFLAG = -DCONVERTDOUBLE# CONVERTFLAG = -DFORTRAN_REC_SIZE=length# CONVERTFLAG = -DCONVERTDOUBLE -DFORTRAN_REC_SIZE=length

#---------------------------------------------------------------------------# The variable RAND controls which random number generator# is used. It is described in detail in Doc/README.install.# Use "randi8" unless there is a reason to use another one.# Other allowed values are "randi8_safe", "randdp" and "randdpvec"#---------------------------------------------------------------------------# RAND = randi8# The following is highly reliable but may be slow:RAND = randdp

Для удобства ещё сделал config/suite.def

Код:

# config/suite.def# This file is used to build several benchmarks with a single command.# Typing "make suite" in the main directory will build all the benchmarks# specified in this file.# Each line of this file contains a benchmark name, class, and number# of nodes. The name is one of "cg", "is", "ep", mg", "ft", "sp", "bt",# "lu", and "dt".# The class is one of "S", "W", "A", "B", "C", and "D".# The number of nodes must be a legal number for a particular# benchmark. The utility which parses this file is primitive, so# formatting is inflexible. Separate name/class/number by tabs.# Comments start with "#" as the first character on a line.# No blank lines.# The following example builds 1 processor sample sizes of all benchmarks.ft C 8mg C 8sp C 9lu C 8bt C 9is C 8ep C 14cg C 8#dt B 14