Skip to content

asynchronous remote tasks over MPI (two-sided)

Notifications You must be signed in to change notification settings

xuqiang/mpi-async

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Asynchronous remote tasks over MPI

This version is really just a proof-of-concept to get local task management and template magic working correctly (e.g. embedding the correct function and argument-wrapper types).

As such it's based purely on (speculative) MPI-1 non-blocking two-sided comms executed by a progress thread (the latter using a number of C++11 features).

TODO

The obvious (and most interesting) items to explore are:

  1. Better code generation for the type-embedding wrapper structs (maybe there is something that can be done with variadic templates).

  2. Re-implementation of the comms to use MPI RMA, which will require some kind of one-sided message queue (the callback counter can easily be implemented directly).

Even after (2) is implemented, the progress thread will likely remain a persistent feature, as it is also responsible for executing enqueued tasks.

About

asynchronous remote tasks over MPI (two-sided)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 68.4%
  • Shell 26.8%
  • Makefile 4.8%