PaRSEC is a generic framework for architecture aware scheduling and management of micro-tasks on distributed many-core heterogeneous architectures. Target applications or algorithms will be expressed as a Direct Acyclic Graph of tasks with labeled edges designating data dependencies. DAGs are represented in a compact problem-size independent format that can be queried on-demand to discover data dependencies in a totally distributed fashion. PaRSEC assigns computation threads to the cores, overlaps communications and computations and uses a dynamic, fully-distributed scheduler based on architectural features such as NUMA nodes and algorithmic features such as data reuse.
The PaRSEC Environment provides a software ecosystem composed of a runtime component to dynamically execute task-based applications on heterogeneous distributed systems, and a productivity toolbox that comprises a development framework for the support of multiple Domain Specific Languages (DSLs) and extensions, with debugging, trace collection, and analysis tools.
DPLASMA: Distributed Parallel Linear Algebra Software for Multicore Architectures
DPLASMA is the leading implementation of a dense linear algebra package for distributed heterogeneous systems. It is designed to deliver sustained performance for distributed systems where each node featuring multiple sockets of multicore processors, and if available, accelerators like GPUs or Intel Xeon Phi. DPLASMA achieves this objective through the state of the art PaRSEC runtime, porting the Parallel Linear Algebra Software for Multicore Architectures (PLASMA) algorithms to the distributed memory realm.
DPLASMA’s feature set includes:
- Linear systems of equations (Cholesky, LU [inc. pivoting, PP], LDL [prototype]).
- Least squares (QR & LQ).
- Symmetric eigenvalue problem (Reduction to Band [prototype]).
- Level 3 Tile BLAS (GEMM, TRSM, TRMM, HEMM/SYMM, HERK/SYRK, HER2K/SYR2k.
- Covers double real, double complex, single real, and single complex (D, Z, S, C) precisions.
- Provides ScaLAPACK-compatible interface for matrices in F77 column-major layout
- Supports: Linux, Windows, Mac OS X, UN*X (depends on MPI, hwloc)
For more information feel free to look at the different sources of documentation the project offers: online documentation, README, public wiki and/or our publications using the PaRSEC runtime. Two moderated mailing-lists are available, one for users and one for developers. Feel free to join us.
When referencing PaRSEC in a publication please use the following reference DAGuE: A Generic Distributed DAG Engine for High Performance Computing (bibtex)