On 11/22/2011 5:49 AM, TERRY DONTJE wrote:
The error you are seeing is usually indicative of some code operating on memory that isn't aligned properly for a SPARC instruction being used.  The address that is causing the failure is odd aligned which is more than likely the culprit.  If you have a core dump and can disassemble the code that is being ran at the time it probably will be some sort of instruction requiring an alignment.  If the MPI you are using is something you built can you try and build OMPI with -g and get the line number in the PML that is failing?

I haven't seen this type of error for some time but I do all of my SPARC testing on Solaris with Solaris Studio Compilers.  You may want to try to compile the benchmark with "-m32" to see if that helps.  Though being an odd address I suspect it might not.  If you can use the Studio Compilers you could try giving the compilers the -xmemalign=8i option when building the benchmark and see if that resolves the issue.  This would help to assure the issue is just an alignment of data we are slicing and dicing as opposed to wrongly addressing memory.

After thinking about this you probably won't be able to use the Studio Compilers because they only support compiling on Linux with x86 platforms not Linux with SPARC.  Not sure if gcc has anything like the xmemalign options.

Terry D. Dontje | Principal Software Engineer
Developer Tools Engineering | +1.781.442.2631
Oracle - Performance Technologies
95 Network Drive, Burlington, MA 01803
Email terry.dontje@oracle.com