SPEC(R) CPU2017 Floating Point Rate Result Supermicro A+ Server 1113S-WN10RT (H11SSW-NT , AMD EPYC 7251) CPU2017 License: 001176 Test date: Nov-2018 Test sponsor: Supermicro Hardware availability: Sep-2018 Tested by: Supermicro Software availability: Feb-2018 Base Base Base Peak Peak Peak Benchmarks Copies Run Time Rate Copies Run Time Rate --------------- ------- --------- --------- ------- --------- --------- 503.bwaves_r 16 733 219 S 16 725 221 S 503.bwaves_r 16 747 215 S 16 721 222 S 503.bwaves_r 16 742 216 * 16 723 222 * 507.cactuBSSN_r 16 439 46.2 S 16 439 46.2 S 507.cactuBSSN_r 16 439 46.2 S 16 439 46.2 S 507.cactuBSSN_r 16 439 46.2 * 16 439 46.2 * 508.namd_r 16 441 34.5 S 16 399 38.1 S 508.namd_r 16 441 34.5 * 16 400 38.0 * 508.namd_r 16 442 34.4 S 16 400 38.0 S 510.parest_r 16 868 48.2 S 16 868 48.2 S 510.parest_r 16 869 48.2 S 16 869 48.2 S 510.parest_r 16 869 48.2 * 16 869 48.2 * 511.povray_r 16 857 43.6 * 16 829 45.1 S 511.povray_r 16 855 43.7 S 16 831 45.0 * 511.povray_r 16 860 43.5 S 16 834 44.8 S 519.lbm_r 16 439 38.4 * 16 389 43.4 S 519.lbm_r 16 442 38.2 S 16 391 43.1 * 519.lbm_r 16 438 38.5 S 16 394 42.8 S 521.wrf_r 16 672 53.3 S 16 672 53.3 S 521.wrf_r 16 683 52.5 S 16 683 52.5 S 521.wrf_r 16 682 52.6 * 16 682 52.6 * 526.blender_r 16 502 48.5 * 16 502 48.5 * 526.blender_r 16 502 48.5 S 16 502 48.5 S 526.blender_r 16 503 48.5 S 16 503 48.5 S 527.cam4_r 16 673 41.6 S 16 673 41.6 S 527.cam4_r 16 667 41.9 S 16 667 41.9 S 527.cam4_r 16 668 41.9 * 16 668 41.9 * 538.imagick_r 16 638 62.4 * 16 629 63.3 S 538.imagick_r 16 634 62.7 S 16 628 63.3 S 538.imagick_r 16 647 61.5 S 16 628 63.3 * 544.nab_r 16 510 52.8 S 16 510 52.8 S 544.nab_r 16 509 52.9 S 16 509 52.9 S 544.nab_r 16 509 52.9 * 16 509 52.9 * 549.fotonik3d_r 16 944 66.0 S 16 940 66.4 S 549.fotonik3d_r 16 940 66.3 S 16 942 66.2 S 549.fotonik3d_r 16 942 66.2 * 16 942 66.2 * 554.roms_r 16 735 34.6 S 16 735 34.6 S 554.roms_r 16 723 35.2 S 16 723 35.2 S 554.roms_r 16 733 34.7 * 16 733 34.7 * ================================================================================= 503.bwaves_r 16 742 216 * 16 723 222 * 507.cactuBSSN_r 16 439 46.2 * 16 439 46.2 * 508.namd_r 16 441 34.5 * 16 400 38.0 * 510.parest_r 16 869 48.2 * 16 869 48.2 * 511.povray_r 16 857 43.6 * 16 831 45.0 * 519.lbm_r 16 439 38.4 * 16 391 43.1 * 521.wrf_r 16 682 52.6 * 16 682 52.6 * 526.blender_r 16 502 48.5 * 16 502 48.5 * 527.cam4_r 16 668 41.9 * 16 668 41.9 * 538.imagick_r 16 638 62.4 * 16 628 63.3 * 544.nab_r 16 509 52.9 * 16 509 52.9 * 549.fotonik3d_r 16 942 66.2 * 16 942 66.2 * 554.roms_r 16 733 34.7 * 16 733 34.7 * SPECrate2017_fp_base 52.4 SPECrate2017_fp_peak 53.6 HARDWARE -------- CPU Name: AMD EPYC 7251 Max MHz.: 2900 Nominal: 2100 Enabled: 8 cores, 1 chip, 2 threads/core Orderable: 1 chip Cache L1: 64 KB I + 32 KB D on chip per core L2: 512 KB I+D on chip per core L3: 32 MB I+D on chip per chip Other: None Memory: 512 GB (8 x 64 GB 4Rx4 PC4-2666V-L, running at 2400) Storage: 1 x 200 GB SATAIII SSD Other: None SOFTWARE -------- OS: SUSE Linux Enterprise Server 12 SP3 (x86_64) kernel 4.4.114-94.11-default Compiler: C/C++: Version 1.0.0 of AOCC Fortran: Version 4.8.2 of GCC Parallel: No Firmware: Supermicro BIOS version 1.0 released Sep-2018 File System: xfs System State: Run level 3 (multi-user) Base Pointers: 64-bit Peak Pointers: 64-bit Other: jemalloc general purpose malloc implementation V4.5.0 Compiler Notes -------------- The AMD64 AOCC Compiler Suite is available at http://developer.amd.com/amd-aocc/ The AOCC Gold Linker plugin was installed and used for the link stage. The AOCC Fortran Plugin version 1.0 was used to leverage AOCC optimizers with gfortran. It is available here: 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 'ulimit -l 2097152' was used to set environment locked pages in memory limit runspec command invoked through numactl i.e.: numactl --interleave=all runspec Set dirty_ratio=8 to limit dirty cache to 8% of memory Set swappiness=1 to swap only if necessary Set zone_reclaim_mode=1 to free local node memory and avoid remote memory sync then drop_caches=3 to reset caches before invoking runcpu dirty_ratio, swappiness, zone_reclaim_mode and drop_caches were all set using privileged echo (e.g. echo 1 > /proc/sys/vm/swappiness). Transparent huge pages were enabled for this run (OS default) General Notes ------------- Environment variables set by runcpu before the start of the run: LD_LIBRARY_PATH = "/home/cpu2017/amd1704-rate-libs-revD/64;/home/cpu2017/amd1704-rate-libs-revD/32:" MALLOC_CONF = "lg_chunk:28" Binaries were compiled on a system with 2x AMD EPYC 7601 CPU + 512GB Memory using RHEL 7.4 jemalloc, a general purpose malloc implementation, was obtained at https://github.com/jemalloc/jemalloc/releases/download/4.5.0/jemalloc-4.5.0.tar.bz2 jemalloc was built with GCC v4.8.5 in RHEL v7.2 under default conditions. jemalloc uses environment variable MALLOC_CONF with values narenas and lg_chunk: narenas: sets the maximum number of arenas to use for automatic multiplexing of threads and arenas. lg_chunk: set the virtual memory chunk size (log base 2). For example, lg_chunk:21 sets the default chunk size to 2^21 = 2MiB. 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 Settings: Determinism Slider = Power Sysinfo program /home/cpu2017/bin/sysinfo Rev: r5974 of 2018-05-19 9bcde8f2999c33d61f64985e45859ea9 running on linux-pm02 Fri Nov 9 20:39:25 2018 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 7251 8-Core Processor 1 "physical id"s (chips) 16 "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 : 8 siblings : 16 physical 0: cores 0 4 8 12 16 20 24 28 From lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Thread(s) per core: 2 Core(s) per socket: 8 Socket(s): 1 NUMA node(s): 4 Vendor ID: AuthenticAMD CPU family: 23 Model: 1 Model name: AMD EPYC 7251 8-Core Processor Stepping: 2 CPU MHz: 2100.000 CPU max MHz: 2100.0000 CPU min MHz: 1200.0000 BogoMIPS: 4199.76 Virtualization: AMD-V L1d cache: 32K L1i cache: 64K L2 cache: 512K L3 cache: 4096K NUMA node0 CPU(s): 0,1,8,9 NUMA node1 CPU(s): 2,3,10,11 NUMA node2 CPU(s): 4,5,12,13 NUMA node3 CPU(s): 6,7,14,15 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 extd_apicid amd_dcm aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx arat cpb hw_pstate retpoline retpoline_amd npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall avic fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf ibpb overflow_recov succor smca /proc/cpuinfo cache data cache size : 512 KB From numactl --hardware WARNING: a numactl 'node' might or might not correspond to a physical chip. available: 4 nodes (0-3) node 0 cpus: 0 1 8 9 node 0 size: 128827 MB node 0 free: 128670 MB node 1 cpus: 2 3 10 11 node 1 size: 129022 MB node 1 free: 128896 MB node 2 cpus: 4 5 12 13 node 2 size: 129022 MB node 2 free: 128882 MB node 3 cpus: 6 7 14 15 node 3 size: 129022 MB node 3 free: 128887 MB node distances: node 0 1 2 3 0: 10 16 16 16 1: 16 10 16 16 2: 16 16 10 16 3: 16 16 16 10 From /proc/meminfo MemTotal: 528276592 kB HugePages_Total: 0 Hugepagesize: 2048 kB From /etc/*release* /etc/*version* SuSE-release: SUSE Linux Enterprise Server 12 (x86_64) VERSION = 12 PATCHLEVEL = 3 # This file is deprecated and will be removed in a future service pack or release. # Please check /etc/os-release for details about this release. os-release: NAME="SLES" VERSION="12-SP3" VERSION_ID="12.3" PRETTY_NAME="SUSE Linux Enterprise Server 12 SP3" ID="sles" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:suse:sles:12:sp3" uname -a: Linux linux-pm02 4.4.114-94.11-default #1 SMP Thu Feb 1 19:28:26 UTC 2018 (4309ff9) x86_64 x86_64 x86_64 GNU/Linux Kernel self-reported vulnerability status: CVE-2017-5754 (Meltdown): Not affected CVE-2017-5753 (Spectre variant 1): Mitigation: Barriers CVE-2017-5715 (Spectre variant 2): Mitigation: Full AMD retpoline + IBPB run-level 3 Nov 9 11:03 SPEC is set to: /home/cpu2017 Filesystem Type Size Used Avail Use% Mounted on /dev/sda4 xfs 145G 5.7G 139G 4% /home Additional information from dmidecode 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. BIOS American Megatrends Inc. 1.0 09/04/2018 Memory: 8x NO DIMM NO DIMM 8x Samsung M386A8K40BM2-CTD 64 GB 4 rank 2667, configured at 2400 (End of data from sysinfo program) Compiler Version Notes ---------------------- ============================================================================== CC 519.lbm_r(base, peak) 538.imagick_r(base, peak) 544.nab_r(base, peak) ------------------------------------------------------------------------------ AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin ------------------------------------------------------------------------------ ============================================================================== CXXC 508.namd_r(base, peak) 510.parest_r(base, peak) ------------------------------------------------------------------------------ AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin ------------------------------------------------------------------------------ ============================================================================== CC 511.povray_r(base, peak) 526.blender_r(base, peak) ------------------------------------------------------------------------------ AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin ------------------------------------------------------------------------------ ============================================================================== FC 507.cactuBSSN_r(base, peak) ------------------------------------------------------------------------------ AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin GNU Fortran (GCC) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. GNU Fortran comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of GNU Fortran under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING ------------------------------------------------------------------------------ ============================================================================== FC 503.bwaves_r(base, peak) 549.fotonik3d_r(base, peak) 554.roms_r(base, peak) ------------------------------------------------------------------------------ GNU Fortran (GCC) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. GNU Fortran comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of GNU Fortran under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING ------------------------------------------------------------------------------ ============================================================================== CC 521.wrf_r(base, peak) 527.cam4_r(base, peak) ------------------------------------------------------------------------------ GNU Fortran (GCC) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. GNU Fortran comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of GNU Fortran under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING AOCC.LLVM.4.0.0.B35.2017_04_26 clang version 4.0.0 (CLANG:) (based on LLVM AOCC.LLVM.4.0.0.B35.2017_04_26) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /root/work/compilers/AOCC-1.0-Compiler/bin ------------------------------------------------------------------------------ Base Compiler Invocation ------------------------ C benchmarks: clang C++ benchmarks: clang++ Fortran benchmarks: clang gfortran Benchmarks using both Fortran and C: clang gfortran Benchmarks using both C and C++: clang++ clang Benchmarks using Fortran, C, and C++: clang++ clang gfortran Base Portability Flags ---------------------- 503.bwaves_r: -DSPEC_LP64 507.cactuBSSN_r: -DSPEC_LP64 508.namd_r: -DSPEC_LP64 510.parest_r: -DSPEC_LP64 511.povray_r: -DSPEC_LP64 519.lbm_r: -DSPEC_LP64 521.wrf_r: -DSPEC_CASE_FLAG -fconvert=big-endian -DSPEC_LP64 526.blender_r: -funsigned-char -D__BOOL_DEFINED -DSPEC_LP64 527.cam4_r: -DSPEC_CASE_FLAG -DSPEC_LP64 538.imagick_r: -DSPEC_LP64 544.nab_r: -DSPEC_LP64 549.fotonik3d_r: -DSPEC_LP64 554.roms_r: -DSPEC_LP64 Base Optimization Flags ----------------------- C benchmarks: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Wl,-plugin-opt=-disable-vect-cmp -O3 -ffast-math -march=znver1 -fstruct-layout=2 -mllvm -unroll-threshold=100 -fremap-arrays -mno-avx2 -mllvm -inline-threshold=1000 -mllvm -disable-vect-cmp -z muldefs -ljemalloc C++ benchmarks: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Wl,-plugin-opt=-disable-vect-cmp -O3 -march=znver1 -mllvm -unroll-threshold=100 -finline-aggressive -fremap-arrays -mllvm -inline-threshold=1000 -mllvm -disable-vect-cmp -z muldefs -ljemalloc Fortran benchmarks: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Wl,-plugin-opt=-disable-vect-cmp -O3 -mavx -madx -funroll-loops -ffast-math -z muldefs -fplugin=dragonegg.so -fplugin-arg-dragonegg-llvm-option=-merge-constant -fplugin-arg-dragonegg-llvm-option=-disable-vect-cmp -ljemalloc -lgfortran -lamdlibm Benchmarks using both Fortran and C: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Wl,-plugin-opt=-disable-vect-cmp -O3 -ffast-math -march=znver1 -fstruct-layout=2 -mllvm -unroll-threshold=100 -fremap-arrays -mno-avx2 -mllvm -inline-threshold=1000 -mllvm -disable-vect-cmp -mavx -madx -funroll-loops -z muldefs -fplugin=dragonegg.so -fplugin-arg-dragonegg-llvm-option=-merge-constant -fplugin-arg-dragonegg-llvm-option=-disable-vect-cmp -ljemalloc -lgfortran -lamdlibm Benchmarks using both C and C++: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Wl,-plugin-opt=-disable-vect-cmp -O3 -ffast-math -march=znver1 -fstruct-layout=2 -mllvm -unroll-threshold=100 -fremap-arrays -mno-avx2 -mllvm -inline-threshold=1000 -mllvm -disable-vect-cmp -finline-aggressive -z muldefs -ljemalloc Benchmarks using Fortran, C, and C++: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Wl,-plugin-opt=-disable-vect-cmp -O3 -ffast-math -march=znver1 -fstruct-layout=2 -mllvm -unroll-threshold=100 -fremap-arrays -mno-avx2 -mllvm -inline-threshold=1000 -mllvm -disable-vect-cmp -finline-aggressive -mavx -madx -funroll-loops -z muldefs -fplugin=dragonegg.so -fplugin-arg-dragonegg-llvm-option=-merge-constant -fplugin-arg-dragonegg-llvm-option=-disable-vect-cmp -ljemalloc Peak Compiler Invocation ------------------------ C benchmarks: clang C++ benchmarks: clang++ Fortran benchmarks: clang gfortran Benchmarks using both Fortran and C: clang gfortran Benchmarks using both C and C++: clang++ clang Benchmarks using Fortran, C, and C++: clang++ clang gfortran Peak Portability Flags ---------------------- Same as Base Portability Flags Peak Optimization Flags ----------------------- C benchmarks: 519.lbm_r: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Ofast -march=znver1 -fstruct-layout=3 -mllvm -vectorize-memory-aggressively -mno-avx2 -mllvm -unroll-threshold=100 -fremap-arrays -mllvm -inline-threshold=1000 -ljemalloc 538.imagick_r: Same as 519.lbm_r 544.nab_r: basepeak = yes C++ benchmarks: 508.namd_r: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Ofast -march=znver1 -finline-aggressive -mllvm -unroll-threshold=100 -fremap-arrays -mllvm -inline-threshold=1000 -ljemalloc 510.parest_r: basepeak = yes Fortran benchmarks: 503.bwaves_r: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -O3 -mavx2 -madx -funroll-loops -ffast-math -fplugin=dragonegg.so -fplugin-arg-dragonegg-llvm-option=-merge-constant -fplugin-arg-dragonegg-llvm-option=-inline-threshold:1000 -ljemalloc -lgfortran -lamdlibm 549.fotonik3d_r: Same as 503.bwaves_r 554.roms_r: basepeak = yes Benchmarks using both Fortran and C: 521.wrf_r: basepeak = yes 527.cam4_r: basepeak = yes Benchmarks using both C and C++: 511.povray_r: -flto -Wl,-plugin-opt=-merge-constant -Wl,-plugin-opt=-lsr-in-nested-loop -Ofast -march=znver1 -fstruct-layout=3 -mllvm -vectorize-memory-aggressively -mno-avx2 -mllvm -unroll-threshold=100 -fremap-arrays -mllvm -inline-threshold=1000 -finline-aggressive -ljemalloc 526.blender_r: basepeak = yes Benchmarks using Fortran, C, and C++: 507.cactuBSSN_r: basepeak = yes The flags files that were used to format this result can be browsed at http://www.spec.org/cpu2017/flags/aocc100-flags-revC-I.2018-11-13.html http://www.spec.org/cpu2017/flags/gcc.2018-02-16.html http://www.spec.org/cpu2017/flags/Supermicro-Platform-Settings-V1.2-Naples-revD.html You can also download the XML flags sources by saving the following links: http://www.spec.org/cpu2017/flags/aocc100-flags-revC-I.2018-11-13.xml http://www.spec.org/cpu2017/flags/gcc.2018-02-16.xml http://www.spec.org/cpu2017/flags/Supermicro-Platform-Settings-V1.2-Naples-revD.xml SPEC is a registered trademark of the Standard Performance Evaluation Corporation. All other brand and product names appearing in this result are trademarks or registered trademarks of their respective holders. -------------------------------------------------------------------------------------------------------- For questions about this result, please contact the tester. For other inquiries, please contact info@spec.org. Copyright 2017-2018 Standard Performance Evaluation Corporation Tested with SPEC CPU2017 v1.0.5 on 2018-11-09 07:39:24-0500. Report generated on 2018-11-27 13:31:02 by CPU2017 ASCII formatter v6067. Originally published on 2018-11-27.