SPEC CPU2017 Platform Settings for Epsylon systems based on Supermicro Solutions

Firmware / BIOS / Microcode Settings

Power Technology: (Default = "Energy Efficient")
    This BIOS option allows to define Power Management features for the CPU.
    The option can be set to the one of the following:  [Energy Efficient], [Disable] or [Custom].
    When set as [Custom] user can define power management functionality.
    
Turbo Mode:
    The options are [Disable] or [Enable].
    This option allows the processor to automatically increase its frequency if it is running below power, temperature, and current specifications.
    Users should set this option as [Enable] to utilize full CPU computing power. May lead to higher power consumption.
    
Enhanced Halt State (C1E): (Default = "Enable")
    The options are [Disable] or [Enable].
    When enabled, C1E halt state invoked by the operating system's idle process turns down the entire CPU's clock frequency and voltage and cut a CPU's power consumption and heat production.
    Users should set this option as [Enable] to utilize full CPU computing power. May lead to higher power consumption.
    
CPU C6 report: (Default = "Auto")
    The options are [Disable], [Enable] or [Auto].
    Enabling this option allows the processor to report the CPU C6 state (ACPI C3) to the Operating system.
    Before CPU enters C6 state all caches must be flushed. During CPU C6 state power to all cache memory is turned off for power saving. Users should set this option as [Disable] to utilize full CPU computing power. May lead to higher power consumption.
    
Package C State: (Default = "Auto")
    The options are [C0/C1 state], [C2 state], [C6 non Retention state], [C6 Retention state], [No limit] or [Auto].
    Use this feature to set the limit on the C-State package register. It applies to the whole processor not individual cores.
	Users should set this option as [No limit] to utilize full CPU computing power.
    
Software Controlled T-States:
    T-states exist to save processors from burning when the cooling fan failed 
    while the processor is running with maximum performance. If a temperature 
    sensor register that the temperature is reaching a level that could cause 
    damage to the package or its contents, the power manager would place the 
    processor in different T-States (which will let him cool down) depending 
    upon temperature: the higher the temperature - the higher the T-State etc.
    If this feature is set to [Enable], CPU throttling settings will be supported 
    by the software of the system.
    Users should set this option as [Disable] to avoid throttling but sufficient cooling is required.
    
Hyper-Threading (ALL):
    Enabling this option allows to use processor resources more efficiently, enabling multiple threads to run on each core
    and increases processor throughput, improving overall performance on threaded software. OS support for HT is required.
    This can be set to [Enable] or [Disable].
    Users should set this option as [Enable] for multithreaded applications.
    Users should set this option as [Disable] for singlethreaded applications.
    
Enforce POR: (Default = "POR")
    This can be one of the following:  [Disable] or [POR].
	Enable to enforce POR (Plan Of Record) restriction for DDR4 frequency and voltage programming. 
	Memory speeds will be capped accordingly. Disabling allows user selection of additional supported memory speeds.
    
Memory Frequency: (Default = "Auto")
    When Enforce POR option is set as [POR], Memory Frequency is set automatically 
    by the Bios and cannot be changed.
    When Enforce POR option is set as [Disable], users can manually set Memory Frequency 
    to maximum supported by the processor and memory modules combination.
    The options are [Auto], [1866], [2000], [2133], [2400], [2666] and [2933].
    While setting [Auto] works in most cases users should set this option manually if the memory speed is not correctly detected for specific processor and memory.
    
Patrol Scrub: (Default = "Enable")
    The options are [Disable] and [Enable].
    When enabled, performs periodic checks on memory cells and proactively walks through populated memory space, to seek and correct soft ECC errors.
    Users should set this option as [Disable] because this background activity while enhancing security may also slightly impact performance.
    
IMC Interleaving: (Default = "Auto")
    This BIOS option controls the interleaving between the Integrated Memory Controllers (IMCs).
    The options are [Auto], [1-way Interleave] or [2-way Interleave].
    There are two Integrated Memory Controllers in Skylake CPUs.
    If IMC Interleaving is set to 2-way, addresses will be interleaved between the two IMCs but the channel population behind both iMCs must be identical.
    If IMC Interleaving is set to 1-way, there will be no interleaving, but there are no requirements for matching population across iMCs.
    If Sub_NUMA Cluster is disabled, IMC Interleaving should be set to 2-way.  
    If Sub_NUMA Cluster is enabled, IMC Interleaving should be set to 1-way.
	
SNC:(Sub NUMA Cluster): (Default = "Disable")
    The options are [Disable], [Enable] or [Auto].
    SNC (Sub_NUMA Cluster) provides similar localization benefits as Cluster-On-Die (COD), without some of COD downsides. 
    SNC breaks up the LLC into two disjoint clusters based on address range, with each cluster bound to a subset of the memory controllers in the system. 
    SNC improves average latency to the LLC (last level cache) and memory. 
    For a multi-socketed system, all clusters are mapped to unique NUMA domains. 
    IMC Interleaving must be set to the correct value to correspond with SNC enable/disable. 
    
LLC Prefetch: (Default = "Disable")
	The LLC prefetcher is an additional prefetch mechanism on top of the existing prefetchers that prefetch data into the core Data Cache Unit (DCU) and Mid-Level Cache (MLC). Enabling LLC prefetch gives the core prefetcher the ability to prefetch data directly into the LLC without necessarily filling into the MLC.