Message Passing Interface: Difference between revisions

Content deleted Content added
m Replaced 4 bare URLs by {{Cite web}}; Replaced "Archived copy" by actual titles
Line 312:
 
==Future==
Some aspects of the MPI's future appear solid; others less so. The MPI Forum reconvened in 2007 to clarify some MPI-2 issues and explore developments for a possible MPI-3, which resulted in versions MPI-3.0 (September 2012)<ref>{{Cite web| title=MPI: A Message-Passing Interface Standard Version 3.0 - Message Passing Interface Forum | url=https://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf {{Bare| URLarchive-url=https://web.archive.org/web/20130319193248/http://www.mpi-forum.org:80/docs/mpi-3.0/mpi30-report.pdf PDF| archive-date=July 20252013-03-19}}</ref> and MPI-3.1 (June 2015).<ref>{{Cite web| title=MPI: A Message-Passing Interface Standard Version 3.1 - Message Passing Interface Forum | url=https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf {{Bare| URLarchive-url=https://web.archive.org/web/20150706095015/http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf PDF| archive-date=July 20252015-07-06}}</ref> The development continued with the approval of MPI-4.0 on June 9, 2021,<ref>{{Cite web| title=MPI: A Message-Passing Interface Standard Version 4.0 - Message Passing Interface Forum | url=https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf {{Bare| URLarchive-url=https://web.archive.org/web/20210628174829/https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf PDF| archive-date=July 20252021-06-28}}</ref> and most recently, MPI-4.1 was approved on November 2, 2023.<ref>{{Cite web| title=MPI: A Message-Passing Interface Standard Version 4.1 - Message Passing Interface Forum | url=https://www.mpi-forum.org/docs/mpi-4.1/mpi41-report.pdf {{Bare| URLarchive-url=https://web.archive.org/web/20231115151248/https://www.mpi-forum.org/docs/mpi-4.1/mpi41-report.pdf PDF| archive-date=July 20252023-11-15}}</ref>
 
Architectures are changing, with greater internal concurrency ([[Multi-core processor|multi-core]]), better fine-grained concurrency control (threading, affinity), and more levels of [[memory hierarchy]]. [[Multithreading (computer architecture)|Multithreaded]] programs can take advantage of these developments more easily than single-threaded applications. This has already yielded separate, complementary standards for [[symmetric multiprocessing]], namely [[OpenMP]]. MPI-2 defines how standard-conforming implementations should deal with multithreaded issues, but does not require that implementations be multithreaded, or even thread-safe. MPI-3 adds the ability to use shared-memory parallelism within a node. Implementations of MPI such as Adaptive MPI, Hybrid MPI, Fine-Grained MPI, MPC and others offer extensions to the MPI standard that address different challenges in MPI.