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 <[email protected]> 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 <[email protected]> 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 <[email protected]> http://www.perimeterinstitute.ca/personal/eschnetter/ _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
-- Erik Schnetter <[email protected]> http://www.perimeterinstitute.ca/personal/eschnetter/ _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss