The Multi-Processor Computing runtime (MPC) is a unified runtime targeting the MPIOpenMP and PThread standards. One of its main specificity is the ability to run MPI Processes inside threads, being a thread-based MPI.

MPC Supports the MPI 3.1 standard in both thread-based and process-based flavors and was optimized for the Infiniband and Portals 4 networks. In MPC, MPI_THREAD_MULTIPLE is always on enabling the transparent use of shared-memory parallelism with MPI.

MPC comes with a suite of privatizing compilers which enable the transparent port of existing codes to the thread-based execution paradigm. To do so, MPC extended the support of TLS which are now hierarchical.

Running inside threads enables lower latencies inside nodes (as messages are direct memcpys). It requires fewer communication endpoints, one per node instead of one per core, leading to memory and launch time improvements.

Latest News

Now that EuroMPI is finished, let's continue with IWOMP 2018, also located in Barcelona!
MPC will still be at Barcelona, Spain, next week for the EuroMPI 2018 conference. The team will present its paper
The MPC team is in Barcelona, Spain, for the September 2018 MPI-Forum face-to-face meeting!
MPC team will be at the EuroPar 2018 conference in Turino, Italy. Two research papers oral talks for your pleasure:
MPC is in Tokyo, Japan, for SIAM PP 2018 conference. Come see us in the minisymposium MS72 on Friday 9th,
MPC v3.2.0 is available! Go to the download page to get it!
The new version of MPC has been released today, it includes major updates relatively to the privatization support. First the
The new version of MPC is available. You can find the list of new features here. You can download the
MPC has been integrated to the list of MPI implementations listed by the MPI-Forum. You can find it in the
MPC runtime was ported to Raspberry Pi. This is a runtime port only (no compiler support, no gdb support and