SPEC CPU®2017 Floating Point Speed Result

Copyright 2017-2023 Standard Performance Evaluation Corporation

Lenovo Global Technology

ThinkSystem SR645
(2.80 GHz,AMD EPYC 7203)

SPECspeed®2017_fp_base = 11500

SPECspeed®2017_fp_peak = 12300

CPU2017 License: 9017 Test Date: Jul-2023
Test Sponsor: Lenovo Global Technology Hardware Availability: Oct-2023
Tested by: Lenovo Global Technology Software Availability: Jun-2023

Benchmark result graphs are available in the PDF report.

Hardware
CPU Name: AMD EPYC 7203
  Max MHz: 3400
  Nominal: 2800
Enabled: 16 cores, 2 chips
Orderable: 1,2 chips
Cache L1: 32 KB I + 32 KB D on chip per core
  L2: 512 KB I+D on chip per core
  L3: 64 MB I+D on chip per chip,
16 MB shared / 2 cores
  Other: None
Memory: 512 GB (16 x 32 GB 2Rx4 PC4-3200AA-R)
Storage: 1 x 960 GB SATA SSD
Other: None
Software
OS: SUSE Linux Enterprise Server 15 SP5 (x86_64)
Kernel 5.14.21-150500.53-default
Compiler: C/C++/Fortran: Version 3.2.0 of AOCC
Parallel: Yes
Firmware: Lenovo BIOS Version D8E131D 3.10 released Jun-2023
File System: xfs
System State: Run level 3 (multi-user)
Base Pointers: 64-bit
Peak Pointers: 64-bit
Other: jemalloc: jemalloc memory allocator library v5.1.0
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 11500
SPECspeed®2017_fp_peak 12300
Results appear in the order in which they were run. Bold underlined text indicates a median measurement.
603.bwaves_s 16 95.2 6200 95.4 6180 95.2 6200 16 95.2 6200 95.4 6180 95.2 6200
607.cactuBSSN_s 16 1160 1440 1170 1430 1170 1430 16 1160 1440 1200 1390 1160 1430
619.lbm_s 16 99.4 52.7 99.4 52.7 99.3 52.7 16 59.2 88.4 59.6 87.9 60.1 87.1
621.wrf_s 16 1060 1250 1060 1240 1070 1230 16 1060 1250 1060 1240 1070 1230
627.cam4_s 16 1570 56.3 1570 56.3 1580 56.2 16 1570 56.3 1570 56.3 1580 56.2
628.pop2_s 16 1870 63.5 1860 63.7 1870 63.6 16 1870 63.5 1860 63.7 1870 63.6
638.imagick_s 16 1460 98.9 1460 98.8 1470 98.5 16 1460 98.9 1470 98.3 1460 98.9
644.nab_s 16 1280 1360 1280 1360 1280 1360 16 1280 1360 1280 1360 1280 1360
649.fotonik3d_s 16 95.6 95.3 91.9 99.2 91.8 99.3 16 95.6 95.3 91.9 99.2 91.8 99.3
654.roms_s 16 1040 1510 1050 1500 1040 1520 16 94.0 1680 94.0 1680 94.4 1670

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 enable THP only on request for peak runs of 628.pop2_s:
'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' run as root.
To disable THP for peak runs of 627.cam4_s, 649.fotonik3d_s, and 654.roms_s,
'echo never > /sys/kernel/mm/transparent_hugepage/enabled' run as root.

Environment Variables Notes

Environment variables set by runcpu before the start of the run:
GOMP_CPU_AFFINITY = "0-15"
LD_LIBRARY_PATH =
     "/home/cpu2017-1.1.9-amd-milanx-aocc320-A1/amd_speed_aocc320_milanx_A_lib/lib;/home/cpu2017-1.1.9-amd-
     milanx-aocc320-A1/amd_speed_aocc320_milanx_A_lib/lib32:"
