SPEC CPU®2017 Floating Point Speed Result

Copyright 2017-2023 Standard Performance Evaluation Corporation

Lenovo Global Technology

ThinkSystem SR645 V3
(2.40 GHz,AMD EPYC 9654)

SPECspeed®2017_fp_base = 43800

SPECspeed®2017_fp_peak = 46200

CPU2017 License: 9017 Test Date: Jan-2023
Test Sponsor: Lenovo Global Technology Hardware Availability: Feb-2023
Tested by: Lenovo Global Technology Software Availability: Nov-2022

Benchmark result graphs are available in the PDF report.

Hardware
CPU Name: AMD EPYC 9654
  Max MHz: 3700
  Nominal: 2400
Enabled: 192 cores, 2 chips, 2 threads/core
Orderable: 1,2 chips
Cache L1: 32 KB I + 32 KB D on chip per core
  L2: 1 MB I+D on chip per core
  L3: 384 MB I+D on chip per chip,
32 MB shared / 8 cores
  Other: None
Memory: 768 GB (24 x 32 GB 2Rx8 PC5-4800B-R)
Storage: 1 x 480 GB SATA SSD
Other: None
Software
OS: SUSE Linux Enterprise Server 15 SP4 (x86_64)
Kernel 5.14.21-150400.22-default
Compiler: C/C++/Fortran: Version 4.0.0 of AOCC
Parallel: Yes
Firmware: Lenovo BIOS Version KAE105L 1.20 released Dec-2022
File System: xfs
System State: Run level 3 (multi-user)
Base Pointers: 64-bit
Peak Pointers: 64-bit
Other: None
Power Management: BIOS and OS set to prefer performance at the cost
of additional power usage

Results Table

Benchmark Base Peak
Threads Seconds Ratio Seconds Ratio Seconds Ratio Threads Seconds Ratio Seconds Ratio Seconds Ratio
SPECspeed®2017_fp_base 43800
SPECspeed®2017_fp_peak 46200
Results appear in the order in which they were run. Bold underlined text indicates a median measurement.
603.bwaves_s 192 42.4 1390 42.5 1390 42.5 1390 192 42.4 1390 42.5 1390 42.5 1390
607.cactuBSSN_s 192 24.0 694 23.8 702 24.0 694 192 24.0 694 23.8 702 24.0 694
619.lbm_s 192 17.9 293 17.6 298 18.0 291 192 17.6 298 17.6 297 17.5 299
621.wrf_s 192 58.6 226 58.7 225 58.1 228 192 49.1 269 49.8 266 49.8 266
627.cam4_s 192 27.9 317 28.0 317 27.9 318 192 27.9 317 28.0 317 27.9 318
628.pop2_s 192 1170 101 1190 100 1170 102 192 1160 102 1150 103 1160 103
638.imagick_s 192 17.4 830 17.4 831 17.4 831 192 17.4 830 17.4 831 17.4 831
644.nab_s 192 16.4 1060 16.4 1060 16.4 1070 192 16.4 1060 16.4 1060 16.4 1070
649.fotonik3d_s 192 46.2 197 46.0 198 45.7 199 192 45.8 199 45.9 199 46.0 198
654.roms_s 192 21.6 727 22.2 708 21.2 744 384 15.5 1020 15.6 1010 15.6 1010

Compiler Notes

The AMD64 AOCC Compiler Suite is available at
http://developer.amd.com/amd-aocc/

Submit Notes

The config file option 'submit' was used.
'numactl' was used to bind copies to the cores.
See the configuration file for details.

Operating System Notes

'ulimit -s unlimited' was used to set environment stack size limit
'ulimit -l 2097152' was used to set environment locked pages in memory limit

runcpu command invoked through numactl i.e.:
numactl --interleave=all runcpu <etc>

To limit dirty cache to 8% of memory, 'sysctl -w vm.dirty_ratio=8' run as root.
To limit swap usage to minimum necessary, 'sysctl -w vm.swappiness=1' run as root.
To free node-local memory and avoid remote memory usage,
'sysctl -w vm.zone_reclaim_mode=1' run as root.
To clear filesystem caches, 'sync; sysctl -w vm.drop_caches=3' run as root.
To disable address space layout randomization (ASLR) to reduce run-to-run
variability, 'sysctl -w kernel.randomize_va_space=0' run as root.

