Skip to content
forked from ICLDisco/parsec

PaRSEC is a generic framework for architecture aware scheduling and management of micro-tasks on distributed, GPU accelerated, many-core heterogeneous architectures. PaRSEC assigns computation threads to the cores, GPU accelerators, overlaps communications and computations and uses a dynamic, fully-distributed scheduler based on architectural fe…

License

Notifications You must be signed in to change notification settings

QingleiCao/parsec

 
 

Repository files navigation

PaRSEC

PaRSEC: the Parallel Runtime Scheduler and Execution Controller for micro-tasks on distributed heterogeneous systems.

Features

PaRSEC is a generic framework for architecture aware scheduling and management of micro-tasks on distributed many-core heterogeneous architectures. Applications are expressed as a Direct Acyclic Graph of tasks with labeled edges designating data dependencies. PaRSEC assigns computation threads to the cores, overlaps communications and computations between nodes as well as between host and accelerators (like GPUs). It achieves these features by using a dynamic, fully-distributed scheduler based on architectural features such as NUMA nodes and GPU awareness, as well as algorithmic features such as data reuse.

Several high level languages are proposed to expose the DAG from the applications. You can either build the DAG as you go, by using a mechanism called dynamic task discovery (DTD), or use the Parameterized Task Graph language (PTG) to expose a compact problem-size independent format that can be queried on-demand to discover data dependencies in a totally distributed fashion.

The framework includes libraries, a runtime system, and development tools to help application developers tackle the difficult task of porting their applications to highly heterogeneous and diverse environment.

Installing PaRSEC

Please read the INSTALL.rst file for the software dependencies and the installation instructions.

Links and Community

You can report bugs on the GitHub issues and find documentation and tutorials in the PaRSEC wiki.

If you are interested in this project and want to join the users community, our mailman will be happy to accept you on the project user (moderated) mailing list at [email protected].


Happy hacking,
The PaRSEC team.

About

PaRSEC is a generic framework for architecture aware scheduling and management of micro-tasks on distributed, GPU accelerated, many-core heterogeneous architectures. PaRSEC assigns computation threads to the cores, GPU accelerators, overlaps communications and computations and uses a dynamic, fully-distributed scheduler based on architectural fe…

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 85.7%
  • Python 5.0%
  • CMake 4.8%
  • Yacc 1.0%
  • Cython 0.9%
  • Cuda 0.7%
  • Other 1.9%