SCORPIO 1.9.0
Loading...
Searching...
No Matches
Introduction

The Software for Caching Output and Reads for Parallel I/O (SCORPIO) is a high level parallel I/O library for MPI applications that use structured and unstructured grids. The library includes software abstractions to represent how the application data is decomposed in memory across multiple MPI processes and algorithms to optimize reading and writing this data to the file system. The library allows developers to easily switch between using different low-level I/O libraries (NetCDF, PnetCDF, HDF5 and ADIOS2) in their applications.

SCORPIO Usage Overview

  1. Initialize the SCORPIO library using the PIO_init API. The API returns an "I/O system" that is associated with the MPI communicator passed by the user. All calls on this I/O system are collective. The application can initialize the library multiple times, if needed.
  2. Create a SCORPIO I/O decomposition, that describes how the data is laid out in memory, using the PIO_initdecomp API
  3. Create/Open files using the PIO_createfile / PIO_openfile APIs. The I/O type specified in this API allows users to choose between low-level I/O libraries (PnetCDF, NetCDF, HDF5, ADIOS)
  4. Read/Write data using the PIO_get_var / PIO_put_var APIs for data that is not decomposed across multiple MPI processes and using the PIO_read_darray / PIO_write_darray for data that is decomposed across multiple MPI processes
  5. Close files (PIO_closefile) and finalize the SCORPIO library (PIO_finalize)