Benchmarking: HPL with MPICH2 and Vanilla Raspbian (Raspberry Pi)

From Define Wiki
Revision as of 10:43, 4 March 2016 by Jon (talk | contribs) (Created page with "== Installing dependencies == HPL has a few software dependencies that have to be satisfied before it can be installed. They are: * gfortran - fortran program compiler * MPIC...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Installing dependencies

HPL has a few software dependencies that have to be satisfied before it can be installed. They are:

  • gfortran - fortran program compiler
  • MPICH2 - an implementation of MPI
  • mpich2-dev - development tools
  • BLAS - Basic Linear Algebra Subprograms

To install other dependencies and packages, use the following command:

sudo apt-get install mpich2 libatlas-base-dev libmpich2-dev gfortran

Download HPL and set it up

Download the HPL package from [[1]].

wget http://www.netlib.org/benchmark/hpl/hpl-2.1.tar.gz

The next thing to do is extract the tar file and create a makefile based on the given template. Open the terminal and change the directory to where the downloaded HPL tar file is stored. Execute the following set of commands one after another.

tar xf hpl-2.1.tar.gz
cd hpl-2.1/setup
sh make_generic
cd ..
cp setup/Make.UNKNOWN Make.pi

The last command copies the contents of Make.UNKNOWN to Make.rpi . We do this is because, the make file contains all the configuration details of the system ( The raspberry pi) and also the details various libraries such as mpich2, atlas/blas packages, home directory, etc. In the next step, we make changes to the Make.rpi file.

Adjust the Make.pi file

This is an important step. Changes shown below vary according to your system. Here I show it with respect to my system. Please note that the following changes have parameters shown which are spread throughout the Make.rpi file. So I suggest you to find each parameter and replace or add the changes and only then continue to the next parameter.

ARCH         = rpi
TOPdir       = $(HOME)/hpl-2.1
MPdir        = /usr/local/mpich2
MPinc        = -I $(MPdir)/include
MPlib        = $(MPdir)/lib/libmpich.a
LAdir        = /usr/lib/atlas-base/
LAlib        = $(LAdir)/libf77blas.a $(LAdir)/libatlas.a