Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Added our tweaked version of NAS benchmarks.
[simgrid.git] / examples / smpi / NAS / config / make.def
1 #---------------------------------------------------------------------------
2 #
3 #                SITE- AND/OR PLATFORM-SPECIFIC DEFINITIONS. 
4 #
5 #---------------------------------------------------------------------------
6
7 #---------------------------------------------------------------------------
8 # Items in this file will need to be changed for each platform.
9 #---------------------------------------------------------------------------
10
11 #---------------------------------------------------------------------------
12 # Parallel Fortran:
13 #
14 # For CG, EP, FT, MG, LU, SP and BT, which are in Fortran, the following must 
15 # be defined:
16 #
17 # MPIF77     - Fortran compiler
18 # FFLAGS     - Fortran compilation arguments
19 # FMPI_INC   - any -I arguments required for compiling MPI/Fortran 
20 # FLINK      - Fortran linker
21 # FLINKFLAGS - Fortran linker arguments
22 # FMPI_LIB   - any -L and -l arguments required for linking MPI/Fortran 
23
24 # compilations are done with $(MPIF77) $(FMPI_INC) $(FFLAGS) or
25 #                            $(MPIF77) $(FFLAGS)
26 # linking is done with       $(FLINK) $(FMPI_LIB) $(FLINKFLAGS)
27 #---------------------------------------------------------------------------
28
29 #---------------------------------------------------------------------------
30 # This is the fortran compiler used for MPI programs
31 #---------------------------------------------------------------------------
32 MPIF77 = smpicc
33 # This links MPI fortran programs; usually the same as ${MPIF77}
34 FLINK   = $(MPIF77)
35
36 #---------------------------------------------------------------------------
37 # These macros are passed to the linker to help link with MPI correctly
38 #---------------------------------------------------------------------------
39 FMPI_LIB  = -lgfortran
40
41 #---------------------------------------------------------------------------
42 # These macros are passed to the compiler to help find 'mpif.h'
43 #---------------------------------------------------------------------------
44 FMPI_INC = -I/usr/lib/openmpi/include
45
46 #---------------------------------------------------------------------------
47 # Global *compile time* flags for Fortran programs
48 #---------------------------------------------------------------------------
49 FFLAGS  = -O2
50
51 #---------------------------------------------------------------------------
52 # Global *link time* flags. Flags for increasing maximum executable 
53 # size usually go here. 
54 #---------------------------------------------------------------------------
55 FLINKFLAGS = -O2
56
57
58 #---------------------------------------------------------------------------
59 # Parallel C:
60 #
61 # For IS, which is in C, the following must be defined:
62 #
63 # MPICC      - C compiler 
64 # CFLAGS     - C compilation arguments
65 # CMPI_INC   - any -I arguments required for compiling MPI/C 
66 # CLINK      - C linker
67 # CLINKFLAGS - C linker flags
68 # CMPI_LIB   - any -L and -l arguments required for linking MPI/C 
69 #
70 # compilations are done with $(MPICC) $(CMPI_INC) $(CFLAGS) or
71 #                            $(MPICC) $(CFLAGS)
72 # linking is done with       $(CLINK) $(CMPI_LIB) $(CLINKFLAGS)
73 #---------------------------------------------------------------------------
74
75 #---------------------------------------------------------------------------
76 # This is the C compiler used for MPI programs
77 #---------------------------------------------------------------------------
78 MPICC = smpicc
79 # This links MPI C programs; usually the same as ${MPICC}
80 CLINK   = $(MPICC)
81
82 #---------------------------------------------------------------------------
83 # These macros are passed to the linker to help link with MPI correctly
84 #---------------------------------------------------------------------------
85 CMPI_LIB  =
86
87 #---------------------------------------------------------------------------
88 # These macros are passed to the compiler to help find 'mpi.h'
89 #---------------------------------------------------------------------------
90 CMPI_INC =
91
92 #---------------------------------------------------------------------------
93 # Global *compile time* flags for C programs
94 #---------------------------------------------------------------------------
95 CFLAGS  = -O2
96
97 #---------------------------------------------------------------------------
98 # Global *link time* flags. Flags for increasing maximum executable 
99 # size usually go here. 
100 #---------------------------------------------------------------------------
101 CLINKFLAGS = -O2
102
103
104 #---------------------------------------------------------------------------
105 # MPI dummy library:
106 #
107 # Uncomment if you want to use the MPI dummy library supplied by NAS instead 
108 # of the true message-passing library. The include file redefines several of
109 # the above macros. It also invokes make in subdirectory MPI_dummy. Make 
110 # sure that no spaces or tabs precede include.
111 #---------------------------------------------------------------------------
112 # include ../config/make.dummy
113
114
115 #---------------------------------------------------------------------------
116 # Utilities C:
117 #
118 # This is the C compiler used to compile C utilities.  Flags required by 
119 # this compiler go here also; typically there are few flags required; hence 
120 # there are no separate macros provided for such flags.
121 #---------------------------------------------------------------------------
122 CC      = gcc -g
123
124
125 #---------------------------------------------------------------------------
126 # Destination of executables, relative to subdirs of the main directory. . 
127 #---------------------------------------------------------------------------
128 BINDIR  = ../bin
129
130
131 #---------------------------------------------------------------------------
132 # Some machines (e.g. Crays) have 128-bit DOUBLE PRECISION numbers, which
133 # is twice the precision required for the NPB suite. A compiler flag 
134 # (e.g. -dp) can usually be used to change DOUBLE PRECISION variables to
135 # 64 bits, but the MPI library may continue to send 128 bits. Short of
136 # recompiling MPI, the solution is to use MPI_REAL to send these 64-bit
137 # numbers, and MPI_COMPLEX to send their complex counterparts. Uncomment
138 # the following line to enable this substitution. 
139
140 # NOTE: IF THE I/O BENCHMARK IS BEING BUILT, WE USE CONVERTFLAG TO
141 #       SPECIFIY THE FORTRAN RECORD LENGTH UNIT. IT IS A SYSTEM-SPECIFIC
142 #       VALUE (USUALLY 1 OR 4). UNCOMMENT THE SECOND LINE AND SUBSTITUTE
143 #       THE CORRECT VALUE FOR "length".
144 #       IF BOTH 128-BIT DOUBLE PRECISION NUMBERS AND I/O ARE TO BE ENABLED,
145 #       UNCOMMENT THE THIRD LINE AND SUBSTITUTE THE CORRECT VALUE FOR
146 #       "length"
147 #---------------------------------------------------------------------------
148 # CONVERTFLAG   = -DCONVERTDOUBLE
149 # CONVERTFLAG   = -DFORTRAN_REC_SIZE=length
150 # CONVERTFLAG   = -DCONVERTDOUBLE -DFORTRAN_REC_SIZE=length
151
152
153 #---------------------------------------------------------------------------
154 # The variable RAND controls which random number generator 
155 # is used. It is described in detail in README.install. 
156 # Use "randi8" unless there is a reason to use another one. 
157 # Other allowed values are "randi8_safe", "randdp" and "randdpvec"
158 #---------------------------------------------------------------------------
159 RAND   = randi8
160 # The following is highly reliable but may be slow:
161 # RAND   = randdp
162