[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