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 
>
>

Reply via email to