r32551 now detects this limitation and automatically disable oshmem profile. I am now revamping the patch for v1.8
Gilles Gilles Gouaillardet <gilles.gouaillar...@iferc.org> wrote: >In the case of PGI compilers prior to 13, a workaround is to configure with >--disable-oshmem-profile > >On 2014/08/18 16:21, Gilles Gouaillardet wrote: > >Josh, Paul, the problem with old PGI compilers comes from the preprocessor (!) >with pgi 12.10 : oshmem/shmem/fortran/start_pes_f.c >SHMEM_GENERATE_WEAK_BINDINGS(START_PES, start_pes) gets expanded as #pragma >weak START_PES = PSTART_PES SHMEM_GENERATE_WEAK_PRAGMA ( weak start_pes_ = >pstart_pes_ ) whereas with pgi 14.7, it gets expanded as #pragma weak >START_PES = PSTART_PES #pragma weak start_pes_ = pstart_pes_ #pragma weak >start_pes__ = pstart_pes__ from oshmem/shmem/fortran/profile/pbindings.h : >#define SHMEM_GENERATE_WEAK_PRAGMA(x) _Pragma(#x) #define >SHMEM_GENERATE_WEAK_BINDINGS(UPPER_NAME, lower_name) \ >SHMEM_GENERATE_WEAK_PRAGMA(weak UPPER_NAME = P ## UPPER_NAME) \ >SHMEM_GENERATE_WEAK_PRAGMA(weak lower_name ## _ = p ## lower_name ## _) \ >SHMEM_GENERATE_WEAK_PRAGMA(weak lower_name ## __ = p ## lower_name ## __) a >workaround is to manually expand the SHMEM_GENERATE_WEAK_BINDINGS macro and >replace SHMEM_GENERATE_WEAK_BINDINGS(START_PES, start_pes) with >SHMEM_GENERATE_WEAK_PRAGMA(weak START_PES = PSTART_PES) >SHMEM_GENERATE_WEAK_PRAGMA(weak start_pes_ = pstart_pes_) >SHMEM_GENERATE_WEAK_PRAGMA(weak start_pes__ = pstart_pes__) /* i was unable to >get something that works by simply replacing the definition of the >SHMEM_GENERATE_WEAK_BINDINGS macro */ of course, this would have to be >repeated in all the source files ... Cheers, Gilles On 2014/08/15 3:44, Paul >Hargrove wrote: > >Josh, The specific compilers that caused the most problems are the older PGI >compilers (any before 13.x). In this case the user has the option to update >their compiler to 13.10 or newer. There are also issues with IBM's xlf. For >the IBM compiler I have never found a version that builds/links the MPI f08 >bindings, and now also find no version that can link the OSHMEM fortran >bindings. -Paul -Paul On Thu, Aug 14, 2014 at 11:30 AM, Joshua Ladd ><jladd.m...@gmail.com> wrote: > >We will update the README accordingly. Thank you, Paul. Josh On Thu, Aug 14, >2014 at 10:00 AM, Jeff Squyres (jsquyres) < jsquy...@cisco.com> wrote: > >Good points. Mellanox -- can you update per Paul's suggestions? On Aug 13, >2014, at 8:26 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > >The following is NOT a bug report. This is just an observation that may >deserve some text in the README. I've reported issues in the past with some >Fortran compilers (mostly > >older XLC and PGI) which either cannot build the "use mpi_f08" module, or >cannot correctly link to it (and sometimes this fails only if configured with >--enable-debug). > >Testing the OSHMEM Fortran bindings (enabled by default on Linux) I > >have found several compilers which fail to link the examples (hello_oshmemfh >and ring_oshmemfh). I reported one specific instance (with xlc-11/xlf-13) back >in February: http://www.open-mpi.org/community/lists/devel/2014/02/14057.php > >So far I have these failures only on platforms where the Fortran > >compiler is *known* to be broken for the MPI f90 and/or f08 bindings. >Specifically, all the failing platforms are ones on which either: > >+ Configure determines (without my help) that FC cannot build the F90 > >and/or F08 modules. > >OR + I must pass --enable-mpi-fortran=usempi or --enable-mpi-fortran=mpifh > >for cases configure cannot detect. > >So, I do *not* believe there is anything wrong with the OSHMEM code, > >which is why I started this post with "The following is NOT a bug report". >However, I have two recommendations to make: > >1) Documentation The README says just: --disable-oshmem-fortran Disable >building only the Fortran OSHMEM bindings. So, I recommend adding a sentence >there referencing the "Compiler > >Notes" section of the README which has details on some known bad Fortran >compilers. > >2) Configure: As I noted above, at least some of the failures are on platforms >where > >configure has determined it cannot build the f08 MPI bindings. So, maybe there >is something that could be done at configure time to disqualify some Fortran >compilers from building the OSHMEM fotran bindings, too. > >-Paul -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group >Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley >National Laboratory Fax: +1-510-486-6900 >_______________________________________________ devel mailing list >de...@open-mpi.org Subscription: >http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: > >http://www.open-mpi.org/community/lists/devel/2014/08/15643.php -- Jeff >Squyres jsquy...@cisco.com For corporate legal information go to: >http://www.cisco.com/web/about/doing_business/legal/cri/ >_______________________________________________ devel mailing list >de...@open-mpi.org Subscription: >http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: >http://www.open-mpi.org/community/lists/devel/2014/08/15650.php > >_______________________________________________ devel mailing list >de...@open-mpi.org Subscription: >http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: >http://www.open-mpi.org/community/lists/devel/2014/08/15653.php > >_______________________________________________ devel mailing list >de...@open-mpi.org Subscription: >http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: >http://www.open-mpi.org/community/lists/devel/2014/08/15654.php > > > >_______________________________________________ devel mailing list >de...@open-mpi.org Subscription: >http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: >http://www.open-mpi.org/community/lists/devel/2014/08/15661.php > >