ExSeisPIOL: A Seismic Parallel I/O Library for Increasing Developer Productivity

Summary We have developed a SEG-Y-compatible seismic parallel I/O library (ExSeisPIOL) to address heavy data loads for seismic applications on emerging extreme-scale HPC systems, with a particular focus on seismic imaging. The efficient access of seismic files on HPC systems, including those that exploit emerging HPC technologies such as hierarchical storage, is a non-trivial development task. The ExSeisPIOL has the twin design goal of delivering increased productivity and high performance. The library facilitates computational geophysicists during the development phase by reducing the time spent on I/O related optimisations and debugging, while retaining incumbent formats where applicable. In particular, we have placed considerable focus on abstracting away the details of seismic formats as well as low-level interfaces, such as MPI-IO. In addition, API calls are limited to those cases where there is an identified industry use-case so that the API is kept minimal. Common operations for pre-processing, such as file sorting, are also provided within the library, with bindings for C and C++ provided. On the performance front, we have placed considerable attention on data-side optimisations, where we have demonstrated that performance improvements can deliver benefits across the entire installed application base for existing industry-standard seismic applications.