A Generic I/O Manager

« back to PM2 home.



» PIOMan files are hosted and released as part of the PM2 project on Inria Gitlab.

» Latest release: pm2-2022-05-31.tar.gz

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

[PIOMan overlap]

PIOMan Overview

PIOMan is an I/O event manager of the PM2 software suite. It ensures communication progression using available cores and hooks in thread scheduler. It guarantees good reactivity, asynchronous communication progression, and communication/computation overlap.

PIOMan is closely integrated with the NewMadeleine communication library and PadicoTM. It works with three flavors of thread scheduling: no thread, pthread, and Marcel. The pthread flavor may be composed with various runtime systems such as OpenMP.

PIOMan can be used standalone to bring low level asynchronous progression in a communication library, or more simply may be used through the NewMadeleine communication library and its companion MPI implementation called Mad-MPI supporting MPI_THREAD_MULTIPLE multi-threading level.

This library is developed and maintained by Francois Trahay and Alexandre Denis. The software is freely available under the terms of the GNU General Public License version 2.

Documentation and Related Publications

»  Papers related to PIOMan

»  PIOMan installation and API documentation


Progression benchmark

Multithreaded benchmark


For any questions regarding PIOMan, please contact Alexandre Denis