-
Notifications
You must be signed in to change notification settings - Fork 14
Home
This version of Linpack differs from the HPL as published by netlib.org in multiple aspects, this includes build requirements and configuration, run configuration and license. All of these are covered in this wiki. A lot of technical details regarding the modifications can be found in the references section.
The following software is required by HPL-GPU:
- An MPI library, tested are
- "OpenMPI":http://www.open-mpi.org/
- "MVPICH":http://mvapich.cse.ohio-state.edu/
- "MVAPICH2":http://mvapich.cse.ohio-state.edu/overview/mvapich2/
- A "BLAS":http://netlib.org/blas/ library
- Only tested version is "GotoBLAS":http://www.tacc.utexas.edu/tacc-projects/gotoblas2/
- On most CPUs this is also the fastest version.
- "CALDGEMM":http://code.compeng.uni-frankfurt.de/projects/caldgemm
- C++ compiler
- pthreads support
- "Intel(R) Threading Building Blocks":http://www.threadingbuildingblocks.org/
- Optional (The build process will try to download and install TBB if it is not available in the source tree. As long as the computer that builds HPL has internet access you do not have to worry about installing TBB.)
- Required for improved swaps for which you ironically currently need an AMD CPU.
You can either download the source from the "files section":/projects/hpl/files or pull it from the git repository.
- You need to install all the prerequisites and set certain environment variables correctly.
- You will have to build the CALDGEMM library first, after settings its build configuration file config_options.mak.
- As the original HPL, HPL-GPU requires a build configuration file called Make.ARCHNAME. The suggested method is to adapt the Make.Generic file, which is preconfigured properly for most cases.
As with the original HPL the build will put a binary and a sample configuration into @bin/ARCHNAME@.
As with the original HPL the configuration file must be called @HPL.dat@. Note, however, that the options in the configuration file have changed. Therefore you cannot copy a configuration file from the original HPL, but have to create a configuration file anew. The sample file will give you a working configuration for a single nodes. Note that the HPL-GPU process will by default use all cores of a node, therefore you should only run one process per node.
HPL-GPU is made up of parts that are licensed under the "GNU General Public License Version 3":http://www.gnu.org/licenses/gpl-3.0.html and parts that are licensed under the . The license of each source file is noted in the header of the file. The parts licensed under the GNU General Public License Version 3 grant the following special exception:
"Use with the Original BSD License."
Notwithstanding any other provision of the GNU General Public License Version 3, you have permission to link or combine any covered work witha work licensed under the 4-clause BSD license into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the 4-clause BSD license, clause 3, concerning the requirement of acknowledgement in advertising materials will apply to the combination as such.
- DMA and memory bandwidth
- CALDGEMM Performance Optimization Guide (CAL OpenCL without GPU_C)
- CALDGEMM Performance Optimization Guide (OpenCL CUDA)
- Thread to core pinning in HPL and CALDGEMM
- Important HPL GPU / CALDGEMM options
Tools / Information
- Analysis Plots of HPL GPU Runs
- Headless System with X Server
- Heterogeneous cluster with different node types
- HPL Compile Time Options
- Catalyst Driver Patch
Reference