[mpich-discuss] mpich2&open64 shared object compilation bug&fix

Reuti reuti at staff.uni-marburg.de
Mon Sep 10 09:29:10 CDT 2012


Am 10.09.2012 um 14:50 schrieb Evren Yurtesen IB:

> Thanks for the reply. It appears the fault was mine and neither mpich2's nor open64's. I had wrong Open64 compiler for the processor architecture I was using.
> 
> It looks like AMD have multiple downloads:
> http://developer.amd.com/tools/cpu/open64/Pages/default.aspx
> Where one says:
> ---------------------
> SLES 11, RHEL 6 - For AMD Opteron Family 15h processor("Piledriver"core) architecture
> ---------------------
> and another says:
> ---------------------
> SLES11, SLES 10 SP2, SLES 10 SP3, RHEL 6, RHEL 5.5 - For any x86-64 architecture ---------------------
> 
> I had the first one installed in my system, how stupid of me! :( Now with the right compiler, everything was awesome!
> 
> I already mentioned to AMD that it is not a very good idea to have different compiler packages for different processors. It just makes no sense to me...

Maybe they use the GPU during compilation, and putting both versions into one compiler binary would double its size. And according to the website you mentioned also the binutils and assembler versions might differ.

-- Reuti


> 
> Thanks,
> Evren
> 
> 
> On Sat, 8 Sep 2012, Anthony Chan wrote:
> 
>> 
>> Did you try configuring with gcc and openf95 ? i.e.
>> 
>> ./configure CC=gcc CXX=g++ F77=openf95 FC=openf95 <other options> --prefix=...
>> 
>> mpich2 configre does not take variable F95.
>> 
>> 
>> ----- Original Message -----
>>> for bash:
>>> export CC=opencc
>>> export CXX=openCC
>>> export FC=openf95
>>> export F77=openf95
>>> export F95=openf95
>>> (assuming they are on PATH)
>>> mpich2 seems to pick these up nicely.
>>> 
>>> I am not sure if this specific problem is related to mpich2, I am in
>>> contact with some open64 developers. I will send an update when I have
>>> more information.
>>> 
>>> 
>>> On Fri, 7 Sep 2012, Anthony Chan wrote:
>>> 
>>>> 
>>>> I am not familiar with Open64 compilers, what would you use
>>>> to set CC, CXX, F77 and FC during mpich2 configure ?
>>>> 
>>>> ----- Original Message -----
>>>>> I tried 1.5rc1 and there seems to be other problems... I have no
>>>>> idea
>>>>> what
>>>>> is this about... configured with: --enable-fast=O2 --enable-shared
>>>>> --enable-mpe --with-pmi=slurm --with-pm=no
>>>>> Just as a side note, same configure options work fine with GCC
>>>>> 4.7.1,
>>>>> but
>>>>> that doesnt say much about who to blame :)
>>>>> 
>>>>> 
>>>>> Making all in .
>>>>> make[2]: Entering directory `/home/eyurtese/temp/mpich2-1.5rc1'
>>>>> CC src/binding/f90/create_f90_real.lo
>>>>> src/binding/f90/create_f90_real.c: In function
>>>>> 'PMPI_Type_create_f90_real':
>>>>> src/binding/f90/create_f90_real.c:73: error: expected expression
>>>>> before
>>>>> ',' token
>>>>> src/binding/f90/create_f90_real.c:74: warning: braces around scalar
>>>>> initializer
>>>>> src/binding/f90/create_f90_real.c:74: warning: (near initialization
>>>>> for
>>>>> 'f90_real_model[0].dtype')
>>>>> src/binding/f90/create_f90_real.c:74: error: expected expression
>>>>> before
>>>>> ',' token
>>>>> src/binding/f90/create_f90_real.c:74: warning: excess elements in
>>>>> scalar
>>>>> initializer
>>>>> src/binding/f90/create_f90_real.c:74: warning: (near initialization
>>>>> for
>>>>> 'f90_real_model[0].dtype')
>>>>> make[2]: *** [src/binding/f90/create_f90_real.lo] Error 1
>>>>> make[2]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make[1]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
>>>>> make: *** [all] Error 2
>>>>> 
>>>>> 
>>>>> On Fri, 7 Sep 2012, Evren Yurtesen IB wrote:
>>>>> 
>>>>>> 
>>>>>> On Thu, 6 Sep 2012, Pavan Balaji wrote:
>>>>>> 
>>>>>>> 
>>>>>>> Your patch below is to configure (not configure.in) which is
>>>>>>> auto-generated. The first step I'd recommend is to try out
>>>>>>> mpich2-1.5rc1.
>>>>>>> That uses libtool for shared library support. That'll at least
>>>>>>> confirm
>>>>>>> whether libtool supports open64 or not. If it doesn't, then a
>>>>>>> patch
>>>>>>> would
>>>>>>> be required for libtool.
>>>>>> 
>>>>>> Yes, I realized the configure.in later. My apologies, I am not
>>>>>> very
>>>>>> familiar
>>>>>> with the configure system. Please see the attached diffs, what do
>>>>>> you think
>>>>>> about them?
>>>>>> 
>>>>>> I will check 1.5 next.
>>>>>> 
>>>>>> Thanks,
>>>>>> Evren
>>>>>> 
>>>>>>> -- Pavan
>>>>>>> 
>>>>>>> On 09/06/2012 05:47 PM, Evren Yurtesen IB wrote:
>>>>>>>> Hmm, I am not quite sure? the configure.in file contains the
>>>>>>>> information
>>>>>>>> which should be changed?
>>>>>>>> http://trac.mcs.anl.gov/projects/mpich2/browser/mpich2/branches/release/mpich2-1.4.x/configure.in
>>>>>>>> 
>>>>>>>> On Thu, 6 Sep 2012, Pavan Balaji wrote:
>>>>>>>> 
>>>>>>>>> Hello,
>>>>>>>>> 
>>>>>>>>> It looks like this patch needs to go into libtool, rather than
>>>>>>>>> in
>>>>>>>>> MPICH.
>>>>>>>>> We
>>>>>>>>> can maintain a patch to libtool within mpich (at least till
>>>>>>>>> libtool
>>>>>>>>> upstream
>>>>>>>>> integrates it), if you can provide us with one.
>>>>>>>>> 
>>>>>>>>> -- Pavan
>>>>>>>>> 
>>>>>>>>> On 09/06/2012 05:24 PM, Evren Yurtesen IB wrote:
>>>>>>>>>> I was trying to compile mpich2 1.4.1p1 using open64 and oddly
>>>>>>>>>> it
>>>>>>>>>> kept
>>>>>>>>>> failing with the following configure options...
>>>>>>>>>> 
>>>>>>>>>> --enable-fast=O2 --enable-shared --enable-mpe --with-pmi=slurm
>>>>>>>>>> --with-pm=none
>>>>>>>>>> 
>>>>>>>>>> I have googled this and found the following forum post:
>>>>>>>>>> http://devgurus.amd.com/thread/146210
>>>>>>>>>> 
>>>>>>>>>> Where the exact error message which I was getting was
>>>>>>>>>> mentioned:
>>>>>>>>>>    make[4]: Entering directory
>>>>>>>>>> `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src/binding/f90'
>>>>>>>>>>     FC mpi.f90
>>>>>>>>>> make[4]: *** [mpi.lo] Error 1
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> I have modified the configure script and managed to finish
>>>>>>>>>> installation.
>>>>>>>>>> (diff below). Can this fix be part of mpich2?
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> --- configure.orig 2012-09-07 00:45:10.571555205 +0300
>>>>>>>>>> +++ configure 2012-09-07 00:59:28.956554973 +0300
>>>>>>>>>> @@ -16739,6 +16739,10 @@
>>>>>>>>>>        # Try to use the compiler name
>>>>>>>>>>        if test "$FC" = "ifort" -o "$FC" = "ifc" ; then
>>>>>>>>>>            pac_cv_fc_vendor=intel
>>>>>>>>>> + elif test "$FC" = "openf90" ; then
>>>>>>>>>> + pac_cv_fc_vendor=open64
>>>>>>>>>> + elif test "$FC" = "openf95" ; then
>>>>>>>>>> + pac_cv_fc_vendor=open64
>>>>>>>>>>        elif test "$FC" = "pgf90" ; then
>>>>>>>>>>            pac_cv_fc_vendor=pgi
>>>>>>>>>>        elif test "$FC" = "xlf90" -o "$FC" = "xlf90_r" ; then
>>>>>>>>>> @@ -16785,6 +16789,14 @@
>>>>>>>>>>                   fi
>>>>>>>>>>                   ;;
>>>>>>>>>> 
>>>>>>>>>> + open64)
>>>>>>>>>> + # open64 implements the GNU options
>>>>>>>>>> + FC_SHL="$FC -shared -fPIC"
>>>>>>>>>> + if test "$enable_rpath" = yes ; then
>>>>>>>>>> + FC_LINKPATH_SHL="-Wl,-rpath -Wl,"
>>>>>>>>>> + fi
>>>>>>>>>> + ;;
>>>>>>>>>> +
>>>>>>>>>>                   pgi)
>>>>>>>>>>                   # Portland Group implements the GNU options
>>>>>>>>>>                   FC_SHL="$FC -shared -fPIC"
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> Evren
>>>>>>>>>> 
>>>>>>>>>> PS. I created a ticket as well:
>>>>>>>>>> https://trac.mcs.anl.gov/projects/mpich2/ticket/1690
>>>>>>>>>> _______________________________________________
>>>>>>>>>> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
>>>>>>>>>> To manage subscription options or unsubscribe:
>>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Pavan Balaji
>>>>>>>>> http://www.mcs.anl.gov/~balaji
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Pavan Balaji
>>>>>>> http://www.mcs.anl.gov/~balaji
>>>>>>> 
>>>>>> 
>>>>> _______________________________________________
>>>>> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
>>>>> To manage subscription options or unsubscribe:
>>>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>>> _______________________________________________
>>>> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
>>>> To manage subscription options or unsubscribe:
>>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>>> 
>>>> 
>> 
>> 
> _______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss



More information about the mpich-discuss mailing list