"The reports of MPI death are greatly exaggerated." [Mark Twain]

And so are the reports of Fortran death
(despite the efforts of many CS departments
to make their students Fortran- and C-illiterate).

IMHO the level of abstraction of MPI is adequate, and actually very well
designed.
Higher levels often make things too specific, less applicable to generic
code,
while dispersing into a plethora of niche libraries and modules
that are bound to become unmaintained, buggy, and obsolete.
(Where Python seems to be headed, following Perl.)

How many people speak Chinese?
How many people speak English?
How many people speak Spanish?
How many people speak Esperanto?



On Fri, Aug 7, 2020 at 8:28 AM Oddo Da via users <users@lists.open-mpi.org>
wrote:

> Hello,
>
> This may be a bit of a longer post and I am not sure if it is even
> appropriate here but I figured I ask. There are no hidden agendas in it, so
> please treat it as "asking for opinions/advice", as opposed to judging or
> provoking.
>
> For the period between 2010 to 2017 I used to work in (buzzword alert!)
> "big data" (meaning Spark, HDFS, reactive stuff like Akka) but way before
> that in the early 2000s I used to write basic multithreaded C and some MPI
> code. I came back to HPC/academia two years ago and what struck me was that
> (for lack of better word) the field is still "stuck" (again, for lack of
> better word) on MPI. This itself may seem negative in this context,
> however, I am just stating my observation, which may be wrong.
>
> I like low level programming and I like being in control of what is going
> on but having had the experience in Spark and Akka, I kind of got spoiled.
> Yes, I understand that the latter has fault-tolerance (which is nice) and
> MPI doesn't (or at least, didn't when I played with in 1999-2005) but I
> always felt like MPI needed higher level abstractions as a CHOICE (not
> _only_ choice) laid over the bare metal offerings. The whole world has
> moved onto programming in patterns and higher level abstractions, why is
> the academic/HPC world stuck on bare metal, still? Yes, I understand that
> performance often matters and the higher up you go, the more performance
> loss you incur, however, there is also something to be said about developer
> time and ease of understanding/abstracting etc. etc.
>
> Be that as it may, I am working on a project now in the HPC world and I
> noticed that Open MPI has Java bindings (or should I say "interface"?).
> What is the state of those? Which JDK do they support? Most importantly,
> would it be a HUGE pipe dream to think about building patterns a-la Akka
> (or even mixing actual Akka implementation) on top of OpenMPI via this Java
> bridge? What would be involved on the OpenMPI side? I have time/interest in
> going this route if there would be any hope of coming up with something
> that would make my life (and future people coming into HPC/MPI) easier in
> terms of building applications. I am not saying MPI in C/C++/Fortran should
> go away, however, sometimes we don't need the low-level stuff to express a
> concept :-). It may also open a whole new world for people on large
> clusters...
>
> Thank you!
>

Reply via email to