All Projects → lanl → libquo

lanl / libquo

Licence: BSD-3-Clause license
Dynamic execution environments for coupled, thread-heterogeneous MPI+X applications

Programming Languages

c
50402 projects - #5 most used programming language
M4
1887 projects
Roff
2310 projects
shell
77523 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to libquo

Kernels
This is a set of simple programs that can be used to explore the features of a parallel platform.
Stars: ✭ 287 (+1266.67%)
Mutual labels:  openmp, mpi, threading
Foundations of HPC 2021
This repository collects the materials from the course "Foundations of HPC", 2021, at the Data Science and Scientific Computing Department, University of Trieste
Stars: ✭ 22 (+4.76%)
Mutual labels:  hpc, openmp, mpi
matrix multiplication
Parallel Matrix Multiplication Using OpenMP, Phtreads, and MPI
Stars: ✭ 41 (+95.24%)
Mutual labels:  openmp, mpi, pthreads
yask
YASK--Yet Another Stencil Kit: a domain-specific language and framework to create high-performance stencil code for implementing finite-difference methods and similar applications.
Stars: ✭ 81 (+285.71%)
Mutual labels:  hpc, openmp, mpi
wxparaver
wxParaver is a trace-based visualization and analysis tool designed to study quantitative detailed metrics and obtain qualitative knowledge of the performance of applications, libraries, processors and whole architectures.
Stars: ✭ 23 (+9.52%)
Mutual labels:  hpc, openmp, mpi
pyccel
Python extension language using accelerators
Stars: ✭ 189 (+800%)
Mutual labels:  hpc, openmp, mpi
gpubootcamp
This repository consists for gpu bootcamp material for HPC and AI
Stars: ✭ 227 (+980.95%)
Mutual labels:  hpc, openmp, mpi
Training Material
A collection of code examples as well as presentations for training purposes
Stars: ✭ 85 (+304.76%)
Mutual labels:  hpc, openmp, mpi
hp2p
Heavy Peer To Peer: a MPI based benchmark for network diagnostic
Stars: ✭ 17 (-19.05%)
Mutual labels:  hpc, mpi
h5fortran-mpi
HDF5-MPI parallel Fortran object-oriented interface
Stars: ✭ 15 (-28.57%)
Mutual labels:  mpi, mpi-applications
ACCL
Accelerated Collective Communication Library: MPI-like communication operations for Xilinx Alveo accelerators
Stars: ✭ 28 (+33.33%)
Mutual labels:  hpc, mpi
azurehpc
This repository provides easy automation scripts for building a HPC environment in Azure. It also includes examples to build e2e environment and run some of the key HPC benchmarks and applications.
Stars: ✭ 102 (+385.71%)
Mutual labels:  hpc, mpi
pubsub-c
Pub/Sub library for C
Stars: ✭ 39 (+85.71%)
Mutual labels:  pthreads, threading
Batch Shipyard
Simplify HPC and Batch workloads on Azure
Stars: ✭ 240 (+1042.86%)
Mutual labels:  hpc, mpi
t8code
Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes.
Stars: ✭ 37 (+76.19%)
Mutual labels:  hpc, mpi
az-hop
The Azure HPC On-Demand Platform provides an HPC Cluster Ready solution
Stars: ✭ 33 (+57.14%)
Mutual labels:  hpc, mpi
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+995.24%)
Mutual labels:  hpc, openmp
ParMmg
Distributed parallelization of 3D volume mesh adaptation
Stars: ✭ 19 (-9.52%)
Mutual labels:  hpc, mpi
Singularity-tutorial
Singularity 101
Stars: ✭ 31 (+47.62%)
Mutual labels:  hpc, mpi
hpc
Learning and practice of high performance computing (CUDA, Vulkan, OpenCL, OpenMP, TBB, SSE/AVX, NEON, MPI, coroutines, etc. )
Stars: ✭ 39 (+85.71%)
Mutual labels:  hpc, mpi

logo

Build Status

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].