To enable Transparent Hugepages (THP) for all allocations,
'echo always > /sys/kernel/mm/transparent_hugepage/enabled' and
'echo always > /sys/kernel/mm/transparent_hugepage/defrag' run as root.
To always enable THP for peak runs of:
603.bwaves_s, 607.cactuBSSN_s, 619.lbm_s, 627.cam4_s, 628.pop2_s, 638.imagick_s, 644.nab_s, 649.fotonik3d_s:
'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled; echo always > /sys/kernel/mm/transparent_hugepage/defrag'
run as root.
To disable THP for peak runs of 621.wrf_s:
'echo never > /sys/kernel/mm/transparent_hugepage/enabled; echo always > /sys/kernel/mm/transparent_hugepage/defrag'
run as root.
To enable THP only on request for peak runs of 654.roms_s:
'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled; echo madvise > /sys/kernel/mm/transparent_hugepage/defrag'
run as root.

Environment Variables Notes

Environment variables set by runcpu before the start of the run:
GOMP_CPU_AFFINITY = "0-383"
LD_LIBRARY_PATH =
     "/home/cpu2017-1.1.8-amd-aocc400-genoa-B1b/amd_speed_aocc400_genoa_B_lib
     /lib:"
LIBOMP_NUM_HIDDEN_HELPER_THREADS = "0"
MALLOC_CONF = "oversize_threshold:0,retain:true"
OMP_DYNAMIC = "false"
OMP_SCHEDULE = "static"
OMP_STACKSIZE = "128M"
OMP_THREAD_LIMIT = "384"

Environment variables set by runcpu during the 619.lbm_s peak run:
GOMP_CPU_AFFINITY = "0-191"

Environment variables set by runcpu during the 621.wrf_s peak run:
GOMP_CPU_AFFINITY = "0-191"

Environment variables set by runcpu during the 628.pop2_s peak run:
GOMP_CPU_AFFINITY = "0-191"

Environment variables set by runcpu during the 649.fotonik3d_s peak run:
GOMP_CPU_AFFINITY = "0-191"
PGHPF_ZMEM = "yes"

Environment variables set by runcpu during the 654.roms_s peak run:
GOMP_CPU_AFFINITY = "0 192 1 193 2 194 3 195 4 196 5 197 6 198 7 199 8 200 9
     201 10 202 11 203 12 204 13 205 14 206 15 207 16 208 17 209 18 210 19
     211 20 212 21 213 22 214 23 215 24 216 25 217 26 218 27 219 28 220 29
     221 30 222 31 223 32 224 33 225 34 226 35 227 36 228 37 229 38 230 39
     231 40 232 41 233 42 234 43 235 44 236 45 237 46 238 47 239 48 240 49
     241 50 242 51 243 52 244 53 245 54 246 55 247 56 248 57 249 58 250 59
     251 60 252 61 253 62 254 63 255 64 256 65 257 66 258 67 259 68 260 69
     261 70 262 71 263 72 264 73 265 74 266 75 267 76 268 77 269 78 270 79
     271 80 272 81 273 82 274 83 275 84 276 85 277 86 278 87 279 88 280 89
     281 90 282 91 283 92 284 93 285 94 286 95 287 96 288 97 289 98 290 99
     291 100 292 101 293 102 294 103 295 104 296 105 297 106 298 107 299 108
     300 109 301 110 302 111 303 112 304 113 305 114 306 115 307 116 308 117
     309 118 310 119 311 120 312 121 313 122 314 123 315 124 316 125 317 126
     318 127 319 128 320 129 321 130 322 131 323 132 324 133 325 134 326 135
     327 136 328 137 329 138 330 139 331 140 332 141 333 142 334 143 335 144
     336 145 337 146 338 147 339 148 340 149 341 150 342 151 343 152 344 153
     345 154 346 155 347 156 348 157 349 158 350 159 351 160 352 161 353 162
     354 163 355 164 356 165 357 166 358 167 359 168 360 169 361 170 362 171
     363 172 364 173 365 174 366 175 367 176 368 177 369 178 370 179 371 180
     372 181 373 182 374 183 375 184 376 185 377 186 378 187 379 188 380 189
     381 190 382 191 383"

General Notes

Binaries were compiled on a system with 2x AMD EPYC 9174F CPU + 1.5TiB Memory using RHEL 8.6

NA: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown)
is mitigated in the system as tested and documented.
Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1)
is mitigated in the system as tested and documented.
Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2)
is mitigated in the system as tested and documented.

Platform Notes

