QIO Parallel IO Library

View the Project on GitHub usqcd-software/qio

QCD Input/Output Applications Programmer Interface developed under the auspices of the U.S. Department of Energy Scientific Discovery through Advanced Computing (SciDAC) program.

The QIO package supports data parallel input and output for QCD applications. Although it was originally developed to support the data parallel lattice-QCD API called QDP/C and QDP++, it is designed to function independently of QDP, requiring only the lower level QMP message passing package. It has been used successfully with other higher-level software packages. Three data models are treated: full volume lattice fields, consisting of data of the same format residing on each site of a hypercubic lattice, subvolume lattice fields, consisting of data of the same format residing on a hypercubic subset of a hypercubic lattice (e.g.\ a 3D time slice), and global data constant across all lattice sites. Lattice field data is distributed among multiple nodes.

The file format consists of a series of logical records. Each record contains user-controlled metadata and binary data. An arbitrary combination of logical records is permitted. The physical file format is based on a custom SciDAC LIME standard, (Lattice QCD Interchange Message Encapsulation), which views the file as a series of LIME messages, each, in turn, consisting of a series of LIME records. Details of the physical format are hidden from the user. The LIME package is included with QIO.

Code releases:

The current version of QIO is qio-2.4.1. It can be downloaded qio-2.4.1.tar.gz.

Changes since version 2.4.1 are (1) Support color and color/spin tags in source record XML. The most recent version of the manual is qio_2p3.pdf.

Current and past releases can be found here

The motivation for this development comes from the U.S. Dept. of Energy SciDAC program. See the USQCD home pages for more details.

Source code:

The latest releases of QIO and SciDAC software can be found on the the USQCD Software page.