[petsc-dev] Removed functions in MPI 3

Karl Rupp rupp at mcs.anl.gov
Mon Jan 21 19:39:04 CST 2013


>         Probably not, but petscsys.h includes petsc-private/petscimpl.h
>       petscvec.h includes petsc-private/vecimpl.h etc so I think all
>     user code includes all the parts of petsc-private that PETSc code does.
>
>
> Could we reasonably split those? Something that is always included by
> user code is not very "private". Can we put the essential parts in
> petscsysinline.h, petscvecinline.h?

I second that - let's call it an include-file for include-files.


>         Could we bag the ugly MPI logging macros and somehow use the
>     "perfectly designed" MPI profiling level to gather the information?
>     Sadly I think not, but would that be workable? (And still work with
>     other MPI logging systems?)
>
>
> We have source code access so we should put our logging at a higher
> level. That stuff is meant to enable profiling without source code (just
> by linking differently). I think our choices are to namespace every
> intercept or to put the intercepts somewhere that they don't conflict
> with other libraries.

If we namespace any of the MPI-functions, we should namespace all of 
them for the sake of consistency. Since we don't use any MPI calls in 
header files, placing intercepts in lightweight 'compatibility files' 
appears to be the best among the bad choices we have.

Just out of curiosity: Does anybody have any estimates on the number of 
MPI 1.x implementations in use out there?

Best regards,
Karli




More information about the petsc-dev mailing list