Abstract: ROMIO is a high-performance, portable implementation of MPI-IO, the I/O chapter in MPI-2. Version 1.2.5.1 of ROMIO (January 2003) is freely available. The new features in this version are listed here.
ROMIO runs on at least the following machines: IBM SP; Intel Paragon; HP Exemplar; SGI Origin2000; Cray T3E; NEC SX-4; other symmetric multiprocessors from HP, SGI, DEC, Sun, and IBM; and networks of workstations (Sun, SGI, HP, IBM, DEC, Linux, and FreeBSD). Supported file systems are IBM PIOFS, Intel PFS, HP/Convex HFS, SGI XFS, NEC SFS, PVFS, NFS, and any Unix file system (UFS).
The distribution includes scripts that automate the process of installing ROMIO on any machine.
ROMIO is optimized for noncontiguous access patterns, which are common in parallel applications. It has an optimized implementation of collective I/O, an important optimization in parallel I/O. ROMIO 1.2.5.1 includes everything defined in the MPI-2 I/O chapter except support for file interoperability and user-defined error handlers for files.
C, Fortran, and profiling interfaces are provided for all functions that have been implemented. We have implemented the subarray and distributed array datatype constructors from the MPI-2 miscellaneous chapter, which facilitate I/O involving arrays. We have also implemented the info functions from the MPI-2 misc. chapter, which allow users to pass hints to the implementation.
ROMIO is designed to be used with any MPI implementation. It is, in fact, included as part of several MPI implementations: Version, 1.2.5, is included in MPICH 1.2.5; an earlier version is included in LAM, HP MPI, SGI MPI, and NEC MPI. Version 1.2.5.1 is mainly a bug fix release. |