An Example: High Performance Linpack

This is a patch to the original High-Performance Linpack Benchmark (HPL Version 1.0a) that enables the usage of non-blocking collective operations. This patch is based on Christian Siebert's "native MPI_Bcast() patch" for HPL and adds another broadcast option that lets the user select non-blocking collective operation implemented in LibNBC. Applying the patch (pseudo-script):

 mkdir linpack
 cd linpack
 # download original HPL
 wget http://www.netlib.org/benchmark/hpl/hpl.tgz
 # unpack HPL
 tar xzf hpl.tgz
 # download patch 
 wget http://www.unixer.de/research/nbcoll/hpl/hpl-1.0a-NBC.patch
 cd hpl
 # patch HPL
 patch -p 1 < ../hpl-1.0a-NBC.patch
 # create Make.Linux according to HPL documentation
 # add LibNBC include (nbc.h) to CFLAGS
 # add LibNBC library (libnbc.a) to LDFLAGS
 # compile
 # create HPL.dat (select 6 or 7 for Bcast) and run 


The patch is available here: Patch against HPL-1.0a to enable MPI_Bcast() and NBC_Ibcast() - (22.99 kb)