[petsc-dev] Removed functions in MPI 3

Jed Brown jedbrown at mcs.anl.gov
Mon Jan 21 22:49:06 CST 2013


On Mon, Jan 21, 2013 at 10:21 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

> It will introduced much to much of a burden on PETSc developers to
> constantly be balancing what is in petscsysinline.h and
> petsc-private/petscimpl.h. In the end since any "inline stuff" needs to
> know essentially the EXACT underlying struct data structures there is
> nothing that is truly private. {For example, VecGetArray() could be done
> with hacks but then those hacks have to be kept in mind forever more.}


It qualifies as a hack of sorts, but in the case of VecGetArray, we can have

extern const size_t _petsc_vec_data_offset;

that is defined in an implementation file as

const size_t _petsc_vec_data_offset = offsetof(struct _p_Vec,data);

This would take the definition of _p_Vec out of the ABI (so we could add
new stuff to _p_PetscObject without recompiling user code). If we could
remove the other ABI dependencies this way (and if there are not too many
of them), I'd be in favor of doing it just to tighten the ABI.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130121/75847534/attachment.html>


More information about the petsc-dev mailing list