Sweet. Let's followup on that PR. Thanks! > On Aug 31, 2015, at 3:10 AM, Gilles Gouaillardet <gil...@rist.or.jp> wrote: > > Jeff, > > i filed PR #845 https://github.com/open-mpi/ompi/pull/845 > > could you please have a look ? > > Cheers, > > Gilles > > On 8/30/2015 9:20 PM, Gilles Gouaillardet wrote: >> ok, will do >> >> basically, I simply have to >> #include "ompi/mpi/c/profile/defines.h" >> if configure set the WANT_MPI_PROFILING macro >> (since this is an AM_CONDITIONAL, I will have the Makefile.am sets the CPP >> flags for the compiler) >> >> makes sense ? >> >> /* the patch will be pretty large since all *_f files are impacted, and for >> mpif-h only, >> so i'd rather ask before I fill the pr, and even if a sed command will do >> most of the job */ >> >> Cheers, >> >> Gilles >> >> On Saturday, August 29, 2015, Jeff Squyres (jsquyres) <jsquy...@cisco.com> >> wrote: >> On Aug 27, 2015, at 3:25 AM, Gilles Gouaillardet <gil...@rist.or.jp> wrote: >> > >> > I am lost ... >> >> Fortran does that to ya. ;-) >> >> > from ompi/mpi/fortran/mpif-h/profile/palltoall_f.c >> > >> > void ompi_alltoall_f(char *sendbuf, MPI_Fint *sendcount, MPI_Fint >> > *sendtype, >> > char *recvbuf, MPI_Fint *recvcount, MPI_Fint *recvtype, >> > MPI_Fint *comm, MPI_Fint *ierr) >> > { >> > [...] >> > c_ierr = MPI_Alltoall(sendbuf, >> > OMPI_FINT_2_INT(*sendcount), >> > c_sendtype, >> > recvbuf, >> > OMPI_FINT_2_INT(*recvcount), >> > c_recvtype, c_comm); >> > [...] >> > } >> > >> > $ nm ompi/mpi/fortran/mpif-h/profile/.libs/palltoall_f.o | grep >> > MPI_Alltoall >> > U MPI_Alltoall >> > 0000000000000000 W MPI_Alltoall_f >> > 0000000000000000 W MPI_Alltoall_f08 >> > 0000000000000000 W PMPI_Alltoall_f >> > 0000000000000000 W PMPI_Alltoall_f08 >> > >> > ompi_alltoall_f() calls MPI_Alltoall() >> > >> > >> > the "natural" way of writing a tool is to write mpi_alltoall_ (that calls >> > pmpi_alltoall_) >> > *and* MPI_Alltoall (that calls PMPI_Alltoall) >> >> Sidenote: the only correct way to write a tool that intercepts Fortran MPI >> API calls is to write those interceptions *in Fortran*. I.e., the tool >> should provide MPI_ALLTOALL as a Fortran subroutine. I realize that this is >> not the point of what you are saying :-), but everyone always gets this >> point wrong, so I feel the need to keep pointing this out. >> >> > since ompi_alltoall_f invokes MPI_Alltoall (and not PMPI_Alltoall), the >> > tool is invoked twice, by both the Fortran and C wrapper. >> >> I didn't think that this was true, but I just confirmed it by looking at >> "gcc -E" output in the mpif-h/profile directory. >> >> I don't think that it was the intent. See below. >> >> > my initial question was >> > "why does ompi_alltoall_f invokes MPI_Alltoall instead of PMPI_Alltoall ?" >> > >> > /* since we share the same source code when building with or without mpi >> > profiling, >> > that means we would need to >> > #define MPI_Alltoall PMPI_Alltoall >> > when ompi is configure'd with --enable-mpi-profile >> > */ >> >> I'm guessing that the complexity in the build system to support environments >> without and with weak symbols (i.e., OS X vs. just about everyone else) have >> made this get lost over time. >> >> Can you supply a patch? >> >> -- >> 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/2015/08/17897.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/2015/08/17899.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/2015/08/17900.php
-- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/