Undo the last commit related to the Fortran profiling. After spending few hours
pondering about this problem, we came to the conclusion that the best approach is to keep what we had before (i.e. the original approach). The main reason for this is being nice with tool developers. In the current incarnation, they can either catch the Fortran calls or the C calls. If they provide both, then they will have to figure out how to cope with the double calls (as your example highlight). Here is the behavior Open MPI will stick too: Fortran MPI -> C MPI Fortran PMPI -> C MPI However, the is another possible approach. This might avoid the double calls while preserving the tool writers friendliness. This possible approach will do: Fortran MPI -> C MPI Fortran PMPI -> C PMPI ^ Unfortunately, we will have to heavily modify all files in the Fortran interface layer in order to support this approach. This commit was SVN r20079.
Этот коммит содержится в:
родитель
54d9df317f
Коммит
df13c2810d
@ -26,15 +26,6 @@
|
||||
#include "ompi/attribute/attribute.h"
|
||||
#include "ompi/op/op.h"
|
||||
#include "ompi/request/grequest.h"
|
||||
/*
|
||||
* We have to include the C profiling layer to insure that we don't
|
||||
* call the C MPI_ version from Fortran if the C profiling layer is
|
||||
* active. Instead, in order to catch the function only once, we have
|
||||
* to call directly the PMPI_ version when available.
|
||||
*/
|
||||
#if OMPI_PROFILE_LAYER
|
||||
#include "ompi/mpi/c/profile/defines.h"
|
||||
#endif /* OMPI_PROFILE_LAYER */
|
||||
|
||||
/*
|
||||
* We now build all four fortran bindings and dont care too much about
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user