[mpich-discuss] Have constants available in shared library

Jeff Hammond jeff.science at gmail.com
Thu Apr 14 14:31:03 CDT 2016


Erik:

MPICH ABI is standardized so just parse the header once and forget about it.

Jeff

On Thursday, April 14, 2016, Erik Schnetter <schnetter at gmail.com> wrote:

> Rajeev
>
> Apologies; I sent an identical request to the OpenMPI developers as
> well. I meant the MPICH library here.
>
> In Julia, it is straightforward to call a function in a shared
> library, but it is not possible to access constants that are defined
> in a C header file, as this would require parsing C code. It would
> thus be convenient to access these constant in a different manner,
> e.g. by looking at the value of a global variable or constant.
>
> -erik
>
> On Thu, Apr 14, 2016 at 1:50 PM, Thakur, Rajeev <thakur at mcs.anl.gov
> <javascript:;>> wrote:
> >> Could you add similar constants to the OpenMPI shared library?
> >
> > This list is for MPICH. Open MPI has a different mailing list.
> >
> > In MPICH, these constants are defined in the mpi.h header file.
> >
> > Rajeev
> >
> >
> >> On Apr 14, 2016, at 9:04 AM, Erik Schnetter <schnetter at gmail.com
> <javascript:;>> wrote:
> >>
> >> I am one of the maintainers of the MPI wrapper package for Julia
> >> <https://github.com/JuliaParallel/MPI.jl>. This package provides Julia
> >> language bindings for MPI, essentially wrapping various MPI functions,
> >> comparable to what mpi4py <http://pythonhosted.org/mpi4py/> does for
> >> Python.
> >>
> >> It is in Julia straightforward to call C functions in a shared
> >> library. The MPI API is standardized, so that part is straightforward.
> >> What is not standardized are the values of various constants, such as
> >> e.g. MPI_INT, MPI_MAX, or MPI_ANY_TAG.
> >>
> >> We currently use a cmake function that builds and runs a small
> >> executable that outputs the (implementation-specific) values of these
> >> constants, and auto-generates Julia code that defines these constants.
> >> We do this when the Julia MPI package is installed or updated. This
> >> works fine, but I think there could be a better way.
> >>
> >> The HDF5 library <https://www.hdfgroup.org/HDF5/> puts global
> >> constants into the data section of their library, with names derived
> >> from the preprocessor constants (with a _g suffix, I believe). This
> >> makes it straightforward to access the values of these constants at
> >> run time. For example, there exists a constant H5T_NATIVE_INT_g.
> >>
> >> Could you add similar constants to the OpenMPI shared library? This
> >> would simplify wrapping the library.
> >>
> >> Thanks,
> >> -erik
> >>
> >> --
> >> Erik Schnetter <schnetter at gmail.com <javascript:;>>
> >> http://www.perimeterinstitute.ca/personal/eschnetter/
> >> _______________________________________________
> >> discuss mailing list     discuss at mpich.org <javascript:;>
> >> To manage subscription options or unsubscribe:
> >> https://lists.mpich.org/mailman/listinfo/discuss
> >
> > _______________________________________________
> > discuss mailing list     discuss at mpich.org <javascript:;>
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
>
>
>
> --
> Erik Schnetter <schnetter at gmail.com <javascript:;>>
> http://www.perimeterinstitute.ca/personal/eschnetter/
> _______________________________________________
> discuss mailing list     discuss at mpich.org <javascript:;>
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>


-- 
Jeff Hammond
jeff.science at gmail.com
http://jeffhammond.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20160414/63b5815d/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list