[mvapich-discuss] Open64 F90 binding

Jonathan Perkins perkinjo at cse.ohio-state.edu
Wed Dec 28 09:39:45 EST 2011


Hello Martin, thanks for the patch.

Chuck and I actually continued the discussion off-list and we applied
a patch using a slightly different approach before Christmas.  The
patch applied tries to use the GNU options with compilers that are not
assigned a vendor.  This should allow for more compilers to just work
without maintaining a list of vendors.

The latest tarball for the 1.7 branch can be found at:
http://mvapich.cse.ohio-state.edu/nightly/mvapich2/branches/1.7/mvapich2-latest.tar.gz

However, the patch applied does not handle the -rpath option for the
Open64 compiler so we would also like to apply your patch as well.
The combination of the two patches should cover both the known
compilers and potentially those that are unknown as well.  I expect
the next nightly tarball to contain your patch.  Thanks again.

On Wed, Dec 28, 2011 at 6:56 AM,  <Martin_Hilgeman at dell.com> wrote:
> The problem is that the FC_SHL macro in src/binding/f90/Makefile is expanded to 'false':
>
> CC                      = opencc
> CFLAGS          =    -O2 $(MPICH2_MAKE_CFLAGS)
> C_COMPILE               = $(CC) $(DEFS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS)
> LIBTOOL         =
> CC_SHL                  = opencc -fPIC
> C_COMPILE_SHL   = $(CC_SHL) $(DEFS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS)
> FC                      = openf90
> FCFLAGS         =   -O2
> FC_COMPILE              = $(FC) $(FCFLAGS) $(FCINCLUDES)
> FC_SHL                  = false
> FC_COMPILE_SHL  = $(FC_SHL) $(FCFLAGS) $(FCINCLUDES)
>
>
> The fix is simple, see the following patch for the configure script:
>
> --- configure.old       2011-12-28 05:45:04.000000000 -0600
> +++ configure   2011-12-28 05:46:56.000000000 -0600
> @@ -15295,6 +15295,8 @@
>             pac_cv_fc_vendor=gnu
>         elif grep Intel conftest.txt >/dev/null 2>&1 ; then
>             pac_cv_fc_vendor=intel
> +        elif grep 'Open64' conftest.txt >/dev/null 2>&1 ; then
> +            pac_cv_fc_vendor=open64
>         fi
>     fi
>     if test "$pac_cv_fc_vendor" != "unknown" ; then break ; fi
> @@ -15349,6 +15351,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"
>
>
> regards,
>
> -Martin
>
> Martin Hilgeman
> HPC Consultant EMEA
> Dell | Global HPC Group
> office  +31 (0)20 674 4123
> mobile +31 (0)6 8364 1516
> martin_hilgeman at dell.com
>
>
> -----Original Message-----
> From: mvapich-discuss-bounces at cse.ohio-state.edu [mailto:mvapich-discuss-bounces at cse.ohio-state.edu] On Behalf Of Jonathan Perkins
> Sent: Wednesday, December 21, 2011 4:07 AM
> To: Chuck Ritter
> Cc: mvapich-discuss at cse.ohio-state.edu
> Subject: Re: [mvapich-discuss] Open64 F90 binding
>
> Thanks for the note.  We'll take a look at this and try to get back to you soon.  Can you send me the config.log to help me reproduce this?
>
> On Tue, Dec 20, 2011 at 9:35 PM, Chuck Ritter <cfr100 at psu.edu> wrote:
>> Hello,
>>
>> I'm getting an error when compiling mvapich2 1.7 with the open64
>> compiler on linux:
>>
>>  AR cr libmpichf90.a mpi.o mpi_constants.o mpi_sizeofs.o mpi_base.o
>>  RANLIB
>> libmpichf90.acratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/bindmake[4]:
>> Entering directory
>> `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/binding/f90'
>> create_f90_int.c1
>>  CC
>> create_f90_int.cch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/bindi  CC
>>         create_f90_real.cx.c
>>  CC              create_f90_complex.c
>>  CC              typef90cmplxf.ctch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src'
>>  CC              typef90realf.c
>>  CC              typef90intf.cil.c
>>  CC              create_f90_util.c
>>
>>  AR cr ../../../lib/libmpich.la create_f90_int.lo create_f90_real.lo
>> create_f90_complex.lo typef90cmplxf.lo typef90realf.lo typef90intf.lo
>> create_f90_util.lo date > .libstamp1
>> make[4]: Leaving directory
>> `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/binding/f90'
>> make[4]: Entering directory
>> `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/binding/f90'
>>  FC              mpi.f90
>> make[4]: *** [mpi.lo] Error 1
>> make[4]: Leaving directory
>> `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/binding/f90'
>> make[3]: *** [all-redirect] Error 1
>> make[3]: Leaving directory
>> `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/binding/f90'
>> make[2]: *** [all-redirect] Error 1
>> make[2]: Leaving directory
>> `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src/binding'
>> make[1]: *** [all-redirect] Error 2
>> make[1]: Leaving directory `/scratch/cfr100/CODE/MVAPICH2/mvapich2-1.7/src'
>> make: *** [all-redirect] Error 2
>>
>> Any ideas what might be causing this? I could not find any more
>> meaningful errors.
>>
>> Thanks
>> Chuck
>> _______________________________________________
>> mvapich-discuss mailing list
>> mvapich-discuss at cse.ohio-state.edu
>> http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>>
>
>
>
> --
> Jonathan Perkins
> http://www.cse.ohio-state.edu/~perkinjo
>
> _______________________________________________
> mvapich-discuss mailing list
> mvapich-discuss at cse.ohio-state.edu
> http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss



-- 
Jonathan Perkins
http://www.cse.ohio-state.edu/~perkinjo



More information about the mvapich-discuss mailing list