Closed NAThompson closed 4 years ago
@williamfgc : Do you know how to detect the ADIOS2_HAVE_MPI
macro in Meson?
@NAThompson Meson can use a cmake module to detect targets, but I am not sure if adios2 defines a target like adios2::mpi
. In any case, I'd rather keep this repo MPI-linked
all along, even if you're not using the communicator.
@williamfgc : I just added a diff which builds on top of Brad King's diffs in this PR, and should resolve all the issues you identified.
All the vandalism that I did to the CMakeLists.txt has gone away; the only issue is that this diff won't compile until @bradking's diffs are merged into ADIOS2.
@NAThompson let's keep it simple until there is an adios2 official release (v2.6?). For now let's make it work with version 2.5.0 linking with MPI. We can later upgrade if necessary to adapt to future distributions.
@williamfgc : For a simple example, adding MPI and then not using it will make it confusing, especially for a person who has never used the library before. @bradking's changes are so critical that I think they should define a release, though @pnorbert will need to comment on that.
How is this repo kept in sync with the ornladios/ADIOS2
library? Is there a vision that this should always build on top of ADIOS2 master? Or should there be git tags for this which match the ADIOS2
git tags?
For a simple example, adding MPI and then not using it will make it confusing, especially for a person who has never used the library before
That was actually a requested feature. That way we don't have to worry about shipping two libraries and showcase that serial cases can run with MPI-enabled adios2 libraries (which are the vast majority of distributed adios2 libraries). The same issue would happen in any repo using adios2 upstream, it's not particular to this one.
@bradking's changes are so critical that I think they should define a release, though @pnorbert will need to comment on that. Is there a vision that this should always build on top of ADIOS2 master? Or should there be git tags for this which match the ADIOS2 git tags?
Let's wait for the release to happen, then we can bump this repo's version. We don't want to spend time back and forth on something that doesn't exist, yet.
How is this repo kept in sync with the ornladios/ADIOS2 library?
No different from most libraries with external dependencies, we point at release versions (so far, v2.5.0). This repo is used for tutorials. There is a fair amount of work to keep things stable with each version (including conda releases, CI updates, tests), sync with master would mean a lot more work (especially if a bug or API changes are introduced).
@NAThompson let's keep this working with adios2 v2.5.0 for now.
I'm with @williamfgc on this. We can bump to the new target interface in the next release. Until then, let's keep it backwards compatible so it will work with both release and master.
Ok, cool. I just got it built on top of the v2.5.0
ADIOS2 tag, and just opened a new PR so the diffs are not so incomprehensible.
Shows how to use ADIOS2 in the most basic scenario possible: No MPI, 1D.