Re: [OMPI devel] [p]ompi_foo_f symbols in mpi_f08.mod

2018-07-17 Thread Gilles Gouaillardet
Jeff,

in the pcollreq extensions, I did both
 - no prototypes for pompi_FOO_f functions
 - prototypes for ompi_FOO_f functions are in an internal module, and
that did not create any dependency.

I will issue a PR sometimes this week for you to review


Cheers,

Gilles
On Wed, Jul 18, 2018 at 10:46 AM Jeff Squyres (jsquyres) via devel
 wrote:
>
> On Jul 17, 2018, at 8:49 PM, Gilles Gouaillardet  wrote:
> >
> > I noted the internal Fortran bindings (e.g. [p]ompi_barrier_f and friends) 
> > are defined in the user facing mpi_f08.mod.
> >
> > My impressions are :
> >
> >  1. pompi_barrier_f and friends are never used (e.g. pbarrier_f08.F90 calls 
> > ompi_barrier_f and *not* pompi_barrier_f)
> >
> > 2. these symbols could be part of an internal module that is only used at 
> > build time, and hence do not have to end up in mpi_f08.mod
> >
> > 1) should the pompi_barrier_f and friends be called/removed/left untouched ?
>
> I presume you are referring to the pompi_FOO_f functions (and not the 
> ompi_FOO_f functions), right?  (I ask because your opening sentence refers to 
> "[p]ompi_barrier_f")
>
> I think you noted that [p]barrier_f08.F90 both invoke ompi_barrier_f().  So 
> we definitely need the ompi_FOO_f() functions.
>
> But you're right -- I don't see a use of the pompi_FOO_f() functions.  I 
> can't think of why they would be invoked at all.  I think they're safe to 
> remove.
>
> > 2) is there any rationale (and which one) for having [p]ompi_foo_f symbols 
> > in mpi_f08.mod ?
>
> Per above, I don't think there's any use for the pompi_FOO_f symbols, though.
>
> The ompi_FOO_f symbols are *prototyped* in the mpi_f08 module -- they are not 
> defined there.
>
> We need the ompi_FOO_f symbols (which are the actual OMPI Fortran 
> implementations in ompi/mpi/fortran/mpif-h/*_f.c) so that we can call them 
> from F08 code.
>
> That being said, they *are* internal symbols, and we could *probably* put 
> them in a standalone, internal-only module (which I think is what you are 
> saying in point "2.", above).  I don't think that that would created a 
> dependency from mpi_f08.mod to our internal module...?
>
> --
> Jeff Squyres
> jsquy...@cisco.com
>
> ___
> devel mailing list
> devel@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/devel
___
devel mailing list
devel@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/devel


Re: [OMPI devel] [p]ompi_foo_f symbols in mpi_f08.mod

2018-07-17 Thread Jeff Squyres (jsquyres) via devel
On Jul 17, 2018, at 8:49 PM, Gilles Gouaillardet  wrote:
> 
> I noted the internal Fortran bindings (e.g. [p]ompi_barrier_f and friends) 
> are defined in the user facing mpi_f08.mod.
> 
> My impressions are :
> 
>  1. pompi_barrier_f and friends are never used (e.g. pbarrier_f08.F90 calls 
> ompi_barrier_f and *not* pompi_barrier_f)
> 
> 2. these symbols could be part of an internal module that is only used at 
> build time, and hence do not have to end up in mpi_f08.mod
> 
> 1) should the pompi_barrier_f and friends be called/removed/left untouched ?

I presume you are referring to the pompi_FOO_f functions (and not the 
ompi_FOO_f functions), right?  (I ask because your opening sentence refers to 
"[p]ompi_barrier_f")

I think you noted that [p]barrier_f08.F90 both invoke ompi_barrier_f().  So we 
definitely need the ompi_FOO_f() functions.

But you're right -- I don't see a use of the pompi_FOO_f() functions.  I can't 
think of why they would be invoked at all.  I think they're safe to remove.

> 2) is there any rationale (and which one) for having [p]ompi_foo_f symbols in 
> mpi_f08.mod ?

Per above, I don't think there's any use for the pompi_FOO_f symbols, though.

The ompi_FOO_f symbols are *prototyped* in the mpi_f08 module -- they are not 
defined there.

We need the ompi_FOO_f symbols (which are the actual OMPI Fortran 
implementations in ompi/mpi/fortran/mpif-h/*_f.c) so that we can call them from 
F08 code.

That being said, they *are* internal symbols, and we could *probably* put them 
in a standalone, internal-only module (which I think is what you are saying in 
point "2.", above).  I don't think that that would created a dependency from 
mpi_f08.mod to our internal module...?

-- 
Jeff Squyres
jsquy...@cisco.com

___
devel mailing list
devel@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/devel


[OMPI devel] [p]ompi_foo_f symbols in mpi_f08.mod

2018-07-17 Thread Gilles Gouaillardet

Jeff,


When working on https://github.com/open-mpi/ompi/pull/5430,

I noted the internal Fortran bindings (e.g. [p]ompi_barrier_f and 
friends) are defined in the


user facing mpi_f08.mod.


My impressions are :

 1. pompi_barrier_f and friends are never used (e.g. pbarrier_f08.F90 
calls ompi_barrier_f and *not*


   pompi_barrier_f)

2. these symbols could be part of an internal module that is only used 
at build time, and hence do


   not have to end up in mpi_f08.mod


1) should the pompi_barrier_f and friends be called/removed/left untouched ?

2) is there any rationale (and which one) for having [p]ompi_foo_f 
symbols in mpi_f08.mod ?


    if not, should these moved into an internal module used at build 
time only ?




Cheers,


Gilles

___
devel mailing list
devel@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/devel