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)