On Jul 17, 2018, at 8:49 PM, Gilles Gouaillardet <gil...@rist.or.jp> 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

Reply via email to