Skip to content

A cross-stack coordination layer to dynamically map runtime components to hardware resources

License

Notifications You must be signed in to change notification settings

GuillaumeMercier/quo-vadis

 
 

Repository files navigation

QA

quo-vadis

This project is under active development and is currently not stable.

A next-generation, machine-independent coordination layer to arbitrate access among multiple runtime components and map tasks efficiently to heterogeneous architectures.

Building

mkdir build && cd build && cmake .. && make

Or, using ninja, perform the following:

mkdir build && cd build && cmake -G Ninja .. && ninja

Build Options

Below is a table of build options for quo-vadis. Options can be specified in a variety of ways using cmake or ccmake. For example,

cmake -DQV_GPU_SUPPORT=OFF -DQV_FORTRAN_SUPPORT=OFF ..
Option Default Comment
QV_FORTRAN_SUPPORT ON Toggle Fortran support
QV_GPU_SUPPORT ON Toggle GPU support
QV_MPI_SUPPORT ON Toggle MPI support
QV_OMP_SUPPORT ON Toggle OpenMP support

Developer Build Options

Below is a table of build options for quo-vadis developers. Options can be specified in a variety of ways using cmake or ccmake. For example,

cmake -DQV_SANITIZE=address ..
Option Default Comment
QV_SANITIZE none Available: address;thread;undefined

Testing

ctest
# Or target a specific suite of tests
ctest -L core

Environment Variables

QV_PORT # The port number used for client/server communication.
QV_TMPDIR # Directory used for temporary files.

For developers and debugging:

HWLOC_XMLFILE # Path to system topology XML file.

Examples

# Set communication port
export QV_PORT=55996
# Launch the daemon
build/src/quo-vadisd &
# Run a test
mpiexec -n 2 build/tests/test-mpi-scopes

Internal Software Dependencies

External Software Dependencies

Packaging for Developers

# To generate source distributions, run the following:
cd build
make package_source

Los Alamos National Laboratory Code Release

LA-CC-21-084

About

A cross-stack coordination layer to dynamically map runtime components to hardware resources

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.5%
  • C 21.3%
  • Fortran 5.3%
  • CMake 3.8%
  • Shell 0.1%