Skip to content

DARMA-tasking/vt

Repository files navigation

vt => virtual transport

Codacy Badge codecov License gcc-8, ubuntu, mpich, address sanitizer gcc-9, ubuntu, mpich, zoltan gcc-10, ubuntu, openmpi, no LB gcc-11, ubuntu, mpich gcc-12, ubuntu, mpich clang-9, ubuntu, mpich clang-10, ubuntu, mpich clang-11, ubuntu, mpich clang-12, ubuntu, mpich clang-13, ubuntu, mpich clang-13, alpine, mpich clang-14, ubuntu, mpich nvidia cuda 11.0, ubuntu, mpich nvidia cuda 11.2, ubuntu, mpich gcc-10, ubuntu, openmpi, no LB, spack-package icpx, ubuntu, mpich apple clang, macosx, mpich Build Documentation

Introduction : What is vt?

vt is an active messaging layer that utilizes C++ object virtualization to manage virtual endpoints with automatic location management. vt is directly built on top of MPI to provide efficient portability across different machine architectures. Empowered with virtualization, vt can automatically perform dynamic load balancing to schedule scientific applications across diverse platforms with minimal user input.

vt abstracts the concept of a node/rank/worker/thread so a program can be written in terms of virtual entities that are location independent. Thus, they can be automatically migrated and thereby executed on varying hardware resources without explicit programmer mapping, location, and communication management.

Read the documentation

To learn vt, read the full documentation that is automatically generated whenever a push occurs to "develop". It includes a walk-though of the tutorial and a overview of the components that make up a vt runtime.

Building

Learn how to build vt with cmake or docker.