LIBOMP_NUM_HIDDEN_HELPER_THREADS = "0"
MALLOC_CONF = "retain:true"
OMP_DYNAMIC = "false"
OMP_SCHEDULE = "static"
OMP_STACKSIZE = "128M"
OMP_THREAD_LIMIT = "16"

Environment variables set by runcpu during the 607.cactuBSSN_s peak run:
GOMP_CPU_AFFINITY = "0-15"

Environment variables set by runcpu during the 619.lbm_s peak run:
GOMP_CPU_AFFINITY = "0 8 1 9 2 10 3 11 4 12 5 13 6 14 7 15"

Environment variables set by runcpu during the 638.imagick_s peak run:
GOMP_CPU_AFFINITY = "0-15"

Environment variables set by runcpu during the 654.roms_s peak run:
GOMP_CPU_AFFINITY = "0-15"

General Notes

Binaries were compiled on a system with 2x AMD EPYC 7742 CPU + 1TiB Memory using openSUSE 15.2

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.

jemalloc: configured and built with GCC v4.8.2 in RHEL 7.4 (No options specified)
jemalloc 5.1.0 is available here:
https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2

Platform Notes

BIOS configuration:
Operating Mode set to Maximum Performance and then set it to Custom Mode
SMT Mode set to Disabled
DLWM Support set to Disabled

 Sysinfo program /home/cpu2017-1.1.9-amd-milanx-aocc320-A1/bin/sysinfo
 Rev: r6732 of 2022-11-07 fe91c89b7ed5c36ae2c92cc097bec197
 running on localhost Tue Feb 28 20:08:19 2023

 SUT (System Under Test) info as seen by some common utilities.

 ------------------------------------------------------------
 Table of contents
 ------------------------------------------------------------
  1. uname -a
  2. w
  3. Username
  4. ulimit -a
  5. sysinfo process ancestry
  6. /proc/cpuinfo
  7. lscpu
  8. numactl --hardware
  9. /proc/meminfo
 10. who -r
 11. Systemd service manager version: systemd 249 (249.16+suse.171.gdad0071f15)
 12. Services, from systemctl list-unit-files
 13. Linux kernel boot-time arguments, from /proc/cmdline
 14. cpupower frequency-info
 15. sysctl
 16. /sys/kernel/mm/transparent_hugepage
 17. /sys/kernel/mm/transparent_hugepage/khugepaged
 18. OS release
 19. Disk information
 20. /sys/devices/virtual/dmi/id
 21. dmidecode
 22. BIOS
 ------------------------------------------------------------

 ------------------------------------------------------------
 1. uname -a
   Linux localhost 5.14.21-150500.53-default #1 SMP PREEMPT_DYNAMIC Wed May 10 07:56:26 UTC 2023 (b630043)
   x86_64 x86_64 x86_64 GNU/Linux

 ------------------------------------------------------------
 2. w
    20:08:19 up 8 min,  1 user,  load average: 0.08, 0.02, 0.01
   USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
   root     tty1     -                20:06   10.00s  1.27s  0.04s /bin/bash ./amd_speed_aocc320_milanx_A1.sh

 ------------------------------------------------------------
 3. Username
   From environment variable $USER:  root

 ------------------------------------------------------------
 4. ulimit -a
   core file size          (blocks, -c) unlimited
   data seg size           (kbytes, -d) unlimited
   scheduling priority             (-e) 0
   file size               (blocks, -f) unlimited
   pending signals                 (-i) 2063025
   max locked memory       (kbytes, -l) 2097152
   max memory size         (kbytes, -m) unlimited
   open files                      (-n) 1024
   pipe size            (512 bytes, -p) 8
   POSIX message queues     (bytes, -q) 819200
   real-time priority              (-r) 0
   stack size              (kbytes, -s) unlimited
   cpu time               (seconds, -t) unlimited
   max user processes              (-u) 2063025
   virtual memory          (kbytes, -v) unlimited
   file locks                      (-x) unlimited

 ------------------------------------------------------------
 5. sysinfo process ancestry
  /usr/lib/systemd/systemd --switched-root --system --deserialize 30
  login -- root
  -bash
  /bin/bash ./run_SR645_milanx.sh
  /bin/bash ./Run036-compliant-amd-speedfp.sh
  python3 ./run_amd_speed_aocc320_milanx_A1.py
  /bin/bash ./amd_speed_aocc320_milanx_A1.sh
  runcpu --config amd_speed_aocc320_milanx_A1.cfg --tune all --reportable --iterations 3 fpspeed
  runcpu --configfile amd_speed_aocc320_milanx_A1.cfg --tune all --reportable --iterations 3 --nopower
    --runmode speed --tune base:peak --size test:train:refspeed fpspeed --nopreenv --note-preenv --logfile
    $SPEC/tmp/CPU2017.058/templogs/preenv.fpspeed.058.0.log --lognum 058.0 --from_runcpu 2
  specperl $SPEC/bin/sysinfo
 $SPEC = /home/cpu2017-1.1.9-amd-milanx-aocc320-A1

 ------------------------------------------------------------
 6. /proc/cpuinfo
     model name      : AMD EPYC 7203 8-Core Processor
     vendor_id       : AuthenticAMD
     cpu family      : 25
     model           : 1
     stepping        : 1
     microcode       : 0xa0011ce
     bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
     TLB size        : 2560 4K pages
     cpu cores       : 8
     siblings        : 8
     2 physical ids (chips)
     16 processors (hardware threads)
     physical id 0: core ids 0-7
     physical id 1: core ids 0-7
     physical id 0: apicids 0-7
     physical id 1: apicids 8-15
   Caution: /proc/cpuinfo data regarding chips, cores, and threads is not necessarily reliable, especially for
   virtualized systems.  Use the above data carefully.

 ------------------------------------------------------------
 7. lscpu

 From lscpu from util-linux 2.37.4:
   Architecture:                    x86_64
   CPU op-mode(s):                  32-bit, 64-bit
   Address sizes:                   48 bits physical, 48 bits virtual
   Byte Order:                      Little Endian
   CPU(s):                          16
   On-line CPU(s) list:             0-15
   Vendor ID:                       AuthenticAMD
   Model name:                      AMD EPYC 7203 8-Core Processor
   CPU family:                      25
   Model:                           1
   Thread(s) per core:              1
   Core(s) per socket:              8
   Socket(s):                       2
   Stepping:                        1
   Frequency boost:                 enabled
   CPU max MHz:                     3431.6399
   CPU min MHz:                     1500.0000
   BogoMIPS:                        5589.28
   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 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 rdseed adx smap clflushopt clwb sha_ni xsaveopt
                                    xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local
                                    clzero irperf xsaveerptr rdpru wbnoinvd amd_ppin brs arat npt lbrv
                                    svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists
                                    pausefilter pfthreshold v_vmsave_vmload vgif v_spec_ctrl umip pku ospke
                                    vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
   Virtualization:                  AMD-V
   L1d cache:                       512 KiB (16 instances)
   L1i cache:                       512 KiB (16 instances)
   L2 cache:                        8 MiB (16 instances)
   L3 cache:                        128 MiB (8 instances)
   NUMA node(s):                    2
   NUMA node0 CPU(s):               0-7
   NUMA node1 CPU(s):               8-15
   Vulnerability Itlb multihit:     Not affected
   Vulnerability L1tf:              Not affected
   Vulnerability Mds:               Not affected
   Vulnerability Meltdown:          Not affected
   Vulnerability Mmio stale data:   Not affected
   Vulnerability Retbleed:          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 disabled, RSB
                                    filling, PBRSB-eIBRS Not affected
   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     512K    8 Data            1    64        1             64
      L1i       32K     512K    8 Instruction     1    64        1             64
      L2       512K       8M    8 Unified         2  1024        1             64
      L3        16M     128M   16 Unified         3 16384        1             64

 ------------------------------------------------------------
 8. numactl --hardware
 NOTE: a numactl 'node' might or might not correspond to a physical chip.
   available: 2 nodes (0-1)
   node 0 cpus: 0-7
   node 0 size: 257747 MB
   node 0 free: 257147 MB
   node 1 cpus: 8-15
   node 1 size: 258038 MB
   node 1 free: 257619 MB
   node distances:
   node   0   1
     0:  10  32
     1:  32  10

 ------------------------------------------------------------
 9. /proc/meminfo
    MemTotal:       528165188 kB

 ------------------------------------------------------------
 10. who -r
   run-level 3 Feb 28 20:00

 ------------------------------------------------------------
 11. Systemd service manager version: systemd 249 (249.16+suse.171.gdad0071f15)
   Default Target  Status
   multi-user      running

 ------------------------------------------------------------
 12. Services, from systemctl list-unit-files
   STATE            UNIT FILES
   enabled          YaST2-Firstboot YaST2-Second-Stage apparmor auditd cron getty@ irqbalance issue-generator
                    kbdsettings klog lvm2-monitor nscd postfix purge-kernels rollback rsyslog smartd sshd
                    systemd-pstore wicked wickedd-auto4 wickedd-dhcp4 wickedd-dhcp6 wickedd-nanny
   enabled-runtime  systemd-remount-fs
   disabled         autofs autoyast-initscripts blk-availability boot-sysctl ca-certificates chrony-wait
                    chronyd console-getty cups cups-browsed debug-shell ebtables exchange-bmc-os-info
                    firewalld gpm grub2-once haveged haveged-switch-root ipmi ipmievd issue-add-ssh-keys
                    kexec-load lunmask man-db-create multipathd nfs nfs-blkmap rpcbind rpmconfigcheck rsyncd
                    serial-getty@ smartd_generate_opts snmpd snmptrapd systemd-boot-check-no-failures
                    systemd-network-generator systemd-sysext systemd-time-wait-sync systemd-timesyncd
   indirect         wickedd

 ------------------------------------------------------------
 13. Linux kernel boot-time arguments, from /proc/cmdline
   BOOT_IMAGE=/boot/vmlinuz-5.14.21-150500.53-default
   root=UUID=59deb039-e3ef-428e-922f-f701bb617ac1
   splash=silent
   mitigations=auto
   quiet
   security=apparmor

 ------------------------------------------------------------
 14. cpupower frequency-info
   analyzing CPU 0:
     current policy: frequency should be within 1.50 GHz and 2.80 GHz.
                     The governor "performance" may decide which speed to use
                     within this range.
     boost state support:
       Supported: yes
       Active: yes

 ------------------------------------------------------------
 15. sysctl
   kernel.numa_balancing               1
   kernel.randomize_va_space           0
   vm.compaction_proactiveness        20
   vm.dirty_background_bytes           0
   vm.dirty_background_ratio          10
   vm.dirty_bytes                      0
   vm.dirty_expire_centisecs        3000
   vm.dirty_ratio                      8
   vm.dirty_writeback_centisecs      500
   vm.dirtytime_expire_seconds     43200
   vm.extfrag_threshold              500
   vm.min_unmapped_ratio               1
   vm.nr_hugepages                     0
   vm.nr_hugepages_mempolicy           0
   vm.nr_overcommit_hugepages          0
   vm.swappiness                       1
   vm.watermark_boost_factor       15000
   vm.watermark_scale_factor          10
   vm.zone_reclaim_mode                1

 ------------------------------------------------------------
 16. /sys/kernel/mm/transparent_hugepage
   defrag          always defer defer+madvise [madvise] never
   enabled         always [madvise] never
   hpage_pmd_size  2097152
   shmem_enabled   always within_size advise [never] deny force

 ------------------------------------------------------------
 17. /sys/kernel/mm/transparent_hugepage/khugepaged
   alloc_sleep_millisecs   60000
   defrag                      1
   max_ptes_none             511
   max_ptes_shared           256
   max_ptes_swap              64
   pages_to_scan            4096
   scan_sleep_millisecs    10000

 ------------------------------------------------------------
 18. OS release
   From /etc/*-release /etc/*-version
   os-release SUSE Linux Enterprise Server 15 SP5

 ------------------------------------------------------------
 19. Disk information
 SPEC is set to: /home/cpu2017-1.1.9-amd-milanx-aocc320-A1
   Filesystem     Type  Size  Used Avail Use% Mounted on
   /dev/sda2      xfs   893G   25G  868G   3% /

 ------------------------------------------------------------
 20. /sys/devices/virtual/dmi/id
     Vendor:         Lenovo
     Product:        ThinkSystem SR645 MB
     Product Family: ThinkSystem
     Serial:         1234567890

 ------------------------------------------------------------
 21. dmidecode
   Additional information from dmidecode 3.4 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:
     16x Samsung M393A4K40DB3-CWE 32 GB 2 rank 3200


 ------------------------------------------------------------
 22. BIOS
 (This section combines info from /sys/devices and dmidecode.)
    BIOS Vendor:       Lenovo
    BIOS Version:      D8E131D-3.10
    BIOS Date:         06/27/2023
    BIOS Revision:     3.10
    Firmware Revision: 5.0

Compiler Version Notes

============================================================================================================
C               | 619.lbm_s(base, peak) 638.imagick_s(base, peak) 644.nab_s(base, peak)
------------------------------------------------------------------------------------------------------------
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/bin
------------------------------------------------------------------------------------------------------------

============================================================================================================
C++, C, Fortran | 607.cactuBSSN_s(base, peak)
------------------------------------------------------------------------------------------------------------
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/bin
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/bin
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/bin
------------------------------------------------------------------------------------------------------------

============================================================================================================
Fortran         | 603.bwaves_s(base, peak) 649.fotonik3d_s(base, peak) 654.roms_s(base, peak)
------------------------------------------------------------------------------------------------------------
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/bin
------------------------------------------------------------------------------------------------------------

============================================================================================================
Fortran, C      | 621.wrf_s(base, peak) 627.cam4_s(base, peak) 628.pop2_s(base, peak)
------------------------------------------------------------------------------------------------------------
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/bin
AMD clang version 13.0.0 (CLANG: AOCC_3.2.0-Build#128 2021_11_12) (based on LLVM Mirror.Version.13.0.0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/AMD/aocc-compiler-3.2.0/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,-region-vectorize   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -O3   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=5   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -mllvm -function-specialize   -flv-function-specialization   -mllvm -enable-gvn-hoist   -mllvm -global-vectorize-slp=true   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -z muldefs   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 

Fortran benchmarks:

 -m64   -Wl,-mllvm -Wl,-enable-X86-prefetching   -Wl,-mllvm -Wl,-enable-licm-vrp   -Wl,-mllvm -Wl,-region-vectorize   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Hz,1,0x1   -O3   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -Mrecursive   -mllvm -fuse-tile-inner-loop   -funroll-loops   -mllvm -extra-vectorizer-passes   -mllvm -lsr-in-nested-loop   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -mllvm -global-vectorize-slp=true   -mllvm -enable-loopinterchange   -mllvm -compute-interchange-order   -z muldefs   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 

Benchmarks using both Fortran and C:

 -m64   -Wl,-mllvm -Wl,-enable-X86-prefetching   -Wl,-mllvm -Wl,-enable-licm-vrp   -Wl,-mllvm -Wl,-region-vectorize   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -O3   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=5   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -mllvm -function-specialize   -flv-function-specialization   -mllvm -enable-gvn-hoist   -mllvm -global-vectorize-slp=true   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -Hz,1,0x1   -Mrecursive   -mllvm -fuse-tile-inner-loop   -funroll-loops   -mllvm -extra-vectorizer-passes   -mllvm -lsr-in-nested-loop   -mllvm -enable-loopinterchange   -mllvm -compute-interchange-order   -z muldefs   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 

Benchmarks using Fortran, C, and C++:

 -m64   -Wl,-mllvm -Wl,-x86-use-vzeroupper=false   -Wl,-mllvm -Wl,-region-vectorize   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -O3   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=5   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -mllvm -function-specialize   -flv-function-specialization   -mllvm -enable-gvn-hoist   -mllvm -global-vectorize-slp=true   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -mllvm -enable-partial-unswitch   -mllvm -unroll-threshold=100   -finline-aggressive   -mllvm -loop-unswitch-threshold=200000   -mllvm -reroll-loops   -mllvm -aggressive-loop-unswitch   -mllvm -extra-vectorizer-passes   -mllvm -convert-pow-exp-to-int=false   -Hz,1,0x1   -Mrecursive   -mllvm -fuse-tile-inner-loop   -funroll-loops   -mllvm -lsr-in-nested-loop   -mllvm -enable-loopinterchange   -mllvm -compute-interchange-order   -z muldefs   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 

Base Other Flags

C benchmarks:

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

Fortran benchmarks:

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

Benchmarks using both Fortran and C:

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

Benchmarks using Fortran, C, and C++:

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

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,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Ofast   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=5   -mllvm -unroll-threshold=50   -fremap-arrays   -flv-function-specialization   -mllvm -inline-threshold=1000   -mllvm -enable-gvn-hoist   -mllvm -global-vectorize-slp=true   -mllvm -function-specialize   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 
638.imagick_s:  -m64   -Wl,-allow-multiple-definition   -Wl,-mllvm -Wl,-enable-licm-vrp   -Wl,-mllvm -Wl,-do-block-reorder=aggressive   -Wl,-mllvm -Wl,-region-vectorize   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Ofast   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=5   -mllvm -unroll-threshold=50   -mllvm -inline-threshold=1000   -fremap-arrays   -mllvm -function-specialize   -flv-function-specialization   -mllvm -enable-gvn-hoist   -mllvm -global-vectorize-slp=true   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -mllvm -do-block-reorder=aggressive   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 
644.nab_s:  basepeak = yes 

Fortran benchmarks:

603.bwaves_s:  basepeak = yes 
649.fotonik3d_s:  basepeak = yes 
654.roms_s:  -m64   -Wl,-mllvm -Wl,-enable-X86-prefetching   -Wl,-mllvm -Wl,-enable-licm-vrp   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Ofast   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -Mrecursive   -mllvm -reduce-array-computations=3   -mllvm -global-vectorize-slp=true   -mllvm -enable-licm-vrp   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 

Benchmarks using both Fortran and C:

621.wrf_s:  basepeak = yes 
627.cam4_s:  basepeak = yes 
628.pop2_s:  basepeak = yes 

Benchmarks using Fortran, C, and C++:

 -m64   -Wl,-mllvm -Wl,-x86-use-vzeroupper=false   -Wl,-mllvm -Wl,-enable-licm-vrp   -Wl,-mllvm -Wl,-do-block-reorder=aggressive   -Wl,-mllvm -Wl,-function-specialize   -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6   -Wl,-mllvm -Wl,-reduce-array-computations=3   -Ofast   -march=znver3   -fveclib=AMDLIBM   -ffast-math   -fopenmp   -flto   -fstruct-layout=5   -mllvm -unroll-threshold=50   -fremap-arrays   -flv-function-specialization   -mllvm -inline-threshold=1000   -mllvm -enable-gvn-hoist   -mllvm -global-vectorize-slp=true   -mllvm -function-specialize   -mllvm -enable-licm-vrp   -mllvm -reduce-array-computations=3   -finline-aggressive   -mllvm -unroll-threshold=100   -mllvm -reroll-loops   -mllvm -aggressive-loop-unswitch   -Mrecursive   -mllvm -do-block-reorder=aggressive   -DSPEC_OPENMP   -fopenmp=libomp   -lomp   -lamdlibm   -ljemalloc   -lflang 

Peak Other Flags

C benchmarks:

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

Fortran benchmarks:

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

Benchmarks using both Fortran and C:

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

Benchmarks using Fortran, C, and C++:

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

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

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