Replies: 7 comments 17 replies
-
This topic was discussed here #3 a couple of weeks ago. I added a link for those not here when the discussion happened. I do not have strong opinions against including MPI in the name, but I would prefer without it. |
Beta Was this translation helpful? Give feedback.
-
The question is how strongly the semantics are tied to MPI and whether you can provide the exact same semantics with a different backend (say UCX/LCI/whathaveyou). I don't have strong feelings but I'm a bit concerned about the generality of |
Beta Was this translation helpful? Give feedback.
-
I think neither of the names are very good. I agree that However, I think @janciesko made the point earlier, Message Passing Interface is what we want to do, so perhaps MPI in the name is not so bad. But we have to be clear in the README that the first goal is a light wrapper over some MPI functionalities. |
Beta Was this translation helpful? Give feedback.
-
We're starting to pick up some momentum here with a variety of contributors and interest, so let's settle around a name. I believe we should rename to I believe the core thrust of the project, as well as the semantics, in the near-to-intermediate term, will be defined by those of MPI. In support:
If enough interest or momentum for non-MPI-like things manifests, another project could be created (or this one could be used). Additionally, Kokkos Remote Spaces covers some non-MPI semantics. Some arguments against that I've seen, and my refutations for those arguments
Overall, "Kokkos MPI" gives a more accurate, pithy flavor of what we're doing now, and what's been concretely proposed. |
Beta Was this translation helpful? Give feedback.
-
I totally acknowledge naming is hard but all in all I feel that a clearer scope in the name would be of benefit. The idea that KokkosMPI (kokkos-mpi) wraps MPI would likely not be to foreign to folks. In the end Kokkos Core itself in some sense wraps stuff underneat, KokkosFFT wraps fft libraries, KokkosKernels wraps all kinds of math libraries. I also think that even with that name it would be natural for it to still leverage stuff like NCCL which are anyway designed to be used in programs which otherwise may use MPI. We can set up a formal poll next week, and let that be the last word on this. Note KokkosComm as name is not an "over-my-dead-body" issue. |
Beta Was this translation helpful? Give feedback.
-
Here's a paraphrase of what I wrote in Slack on 2024/06/16. I don't have a stake in this, but I agree with Christian that if you only plan to wrap MPI and minor extensions of MPI (like NCCL and clones), then it's reasonable to put "MPI" in the name. More importantly, if you start by wrapping just MPI, then the interface will forever reflect MPI's semantics. "MPI's semantics" includes the following.
In that sense, NCCL and its clones have MPI semantics. Does Kokkos plan to wrap PVM? How about classic MapReduce, where users have no control over data distribution? How about an asynchronous PGAS model, where the parallel distribution is not fixed, getting access to "local" data requires explicit action and possibly collective communication, and such access must happen in a defined scope? |
Beta Was this translation helpful? Give feedback.
-
On the ambition question, maybe this table helps
Personal part: |
Beta Was this translation helpful? Give feedback.
-
If you have a strong opinion, I also expect you have an argument to back it up 😄
Beta Was this translation helpful? Give feedback.
All reactions