Skip to main content

SPECcpu

SPEC CPU is a workload created and licensed by the Standard Performance Evalution Corporation. The SPEC CPU® 2017 benchmark package contains SPEC's next-generation, industry-standardized, CPU intensive suites for measuring and comparing compute intensive performance, stressing a system's processor, memory subsystem and compiler.

System Requirements

The following section provides special considerations required for the system on which the SPEC CPU workload will be run.

https://spec.org/cpu2017/Docs/system-requirements.html

  • Physical Memory = 16 GB minimum
  • Disk Space = 250 GB minimum on the OS disk

How to package SPECcpu

SPECcpu2017 is a commercial workload. VirtualClient cannot distribute the license and binary. You need to follow the following steps to package this workload and make it available locally or in a storage that you own.

  1. SPECcpu can be downloaded here https://pro.spec.org/private/osg/cpu/cpu2017/src/, with SPEC credentials. Download ISO file cpu2017-1.1.8.iso.

  2. Please create a new directory speccpu (flexible), and insert one speccpu2017.vcpkg json file.

  speccpu
  ├───cpu2017-1.1.8.iso
  └───speccpu2017.vcpkg

speccpu2017.vcpkg json example

{
  "name": "speccpu2017",
  "description": "SPEC CPU 2017 benchmark toolsets.",
  "version": "1.1.8",
  "metadata": {
      "isoName": "cpu2017-1.1.8.iso"
  }
}
  1. Zip the speccpu-1.1.8 directory into speccpu-1.1.8.zip, make sure that no extra /speccpu-1.1.8/ top directory is created.
7z a speccpu-1.1.8.zip ./speccpu-1.1.8/*

or

cd speccpu-1.1.8; zip -r ../speccpu-1.1.8.zip *
  1. Modify the SPECcpu profiles as needed. If you are using your own blob storage, you can use the profile as is. If you are copying the zip file locally under vc/packages, you can simply remove the DependencyPackageInstallation step.

What is Being Measured?

SPEC teams designed these suites to provide a comparative measure of compute-intensive performance across the widest practical range of hardware using workloads developed from real user applications. The benchmarks are provided as source code and require the use of compiler commands as well as other commands via a shell or command prompt window. SPEC CPU 2017 also includes an optional metric for measuring energy consumption.

The SPEC CPU 2017 benchmark package contains 43 benchmarks, organized into four distinct workload suites:

  • SPECspeed® 2017 Integer
    • Used for measure the time required for the computer to complete single integer calculations.
  • SPECspeed® 2017 Floating Point
    • Used to measure the time required for the computer to complete single floating-point calculations.
  • SPECrate® 2017 Integer
    • Measure the throughput or work per unit of time on the computer for integer calculations.
  • SPECrate® 2017 Floating Point
    • Measure the throughput or work per unit of time on the computer for floating-point calculations.

Workload Metrics

The following metrics are examples of those captured by the Virtual Client when running the SPECcpu workload.

ScenarioMetric NameExample Value (min)Example Value (max)Example Value (avg)Unit
INTspeedSPECcpu-base-600.perlbench_s5.055.445.291236749116601Score
INTspeedSPECcpu-base-602.gcc_s7.077.687.355406360424022Score
INTspeedSPECcpu-base-605.mcf_s5.075.985.436749116607786Score
INTspeedSPECcpu-base-620.omnetpp_s3.815.515.185088339222612Score
INTspeedSPECcpu-base-623.xalancbmk_s3.043.533.3250176678445224Score
INTspeedSPECcpu-base-625.x264_s3.623.783.7309893992932956Score
INTspeedSPECcpu-base-631.deepsjeng_s3.493.653.5914487632508944Score
INTspeedSPECcpu-base-641.leela_s3.323.453.419363957597164Score
INTspeedSPECcpu-base-648.exchange2_s6.656.956.884946996466445Score
INTspeedSPECcpu-base-657.xz_s9.2410.39.804134275618383Score
INTspeedSPECspeed(R)2017_int_base4.825.25.07127208480564Score
INTrateSPECcpu-base-500.perlbench_r16.016.816.39600000000001Score
INTrateSPECcpu-base-502.gcc_r18.419.818.812666666666673Score
INTrateSPECcpu-base-505.mcf_r16.518.116.872666666666679Score
INTrateSPECcpu-base-520.omnetpp_r10.111.510.736666666666674Score
INTrateSPECcpu-base-523.xalancbmk_r9.5510.310.016400000000007Score
INTrateSPECcpu-base-525.x264_r14.414.814.65066666666666Score
INTrateSPECcpu-base-531.deepsjeng_r14.015.515.25466666666666Score
INTrateSPECcpu-base-541.leela_r14.715.615.44600000000001Score
INTrateSPECcpu-base-548.exchange2_r22.024.023.70733333333333Score
INTrateSPECcpu-base-557.xz_r13.714.714.183333333333318Score
INTrateSPECrate(R)2017_int_base14.915.715.179999999999988Score
FPspeedSPECcpu-base-603.bwaves_s22.927.026.577027027027027Score
FPspeedSPECcpu-base-607.cactuBSSN_s22.023.122.409459459459474Score
FPspeedSPECcpu-base-619.lbm_s4.458.348.101216216216216Score
FPspeedSPECcpu-base-621.wrf_s13.315.415.07432432432433Score
FPspeedSPECcpu-base-627.cam4_s11.612.011.767567567567568Score
FPspeedSPECcpu-base-628.pop2_s12.714.213.904054054054047Score
FPspeedSPECcpu-base-638.imagick_s1.91.971.9393243243243255Score
FPspeedSPECcpu-base-644.nab_s20.521.320.995945945945946Score
FPspeedSPECcpu-base-649.fotonik3d_s11.421.120.560810810810805Score
FPspeedSPECcpu-base-654.roms_s14.116.515.964864864864867Score
FPspeedSPECspeed(R)2017_fp_base11.313.413.18108108108109Score
FPrateSPECcpu-base-503.bwaves_r54.757.656.76533333333332Score
FPrateSPECcpu-base-507.cactuBSSN_r14.615.715.186666666666673Score
FPrateSPECcpu-base-508.namd_r12.112.712.536000000000005Score
FPrateSPECcpu-base-510.parest_r19.620.420.148000000000005Score
FPrateSPECcpu-base-511.povray_r15.916.916.657333333333339Score
FPrateSPECcpu-base-519.lbm_r10.311.210.857333333333328Score
FPrateSPECcpu-base-521.wrf_r17.818.518.244Score
FPrateSPECcpu-base-526.blender_r18.819.419.101333333333323Score
FPrateSPECcpu-base-527.cam4_r15.616.115.981333333333329Score
FPrateSPECcpu-base-538.imagick_r21.121.721.482666666666668Score
FPrateSPECcpu-base-544.nab_r21.221.821.581333333333335Score
FPrateSPECcpu-base-549.fotonik3d_r28.530.429.62Score
FPrateSPECcpu-base-554.roms_r13.414.413.927999999999992Score
FPrateSPECrate(R)2017_fp_base18.519.318.99866666666667Score