DARMA-tasking-internal / darma-simple-backend

A backend designed to take advantage of anti-flows to make the simplest backend implementation possible
Other
1 stars 0 forks source link

DARMA

DARMA (Distributed, Asynchronous, Resilient Models for Applications)

Copyright (c) 2017, Sandia National Laboratories

Sandia National Laboratories is a multimission laboratory managed and operated by National Technology and Engineering Solutions of Sandia, LLC., a wholly owned subsidiary of Honeywell International, Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-NA0003525.


DARMA (Distributed, Asynchronous, Resilient Models for Applications) is a data-effects programming model for extracting concurrency automatically from C++ applications using metaprogramming. The model is designed for those interested in both on-node tasking (MPI+X) or for distributed memory tasking.

This backend must be used in conjunction with the darma-frontend repository. The frontend provides a header library embedding data effects capture in C++ metaprogramming. This backend provides an on-node multithreaded runtime that uses the data effects and deterministic-by-default assumption to execute tasks in parallel.

For installation directions (either custom or Spack), see the INSTALL file in the top-level directory.

License

Under the terms of Contract DE-NA0003525 with Sandia Corporation, the U.S. Government retains certain rights in this software.