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.
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.
Learn how to build
vt with cmake
or docker
.
Lifflander, J., M. Bettencourt, N. Slattengren, G. Templet, P. Miller, P. P. Pébaÿ, M. Perrinel, and F. Rizzi. 2019. “DARMA-EMPIRE Integration and Performance Assessment – Interim Report.” Sandia Report SAND2019-1134. https://www.osti.gov/servlets/purl/1493825. https://doi.org/https://doi.org/10.2172/1493825.
Lifflander, Jonathan, Phil Miller, Nicole Lemaster Slattengren, Nicolas Morales, Paul Stickney, and Philippe P Pébaÿ. 2020. “Design and Implementation Techniques for an MPI-Oriented AMT Runtime.” In 2020 Workshop on Exascale MPI (ExaMPI), 31–40. https://www.osti.gov/biblio/1825838: IEEE.
Lifflander, Jonathan, Nicole Lemaster Slattengren, Philippe P Pébaÿ, Phil Miller, Francesco Rizzi, and Matthew T Bettencourt. 2021. “Optimizing Distributed Load Balancing for Workloads with Time-Varying Imbalance.” In 2021 IEEE International Conference on Cluster Computing (CLUSTER), 238–49. https://www.osti.gov/servlets/purl/1870576: IEEE. https://doi.org/https://doi.org/10.1109/Cluster48925.2021.00039.
Lifflander, J., and P. P. Pébaÿ. 2020. “DARMA/vt FY20 Mid-Year Status Report.” Sandia Report SAND2020-3967. https://www.osti.gov/servlets/purl/1615717. https://doi.org/https://doi.org/10.2172/1615717.
Pébaÿ, P. L., J. Lifflander, P. P. Pébaÿ, and Sean T. McGovern. 2023. “vt-tv: A New C++ Application to Efficiently Visualize and Analyze Asynchronous Many-Task Work Distributions and Attendant Quantities of Interest.” Sandia Report SAND2023-09312.
Pébaÿ, P. L., N. Slattengren, Sean T. McGovern, and J. Lifflander. 2023. “Modeling Workloads of a LinearElectromagnetic Code for Load BalancingMatrix Assembly.” Sandia Report SAND2023-10469.
Pébaÿ, P. P., and J. Lifflander. 2019a. “Using Sandia’s Automatic Report Generator to Document EMPIRE-Based Electrostatic Simulations.” Sandia Report SAND2019-4269. https://www.osti.gov/servlets/purl/1762099. https://doi.org/https://doi.org/10.2172/1762099.
———. 2019b. “Some Results about Distributed Load Balancing.” Sandia Report SAND2019-5139. https://www.osti.gov/servlets/purl/1762597. https://doi.org/https://doi.org/10.2172/1762597.