Giter VIP home page Giter VIP logo

vt's Introduction

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.

vt's People

Contributors

amdarr avatar armarkos avatar bradybray avatar cwschilly avatar cz4rs avatar hobywan avatar jacobdomagala avatar jstrzebonski avatar lifflander avatar marcinwrobel1986 avatar mperrinel avatar nlslatt avatar nmm0 avatar philmiller avatar pnstickne avatar ppebay avatar prwolfe avatar stmcgovern avatar thearusable avatar uhetmaniuk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vt's Issues

Unit test

Unit testing all the components of the code.

Virtual Context

Implement Virtual Context proxy/ID, manager, message routing to virtual contexts

RDMA cleanup

Cleanup RDMA code now that method renaming has been complete

Implement support for ULTs

Extract from boost fcontext (without a dependency) the library that enables very efficient ULTs. This will become useful for some worker interactions.

Allow collections to use group collectives

VT added groupings (could potentially match to MPI_Groups -limiting scope of collectives). Only incast and bcast across the entire machine are otherwise allowed on collective communication.

Design discussion

Discuss classification of components: core, virtualization, etc. and the current state (done, partially complete, or design phase).

Also discuss current unit/integration testing state (whether tests exist, how comprehensive they are, etc.), examples, performance testing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.