Skip to content
/ libquo Public

Dynamic execution environments for coupled, thread-heterogeneous MPI+X applications

License

Notifications You must be signed in to change notification settings

lanl/libquo

Repository files navigation

logo

The QUO Runtime Library

QUO (as in "status quo") is a runtime library that aids in accommodating thread-level heterogeneity in dynamic, phased MPI+X applications comprising single- and multi-threaded libraries.

Releases

Distribution tarballs can be found here.

Building

Prerequisites

libquo requires an implementation of the message passing interface MPI and hwloc. hwloc is included with libquo, so the only external dependency is an MPI library. libquo has been extensively tested against both Open MPI and MPICH based implementations.

Please see documentation located in docs/builds.

libquo API

C Interface Users

See src/quo.h for more information.

Fortran Interface Users

See src/fortran/quof.f90 and src/quo.h for more information.

Interface Examples

In tests and demos.

Linking to libquo

Example 1

mpicc myquoapp.c -I[QUO-PREFIX]/include -L[QUO-PREFIX]/lib -o myquoapp -lquo
export LD_LIBRARY_PATH=[QUO-PREFIX]/lib:$LD_LIBRARY_PATH

Example 2

mpicc myquoapp.c -o myquoapp -I[QUO-PREFIX]/include \
-L[QUO-PREFIX]/lib -lquo -Wl,-rpath=[QUO-PREFIX]/lib

Example 3 (with pkg-config)

mpicc myquoapp.c -o myquoapp `pkg-config --cflags --libs libquo`

Environment Variables

QUO_TMPDIR - specifies the base directory where temporary QUO files will be written.

Citing QUO

Samuel K. Gutiérrez, Kei Davis, Dorian C. Arnold, Randal S. Baker, Robert W. Robey, Patrick McCormick, Daniel Holladay, Jon A. Dahl, R. Joe Zerr, Florian Weik, Christoph Junghans. Accommodating Thread-Level Heterogeneity in Coupled Parallel Applications. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS 2017), Orlando, FL, May 2017.

@inproceedings{gutierrez:ipdps17:quo,
  title={{Accommodating Thread-Level Heterogeneity
          in Coupled Parallel Applications}},
  author={Samuel K. Guti\'{e}rrez and Kei Davis and Dorian C. Arnold
          and Randal S. Baker and Robert W. Robey and Patrick McCormick
          and Daniel Holladay and Jon A. Dahl and R. Joe Zerr and Florian Weik
          and Christoph Junghans},
  booktitle={2017 IEEE International Parallel \& Distributed Processing Symposium (IPDPS)},
  year={2017},
  address={Orlando, Florida},
}

Other QUO Materials

Los Alamos National Laboratory Code Release

QUO - LA-CC-13-076