[patch] MPI/Pro on mercury, potential fix for benchmark wrap-around
Jules Bergmann
jules at codesourcery.com
Tue Feb 14 13:44:12 UTC 2006
Woo-hoo! Last night I was able to configure the library with MPI and
run the distributed-block.cpp test with 2 processors. A simpler
corner-turn test ran fine too on 1, 2, and 4 processors.
I'll update the wiki, but to run an mpi program using mpirun, it is
necessary to first run sysmc as follows (assume you are using CEs
2,3,4,5 with -np 4):
sysmc -ce 2 init 3-5
mpirun -np 4 job.exe
sysmc -ce 2 reset 3-5
The 'sysmc -ce 2 init 3-5' establishes a communication cluster of the
specified CEs.
The patch below updates configure to work with MPI/Pro. Because the
MPI/Pro headers don't have any distinguishing defines, the user must
enable mpi as '--enable-mpi=mpipro'. MPI/Pro on the mercury doesn't
have an mpicxx, so this patch avoids doing the showme probe.
This patch also updates the benchmark loop driver to use doubles instead
of size_t's as intermediate values when computing the ops/sec. On
32-bit machines (such as the GTRI cluster), I've seen wrap-around with
large sample times (i.e. (big loop count) * (ops/point) * (points) >
2^32 -> number wraps around).
Don, I'm hoping this will fix the funny drops you were seeing in SAL
performance at 128 points and 2048 points.
Patch applied.
-- Jules
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mc.diff
Type: text/x-patch
Size: 3600 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20060214/05e7d855/attachment.bin>
More information about the vsipl++
mailing list