[mpich-discuss] Cannot build mpich2-1.0.8p1 (nemesis) with PGI 8.0-4 on Linux x86_64

Dave Goodell goodell at mcs.anl.gov
Mon Mar 30 22:22:34 CDT 2009


On Mar 30, 2009, at 8:02 PM, Gus Correa wrote:

>> Did you successfully build the original mpich2-1.0.8 (non-patch)  
>> release with these same PGI compilers?
>
> Since you asked, I tried mpich2-1.0.8 (non-patch) with PGI 8.0-4.
> It fails with the same exact error.  :(

As I suspected.  In a way this is good because it means that we didn't  
break anything in our small p1 patch ;)

> I also tried to replace PGI 8.0-4 with PGI 7.2-5,
> and build mpich2-1.0.8p1 (patch).
> No difference whatsoever, same exact error again :(

Not surprising.  In looking at your configure output and the  
configure.in from MPICH2-1.0.8p1, it's clear that the PGI compilers  
won't ever work without a modification.  We make an explicit check for  
either gcc (by any name) or icc (only named "icc") before checking for  
inline assembly.  So when CC=pgcc we don't even check for inline  
assembly capability.

Please try the attached patch to configure.in and let me know if this  
solves your problem.  This area of the configure.in is a hack and this  
patch is just another hack on top of that, but it might get you  
unstuck for now.  To apply the patch, put it in the same directory as  
the top-level configure.in and run "patch -p1 < pgcc_atomics.patch".

> FYI, I also tried a hybrid build of mpich2-1.0.8 (patch),
> using Gnu gcc/g++ and PGI pgf90 release 8.0-4.
> This one builds correctly, no error! :)
>
> So, somehow the problem may be in using pgcc instead of gcc, right?
> Wouldn't the PGI developers be interested in giving you
> a hand here?

They might be interested and willing, but the bug is all on our side,  
I'm afraid.

>> In the mean time you could install one of the other channels such  
>> as ch3:sock for the PGI-compiled version.  The intranode  
>> performance won't be as good but it should work just fine.
>
> I can, but I wonder if this will bring in other type of problems.
> Not my direct experience, but other people reported runtime problems
> with the ch3:sock on x86_64 and recent kernels.
> See this thread:
>
> http://marc.info/?l=npaci-rocks-discussion&m=123175012813683&w=2
>
> On the other hand, nemesis seems to work.

Hmm... well, a substantial number of bugs were fixed between 1.0.7 and  
1.0.8.  I believe that ch3:sock should be very stable in 1.0.8 (modulo  
some heavy dynamic process usages).  In fact, in 1.0.8 I suspect that  
ch3:sock might be more stable than ch3:nemesis.  The main reason to  
use nemesis in 1.0.8 is for improved intranode performance.

-Dave

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgcc_atomics.patch
Type: application/octet-stream
Size: 1166 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20090330/07367ae8/attachment.obj>
-------------- next part --------------



More information about the mpich-discuss mailing list