BIOS configuration:
Operating Mode set to Maximum Performance

 Sysinfo program /home/cpu2017-1.1.8-amd-aocc400-genoa-B1b/bin/sysinfo
 Rev: r6622 of 2021-04-07 982a61ec0915b55891ef0e16acafc64d
 running on localhost Thu Jan 12 15:03:17 2023

 SUT (System Under Test) info as seen by some common utilities.
 For more information on this section, see
    https://www.spec.org/cpu2017/Docs/config.html#sysinfo

 From /proc/cpuinfo
    model name : AMD EPYC 9654 96-Core Processor
       2  "physical id"s (chips)
       384 "processors"
    cores, siblings (Caution: counting these is hw and system dependent. The following
    excerpts from /proc/cpuinfo might not be reliable.  Use with caution.)
       cpu cores : 96
       siblings  : 192
       physical 0: cores 0 1 2 3 4 5 6 7 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
       physical 1: cores 0 1 2 3 4 5 6 7 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

 From lscpu from util-linux 2.37.2:
      Architecture:                    x86_64
      CPU op-mode(s):                  32-bit, 64-bit
      Address sizes:                   52 bits physical, 57 bits virtual
      Byte Order:                      Little Endian
      CPU(s):                          384
      On-line CPU(s) list:             0-383
      Vendor ID:                       AuthenticAMD
      Model name:                      AMD EPYC 9654 96-Core Processor
      CPU family:                      25
      Model:                           17
      Thread(s) per core:              2
      Core(s) per socket:              96
      Socket(s):                       2
      Stepping:                        1
      Frequency boost:                 enabled
      CPU max MHz:                     3707.8120
      CPU min MHz:                     1500.0000
      BogoMIPS:                        4792.34
      Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
      pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
      pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid
      aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe
      popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a
      misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb
      bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 invpcid_single hw_pstate ssbd mba ibrs
      ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f
      avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw
      avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total
      cqm_mbm_local avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd amd_ppin arat npt
      lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter
      pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl avx512vbmi umip pku ospke
      avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57
      rdpid overflow_recov succor smca fsrm flush_l1d
      Virtualization:                  AMD-V
      L1d cache:                       6 MiB (192 instances)
      L1i cache:                       6 MiB (192 instances)
      L2 cache:                        192 MiB (192 instances)
      L3 cache:                        768 MiB (24 instances)
      NUMA node(s):                    2
      NUMA node0 CPU(s):               0-95,192-287
      NUMA node1 CPU(s):               96-191,288-383
      Vulnerability Itlb multihit:     Not affected
      Vulnerability L1tf:              Not affected
      Vulnerability Mds:               Not affected
      Vulnerability Meltdown:          Not affected
      Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via
      prctl and seccomp
      Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user
      pointer sanitization
      Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, IBRS_FW,
      STIBP always-on, RSB filling
      Vulnerability Srbds:             Not affected
      Vulnerability Tsx async abort:   Not affected

 From lscpu --cache:
      NAME ONE-SIZE ALL-SIZE WAYS TYPE        LEVEL  SETS PHY-LINE COHERENCY-SIZE
      L1d       32K       6M    8 Data            1    64        1             64
      L1i       32K       6M    8 Instruction     1    64        1             64
      L2         1M     192M    8 Unified         2  2048        1             64
      L3        32M     768M   16 Unified         3 32768        1             64

 /proc/cpuinfo cache data
    cache size : 1024 KB

 From numactl --hardware
 WARNING: a numactl 'node' might or might not correspond to a physical chip.
   available: 2 nodes (0-1)
   node 0 cpus: 0 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 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
   node 0 size: 386724 MB
   node 0 free: 382616 MB
   node 1 cpus: 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 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 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
   343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364
   365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
   node 1 size: 386806 MB
   node 1 free: 385704 MB
   node distances:
   node   0   1
     0:  10  32
     1:  32  10

 From /proc/meminfo
    MemTotal:       792095504 kB
    HugePages_Total:       0
    Hugepagesize:       2048 kB

 /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor has
    performance

 From /etc/*release* /etc/*version*
    os-release:
       NAME="SLES"
       VERSION="15-SP4"
       VERSION_ID="15.4"
       PRETTY_NAME="SUSE Linux Enterprise Server 15 SP4"
       ID="sles"
       ID_LIKE="suse"
       ANSI_COLOR="0;32"
       CPE_NAME="cpe:/o:suse:sles:15:sp4"

 uname -a:
    Linux localhost 5.14.21-150400.22-default #1 SMP PREEMPT_DYNAMIC Wed May 11 06:57:18
    UTC 2022 (49db222) x86_64 x86_64 x86_64 GNU/Linux

 Kernel self-reported vulnerability status:

 CVE-2018-12207 (iTLB Multihit):                        Not affected
 CVE-2018-3620 (L1 Terminal Fault):                     Not affected
 Microarchitectural Data Sampling:                      Not affected
 CVE-2017-5754 (Meltdown):                              Not affected
 CVE-2018-3639 (Speculative Store Bypass):              Mitigation: Speculative Store
                                                        Bypass disabled via prctl and
                                                        seccomp
 CVE-2017-5753 (Spectre variant 1):                     Mitigation: usercopy/swapgs
                                                        barriers and __user pointer
                                                        sanitization
 CVE-2017-5715 (Spectre variant 2):                     Mitigation: Retpolines, IBPB:
                                                        conditional, IBRS_FW, STIBP:
                                                        always-on, RSB filling
 CVE-2020-0543 (Special Register Buffer Data Sampling): Not affected
 CVE-2019-11135 (TSX Asynchronous Abort):               Not affected

 run-level 3 Jan 12 14:44

 SPEC is set to: /home/cpu2017-1.1.8-amd-aocc400-genoa-B1b
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/sdb3      xfs   442G   23G  419G   6% /

 From /sys/devices/virtual/dmi/id
     Vendor:         Lenovo
     Product:        ThinkSystem SR645 V3 MB,Genoa,DDR5,Oahu,1U
     Product Family: ThinkSystem
     Serial:         1234567890

 Additional information from dmidecode 3.2 follows.  WARNING: Use caution when you
 interpret this section. The 'dmidecode' program reads system data which is "intended to
 allow hardware to be accurately determined", but the intent may not be met, as there are
 frequent changes to hardware, firmware, and the "DMTF SMBIOS" standard.
   Memory:
     5x SK Hynix HMCG88AEBRA115N 32 GB 2 rank 4800
     19x SK Hynix HMCG88AEBRA168N 32 GB 2 rank 4800

 BIOS:
    BIOS Vendor:       Lenovo
    BIOS Version:      KAE105L-1.20
    BIOS Date:         12/29/2022
    BIOS Revision:     1.20
    Firmware Revision: 1.20

 (End of data from sysinfo program)

Compiler Version Notes

==============================================================================
C               | 619.lbm_s(base, peak) 638.imagick_s(base, peak)
                | 644.nab_s(base, peak)
------------------------------------------------------------------------------
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
------------------------------------------------------------------------------

==============================================================================
C++, C, Fortran | 607.cactuBSSN_s(base, peak)
------------------------------------------------------------------------------
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
------------------------------------------------------------------------------

==============================================================================
Fortran         | 603.bwaves_s(base, peak) 649.fotonik3d_s(base, peak)
                | 654.roms_s(base, peak)
------------------------------------------------------------------------------
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
------------------------------------------------------------------------------

==============================================================================
Fortran, C      | 621.wrf_s(base, peak) 627.cam4_s(base, peak)
                | 628.pop2_s(base, peak)
------------------------------------------------------------------------------
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
AMD clang version 14.0.6 (CLANG: AOCC_4.0.0-Build#389 2022_10_07) (based on
  LLVM Mirror.Version.14.0.6)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc/aocc-compiler-rel-4.0-3206-389/bin
------------------------------------------------------------------------------

Base Compiler Invocation

C benchmarks:

 clang 

Fortran benchmarks:

 flang 

Benchmarks using both Fortran and C:

 flang   clang 

Benchmarks using Fortran, C, and C++:

 clang++   clang   flang 

Base Portability Flags

603.bwaves_s:  -DSPEC_LP64 
607.cactuBSSN_s:  -DSPEC_LP64 
619.lbm_s:  -DSPEC_LP64 
621.wrf_s:  -DSPEC_CASE_FLAG   -Mbyteswapio   -DSPEC_LP64 
627.cam4_s:  -DSPEC_CASE_FLAG   -DSPEC_LP64 
628.pop2_s:  -DSPEC_CASE_FLAG   -Mbyteswapio   -DSPEC_LP64 
638.imagick_s:  -DSPEC_LP64 
644.nab_s:  -DSPEC_LP64 
649.fotonik3d_s:  -DSPEC_LP64 
654.roms_s:  -DSPEC_LP64 

Base Optimization Flags

C benchmarks:

 -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -O3   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=7   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -fstrip-mining   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -zopt   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 

Fortran benchmarks:

 -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-enable-X86-prefetching   -DSPEC_OPENMP   -O3   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -Mrecursive   -funroll-loops   -mllvm -lsr-in-nested-loop   -mllvm -reduce-array-computations=3   -zopt   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 

Benchmarks using both Fortran and C:

 -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-enable-X86-prefetching   -O3   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=7   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -fstrip-mining   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -zopt   -Mrecursive   -funroll-loops   -mllvm -lsr-in-nested-loop   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 

Benchmarks using Fortran, C, and C++:

 -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-x86-use-vzeroupper=false   -O3   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=7   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -fstrip-mining   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -zopt   -mllvm -unroll-threshold=100   -finline-aggressive   -mllvm -loop-unswitch-threshold=200000   -Mrecursive   -funroll-loops   -mllvm -lsr-in-nested-loop   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 

Base Other Flags

C benchmarks:

 -Wno-return-type   -Wno-unused-command-line-argument 

Fortran benchmarks:

 -Wno-unused-command-line-argument 

Benchmarks using both Fortran and C:

 -Wno-return-type   -Wno-unused-command-line-argument 

Benchmarks using Fortran, C, and C++:

 -Wno-return-type   -Wno-unused-command-line-argument 

Peak Compiler Invocation

C benchmarks:

 clang 

Fortran benchmarks:

 flang 

Benchmarks using both Fortran and C:

 flang   clang 

Benchmarks using Fortran, C, and C++:

 clang++   clang   flang 

Peak Portability Flags

Same as Base Portability Flags

Peak Optimization Flags

C benchmarks:

619.lbm_s:  -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Ofast   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=9   -mllvm -unroll-threshold=50   -fremap-arrays   -fstrip-mining   -mllvm -inline-threshold=1000   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -zopt   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 
638.imagick_s:  basepeak = yes 
644.nab_s:  basepeak = yes 

Fortran benchmarks:

603.bwaves_s:  basepeak = yes 
649.fotonik3d_s:  -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-enable-X86-prefetching   -DSPEC_OPENMP   -Ofast   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -Mrecursive   -mllvm -reduce-array-computations=3   -zopt   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 
654.roms_s:  -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-enable-X86-prefetching   -DSPEC_OPENMP   -Ofast   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -Mrecursive   -mllvm -reduce-array-computations=3   -fvector-transform   -fscalar-transform   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 

Benchmarks using both Fortran and C:

621.wrf_s:  -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-enable-X86-prefetching   -Ofast   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=9   -mllvm -unroll-threshold=50   -fremap-arrays   -fstrip-mining   -mllvm -inline-threshold=1000   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -zopt   -O3   -Mrecursive   -funroll-loops   -mllvm -lsr-in-nested-loop   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 
627.cam4_s:  basepeak = yes 
628.pop2_s:  -m64   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Wl,-mllvm -Wl,-enable-X86-prefetching   -Ofast   -march=znver4   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=9   -mllvm -unroll-threshold=50   -fremap-arrays   -fstrip-mining   -mllvm -inline-threshold=1000   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -zopt   -Mrecursive   -fvector-transform   -fscalar-transform   -fopenmp=libomp   -lomp   -lamdlibm   -lamdalloc   -lflang 

Benchmarks using Fortran, C, and C++:

607.cactuBSSN_s:  basepeak = yes 

Peak Other Flags

C benchmarks:

 -Wno-return-type   -Wno-unused-command-line-argument 

Fortran benchmarks:

 -Wno-unused-command-line-argument 

Benchmarks using both Fortran and C:

 -Wno-return-type   -Wno-unused-command-line-argument 

Benchmarks using Fortran, C, and C++:

 -Wno-return-type   -Wno-unused-command-line-argument 

The flags files that were used to format this result can be browsed at
http://www.spec.org/cpu2017/flags/aocc400-flags.html,
http://www.spec.org/cpu2017/flags/Lenovo-Platform-SPECcpu2017-Flags-V1.2-Genoa-P.html.

You can also download the XML flags sources by saving the following links:
http://www.spec.org/cpu2017/flags/aocc400-flags.xml,
http://www.spec.org/cpu2017/flags/Lenovo-Platform-SPECcpu2017-Flags-V1.2-Genoa-P.xml.