forked from ccelio/Speckle
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathhost.cfg
327 lines (284 loc) · 13.8 KB
/
host.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
#------------------------------------------------------------------------------
# SPEC CPU2017 config file for: gcc / g++ / gfortran on Linux x86
#------------------------------------------------------------------------------
#
# Usage: (1) Copy this to a new name
# cd $SPEC/config
# cp Example-x.cfg myname.cfg
# (2) Change items that are marked 'EDIT' (search for it)
#
# SPEC tested this config file with:
# Compiler version(s): 4.4.7, 4.9.2, 5.2.0, 6.3.0
# Operating system(s): Oracle Linux Server 6.5 and 7.2 /
# Red Hat Enterprise Linux Server 6.5 and 7.2
# Hardware: Xeon
#
# If your system differs, this config file might not work.
# You might find a better config file at http://www.spec.org/cpu2017/results
#
# Known Limitations with GCC 4
#
# (1) Possible problem: compile time messages
# error: unrecognized command line option '...'
# Recommendation: Use a newer version of the compiler.
# If that is not possible, remove the unrecognized
# option from this config file.
#
# (2) Possible problem: run time errors messages
# 527.cam4_r or 627.cam4_s *** Miscompare of cam4_validate.txt
# Recommendation: Use a newer version of the compiler.
# If that is not possible, try reducing the optimization.
#
# Compiler issues: Contact your compiler vendor, not SPEC.
# For SPEC help: http://www.spec.org/cpu2017/Docs/techsupport.html
#------------------------------------------------------------------------------
#--------- Label --------------------------------------------------------------
# Arbitrary string to tag binaries
# Two Suggestions: # (1) EDIT this label as you try new ideas.
%define label host # (2) Use a label meaningful to *you*.
#--------- Preprocessor -------------------------------------------------------
%ifndef %{bits} # EDIT to control 32 or 64 bit compilation. Or,
% define bits 64 # you can set it on the command line using:
%endif # 'runcpu --define bits=nn'
%ifndef %{build_ncpus} # EDIT to adjust number of simultaneous compiles.
% define build_ncpus 12 # Or, you can set it on the command line:
%endif # 'runcpu --define build_ncpus=nn'
# Don't change this part.
%define os LINUX
%if %{bits} == 64
% define model -m64
%elif %{bits} == 32
% define model -m32
%else
% error Please define number of bits - see instructions in config file
%endif
#--------- Global Settings ----------------------------------------------------
# For info, see:
# https://www.spec.org/cpu2017/Docs/config.html#fieldname
# Example: https://www.spec.org/cpu2017/Docs/config.html#tune
command_add_redirect = 1
flagsurl = $[top]/config/flags/gcc.xml
ignore_errors = 1
iterations = 1
label = %{label}-m%{bits}
line_width = 1020
log_line_width = 1020
makeflags = --jobs=%{build_ncpus}
mean_anyway = 1
output_format = txt,html,cfg,pdf,csv
preenv = 1
reportable = 0
tune = base
#--------- How Many CPUs? -----------------------------------------------------
# Both SPECrate and SPECspeed can test multiple chips / cores / hw threads
# - For SPECrate, you set the number of copies.
# - For SPECspeed, you set the number of threads.
# See: https://www.spec.org/cpu2017/Docs/system-requirements.html#MultipleCPUs
#
# q. How many should I set?
# a. Unknown, you will have to try it and see!
#
# To get you started, some suggestions:
#
# copies - This config file defaults to testing only 1 copy. You might
# try changing it to match the number of cores on your system,
# or perhaps the number of virtual CPUs as reported by:
# grep -c processor /proc/cpuinfo
# Be sure you have enough memory. See:
# https://www.spec.org/cpu2017/Docs/system-requirements.html#memory
#
# threads - This config file sets a starting point. You could try raising
# it. A higher thread count is much more likely to be useful for
# fpspeed than for intspeed.
#
intrate,fprate:
copies = 1 # EDIT to change number of copies (see above)
intspeed,fpspeed:
threads = 24 # EDIT to change number of OpenMP threads (see above)
#------- Compilers ------------------------------------------------------------
default:
# EDIT: the directory where your compiler is installed
%ifndef %{gcc_dir}
% define gcc_dir %{/usr/}
%endif
# EDIT if needed: the preENV line adds library directories to the runtime
# path. You can adjust it, or add lines for other environment variables.
# See: https://www.spec.org/cpu2017/Docs/config.html#preenv
# and: https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html
preENV_LD_LIBRARY_PATH = %{gcc_dir}/lib64/:%{gcc_dir}/lib/:/lib64
#preENV_LD_LIBRARY_PATH = %{gcc_dir}/lib64/:%{gcc_dir}/lib/:/lib64:%{ENV_LD_LIBRARY_PATH}
SPECLANG = %{gcc_dir}/bin/
CC = $(SPECLANG)gcc -std=c99 %{model}
CXX = $(SPECLANG)g++ %{model}
FC = $(SPECLANG)gfortran %{model}
# How to say "Show me your version, please"
CC_VERSION_OPTION = -v
CXX_VERSION_OPTION = -v
FC_VERSION_OPTION = -v
default:
%if %{bits} == 64
sw_base_ptrsize = 64-bit
sw_peak_ptrsize = 64-bit
%else
sw_base_ptrsize = 32-bit
sw_peak_ptrsize = 32-bit
%endif
#--------- Portability --------------------------------------------------------
default: # data model applies to all benchmarks
%if %{bits} == 32
# Strongly recommended because at run-time, operations using modern file
# systems may fail spectacularly and frequently (or, worse, quietly and
# randomly) if a program does not accommodate 64-bit metadata.
EXTRA_PORTABILITY = -D_FILE_OFFSET_BITS=64
%else
EXTRA_PORTABILITY = -DSPEC_LP64
%endif
# Benchmark-specific portability (ordered by last 2 digits of bmark number)
500.perlbench_r,600.perlbench_s: #lang='C'
%if %{bits} == 32
% define suffix IA32
%else
% define suffix X64
%endif
PORTABILITY = -DSPEC_%{os}_%{suffix}
521.wrf_r,621.wrf_s: #lang='F,C'
CPORTABILITY = -DSPEC_CASE_FLAG
FPORTABILITY = -fconvert=big-endian
523.xalancbmk_r,623.xalancbmk_s: #lang='CXX'
PORTABILITY = -DSPEC_%{os}
526.blender_r: #lang='CXX,C'
PORTABILITY = -funsigned-char -DSPEC_LINUX
527.cam4_r,627.cam4_s: #lang='F,C'
PORTABILITY = -DSPEC_CASE_FLAG
628.pop2_s: #lang='F,C'
CPORTABILITY = -DSPEC_CASE_FLAG
FPORTABILITY = -fconvert=big-endian
#-------- Tuning Flags common to Base and Peak --------------------------------
#
# Speed (OpenMP and Autopar allowed)
#
%if %{bits} == 32
intspeed,fpspeed:
#
# Many of the speed benchmarks (6nn.benchmark_s) do not fit in 32 bits
# If you wish to run SPECint2017_speed or SPECfp2017_speed, please use
#
# runcpu --define bits=64
#
fail_build = 1
%else
intspeed,fpspeed:
EXTRA_OPTIMIZE = -fopenmp -DSPEC_OPENMP
fpspeed:
#
# 627.cam4 needs a big stack; the preENV will apply it to all
# benchmarks in the set, as required by the rules.
#
preENV_OMP_STACKSIZE = 120M
%endif
#-------- Baseline Tuning Flags ----------------------------------------------
#
# EDIT if needed -- Older GCC might not support some of the optimization
# switches here. See also 'About the -fno switches' below.
#
default=base: # flags for all base
OPTIMIZE = -g -O3 -march=native -fno-unsafe-math-optimizations
intrate,intspeed=base: # flags for integer base
%if %{bits} == 32
EXTRA_COPTIMIZE = -fgnu89-inline -fno-strict-aliasing
%else
EXTRA_COPTIMIZE = -fno-strict-aliasing
LDCFLAGS = -z muldefs
%endif
# Notes about the above
# - 500.perlbench_r/600.perlbench_s needs -fno-strict-aliasing.
# - 502.gcc_r/602.gcc_s needs -fgnu89-inline or -z muldefs
# - For 'base', all benchmarks in a set must use the same options.
# - Therefore, all base benchmarks get the above. See:
# www.spec.org/cpu2017/Docs/runrules.html#BaseFlags
# www.spec.org/cpu2017/Docs/benchmarks/500.perlbench_r.html
# www.spec.org/cpu2017/Docs/benchmarks/502.gcc_r.html
#-------- Peak Tuning Flags ----------------------------------------------
default=peak:
basepeak = yes # if you develop some peak tuning, remove this line.
#
# -----------------------
# About the -fno switches
# -----------------------
#
# For 'base', this config file (conservatively) disables some optimizations.
# You might want to try turning some of them back on, by creating a 'peak'
# section here, with individualized benchmark options:
#
# 500.perlbench_r=peak:
# OPTIMIZE = this
# 502.gcc_r=peak:
# OPTIMIZE = that
# 503.bwaves_r=peak:
# OPTIMIZE = other .....(and so forth)
#
# If you try it:
# - You must remove the 'basepeak' option, above.
# - You will need time and patience, to diagnose and avoid any errors.
# - perlbench is unlikely to work with strict aliasing
# - Some floating point benchmarks may get wrong answers, depending on:
# the particular chip
# the version of GCC
# other optimizations enabled
# -m32 vs. -m64
# - See: http://www.spec.org/cpu2017/Docs/config.html
# - and: http://www.spec.org/cpu2017/Docs/runrules.html
#------------------------------------------------------------------------------
# Tester and System Descriptions - EDIT all sections below this point
#------------------------------------------------------------------------------
# For info about any field, see
# https://www.spec.org/cpu2017/Docs/config.html#fieldname
# Example: https://www.spec.org/cpu2017/Docs/config.html#hw_memory
#-------------------------------------------------------------------------------
#--------- EDIT to match your version -----------------------------------------
default:
sw_compiler001 = C/C++/Fortran: Version 4.8.5 of GCC, the
sw_compiler002 = GNU Compiler Collection
#--------- EDIT info about you ------------------------------------------------
# To understand the difference between hw_vendor/sponsor/tester, see:
# https://www.spec.org/cpu2017/Docs/config.html#test_sponsor
intrate,intspeed,fprate,fpspeed: # Important: keep this line
hw_vendor = My Corporation
tester = My Corporation
test_sponsor = My Corporation
license_num = nnn (Your SPEC license number)
# prepared_by = # Ima Pseudonym # Whatever you like: is never output
#--------- EDIT system availability dates -------------------------------------
intrate,intspeed,fprate,fpspeed: # Important: keep this line
# Example # Brief info about field
hw_avail = # Nov-2099 # Date of LAST hardware component to ship
sw_avail = # Nov-2099 # Date of LAST software component to ship
#--------- EDIT system information --------------------------------------------
intrate,intspeed,fprate,fpspeed: # Important: keep this line
# Example # Brief info about field
# hw_cpu_name = # Intel Xeon E9-9999 v9 # chip name
hw_cpu_nominal_mhz = # 9999 # Nominal chip frequency, in MHz
hw_cpu_max_mhz = # 9999 # Max chip frequency, in MHz
# hw_disk = # 9 x 9 TB SATA III 9999 RPM # Size, type, other perf-relevant info
hw_model = # TurboBlaster 3000 # system model name
# hw_nchips = # 99 # number chips enabled
hw_ncores = # 9999 # number cores enabled
hw_ncpuorder = # 1-9 chips # Ordering options
hw_nthreadspercore = # 9 # number threads enabled per core
hw_other = # TurboNUMA Router 10 Gb # Other perf-relevant hw, or "None"
# hw_memory001 = # 999 GB (99 x 9 GB 2Rx4 PC4-2133P-R, # The 'PCn-etc' is from the JEDEC
# hw_memory002 = # running at 1600 MHz) # label on the DIMM.
hw_pcache = # 99 KB I + 99 KB D on chip per core # Primary cache size, type, location
hw_scache = # 99 KB I+D on chip per 9 cores # Second cache or "None"
hw_tcache = # 9 MB I+D on chip per chip # Third cache or "None"
hw_ocache = # 9 GB I+D off chip per system board # Other cache or "None"
fw_bios = # American Megatrends 39030100 02/29/2016 # Firmware information
# sw_file = # ext99 # File system
# sw_os001 = # Linux Sailboat # Operating system
# sw_os002 = # Distribution 7.2 SP1 # and version
sw_other = # TurboHeap Library V8.1 # Other perf-relevant sw, or "None"
# sw_state = # Run level 99 # Software state.
# Note: Some commented-out fields above are automatically set to preliminary
# values by sysinfo
# https://www.spec.org/cpu2017/Docs/config.html#sysinfo
# Uncomment lines for which you already know a better answer than sysinfo