Seattle: Building and running HPL
Pre-Requisits
The default O/S image provided by AMD is very minimal and doesn't include many packages at all. The following should be installed:
yum groupinstall 'Development Tools'
yum install tar bzip2 bc g++Install OpenMPI
Either install from the repos openmpi, build it manually of choose an alternative MPI.
yum install openmpi openmpi-develSet up user environment
# add to the end of your ~/.bashrc
export PATH=$PATH:/usr/lib64/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib;/usr/include/openmpi-aarch64/Download & build ATLAS
Download ATLAS from: http://sourceforge.net/projects/math-atlas/files/Stable/3.10.1/atlas3.10.1.tar.bz2/download
Extract the contents of the tarball:
cd /root/scratch
wget http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.1/atlas3.10.1.tar.bz2
tar jxvf atlas3.10.1.tar.bz2Build ATLAS. N.B. - This will take a long time. On our sample Seattle system this took in excess of 5 hours. It is worth running the build process in a screen session or with nohup.
cd /root/scratch
mkdir atlas3.10.1_build
cd atlas3.10.1_build/
/root/scratch/ATLAS/configure --prefix=/opt/atlas/3.10.1
make
make checkGet Linpack
Latest versions are available from: http://www.netlib.org/benchmark/hpl/
Download and decompress HPL:
cd /root/scratch
wget http://www.netlib.org/benchmark/hpl/hpl-2.1.tar.gz
tar zxvf hpl-2.1.tar.gzCreate the Makefile:
cd hpl-2.1
cp setup/Make.Linux_PII_CBLAS Make.Linux-aarch64Edit the following items (approximate line numbers shown):
---
64 ARCH = Linux_aarch64
---
70 TOPdir = $(HOME)/scratch/hpl-2.1
---
84 MPdir = /usr/lib64/openmpi
85 MPinc = -I/usr/include/openmpi-aarch64
86 MPlib = $(MPdir)/lib/libmpi.so
---
95 LAdir = /root/scratch/atlas3.10.1_build/lib
---
176 LINKER = /usr/lib64/openmpi/bin/mpif90