Developer Guide

Contents

Running the Intel Distribution for LINPACK Benchmark

To run the Intel Distribution for LINPACK Benchmark on multiple nodes or on one node with multiple MPI processes, you need to use MPI and either modify
HPL.dat
or use Ease-of-use Command-line Parameters. The following example describes how to run the dynamically-linked prebuilt Intel Distribution for LINPACK Benchmark binary using the script provided. To run other binaries, adjust the steps accordingly.
  1. Load the necessary environment variables for the Intel MPI Library and Intel® compiler:
    <parent directory>
    \
    bin
    \
    compilervars.
    bat
    intel64
    <mpi directory>
    \
    bin64
    \
    mpivars.
    bat
  2. In
    HPL.dat
    , set the problem size
    N
    to 10000. Because this setting is for a test run, the problem size should be small.
  3. For better performance, enable non-uniform memory access (NUMA) on your system and configure to run an MPI process for each NUMA socket as explained below.
    High-bandwidth Multi-Channel Dynamic Random Access Memory (MCDRAM) on the second-generation Intel Xeon Phi processors may appear to be a NUMA node. However, because there are no CPUs on this node, do not run an MPI process for it.
    • Refer to your BIOS settings to enable NUMA on your system.
    • Set the following variables at the top of the
      runme_intel64_dynamic
      .bat
      script according to your cluster configuration:
      MPI_PROC_NUM
      The total number of MPI processes.
      MPI_PER_NODE
      The number of MPI processes per each cluster node.
    • In the
      HPL.dat
      file, set the parameters
      Ps
      and
      Qs
      so that
      Ps
      *
      Qs
      equals the number of MPI processes. For example, for 2 processes, set
      Ps
      to 1 and
      Qs
      to 2. Alternatively, leave the
      HPL.dat
      file as is and launch with
      -p
      and
      -q
      command-line parameters.
  4. Execute
    runme_intel64_dynamic
    .bat
    script:
    runme_intel64_dynamic
    .bat
  5. Rerun the test increasing the size of the problem until the matrix size uses about 80% of the available memory. To do this, either modify
    Ns
    in line 6 of
    HPL.dat
    or use the
    -n
    command-line parameter:
    • For 16 GB:
      40000 Ns
    • For 32 GB:
      56000 Ns
    • For 64 GB:
      83000 Ns
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804