<?xml version="1.0"?>
<!DOCTYPE flagsdescription SYSTEM
       "http://www.spec.org/dtd/cpuflags1.dtd">

<!-- This file defines platform settings -->
<flagsdescription>

<filename>intel-platform</filename>

<title>Platform settings file</title>

<!-- Header -->

<header>
<![CDATA[
<div id='banner'>
<h2><b>Intel Platform Settings</b></h2>
</div>
]]>
</header>


<!-- Platform Settings -->
<platform_settings>
 <![CDATA[ 
	 <p><b>Platform settings</b></p>

         <p>One or more of the following settings may have been set.  If so, the "General Notes" section of the
         report will say so; and you can read below to find out more about what these settings mean.</p>
   
         <p><b>Using numactl to bind processes and memory to cores</b></p>
         <p>For multi-copy runs or single copy runs on systems with multiple sockets, it is advantageous
         to bind a process to a particular core.  Otherwise, the OS may arbitrarily move your process
         from one core to another.  This can effect performance.
         To help, SPEC allows the use of a "submit" command where users can specify
         a utility to use to bind processes.  We have found the utility 'numactl' to be the best choice.</p>
         <p>numactl runs processes with a specific NUMA scheduling or memory placement policy.
         The policy is set for a command and inherited by all of its children.
         The numactl flag "--physcpubind" specifies which core(s) to bind the process.
         "--localalloc" instructs numactl to keep a process memory on the local node
         while "-m" specifies which node(s) to place a process memory.
         For full details on using numactl, please refer to your Linux documentation, 'man numactl'<br />
	 </p>

  ]]> 
</platform_settings>

</flagsdescription>

