vt

DARMA/vt => Virtual Transport

https://github.com/darma-tasking/vt

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (4.0%) to scientific vocabulary

Keywords

concurrency cpp distributed-memory hpc load-balancing overdecomposition parallel-computing parallelism runtime-system virtualization
Last synced: 4 months ago · JSON representation ·

Repository

DARMA/vt => Virtual Transport

Basic Info
  • Host: GitHub
  • Owner: DARMA-tasking
  • License: other
  • Language: C++
  • Default Branch: develop
  • Homepage:
  • Size: 36.2 MB
Statistics
  • Stars: 38
  • Watchers: 5
  • Forks: 9
  • Open Issues: 193
  • Releases: 37
Topics
concurrency cpp distributed-memory hpc load-balancing overdecomposition parallel-computing parallelism runtime-system virtualization
Created about 8 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

vt => virtual transport

Codacy Badge codecov License

PR tests (clang-15, macosx, mpich)

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.

References

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.

Owner

  • Name: DARMA
  • Login: DARMA-tasking
  • Kind: organization
  • Location: Sandia National Laboratories

Asynchronous task-based programming and execution models

Citation (CITATION.cff)

cff-version: 1.2.0
message: >-
  If you use this software, please cite it using the
  metadata from this file.
title:  DARMA/vt => Virtual Transport
authors:
  - family-names: DARMA Team
url: https://darma-tasking.github.io/docs/html/index.html
preferred-citation:
  type: conference-paper
  title: "Design and implementation techniques for an MPI-oriented AMT runtime"
  authors:
  - given-names: Jonathan
    family-names: Lifflander
  - given-names: Phil
    family-names: Miller
  - given-names: Nicole Lemaster
    family-names: Slattengren
  - given-names: Nicolas
    family-names: Morales
  - given-names: Paul
    family-names: Stickney
  - given-names: Philippe P
    family-names: P{\'e}ba{\"y}
  collection-title: "2020 Workshop on Exascale MPI (ExaMPI)"
  collection-type: proceedings
  year: 2020
  start: 31 # First page number
  end: 40 # Last page number
  publisher:
    name: "IEEE"
  url: "https://www.osti.gov/servlets/purl/1825838"

GitHub Events

Total
  • Create event: 45
  • Commit comment event: 1
  • Issues event: 83
  • Watch event: 3
  • Issue comment event: 121
  • Push event: 420
  • Pull request review comment event: 152
  • Gollum event: 35
  • Pull request review event: 202
  • Pull request event: 74
Last Year
  • Create event: 45
  • Commit comment event: 1
  • Issues event: 83
  • Watch event: 3
  • Issue comment event: 121
  • Push event: 420
  • Pull request review comment event: 152
  • Gollum event: 35
  • Pull request review event: 202
  • Pull request event: 74

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 140
  • Total pull requests: 36
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 11
  • Total pull request authors: 8
  • Average comments per issue: 0.12
  • Average comments per pull request: 1.86
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 40
  • Pull requests: 35
  • Average time to close issues: 22 days
  • Average time to close pull requests: 20 days
  • Issue authors: 9
  • Pull request authors: 8
  • Average comments per issue: 0.05
  • Average comments per pull request: 1.66
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lifflander (86)
  • armarkos (46)
  • cz4rs (26)
  • nlslatt (13)
  • cwschilly (11)
  • JacobDomagala (8)
  • thearusable (7)
  • nmm0 (4)
  • ppebay (4)
  • Matthew-Whitlock (4)
  • pierrepebay (3)
  • jjwilke (3)
  • stmcgovern (3)
  • Logan590 (1)
Pull Request Authors
  • JacobDomagala (20)
  • cz4rs (20)
  • cwschilly (19)
  • lifflander (18)
  • thearusable (14)
  • nlslatt (8)
  • Matthew-Whitlock (4)
  • nmm0 (2)
  • pierrepebay (2)
  • stmcgovern (2)
  • keitat (1)
  • Logan590 (1)
Top Labels
Issue Labels
type: task (74) type: feature (55) Epic (43) pri: critical (42) type: bug (33) pri: important (27) type: test (25) pri: high (18) type: design (12) pri: normal (8) type: refactor (7) type: example (7) pri: low (6) type: improvement (5) goal: MPI interop (2) goal: Kokkos interop (2) c++20 (1) intro (1)
Pull Request Labels
type: task (4) type: bug (1) pri: low (1) intro (1) c++20 (1)