Last modified: 2016-05-23
Abstract
The Hierarchical Computations on Manycore Architectures library (HiCMA) aims to tackle the challenge that is facing the linear algebra community due to an unprecedented level of on-chip concurrency, introduced by the manycore era. HiCMA is a high performance numerical library, which implements hierarchical numerical algorithms (e.g., matrix computations, eigenvalue decomposition, H-matrix, FMM, etc.) on emerging architectures. The hierarchy expression of the algorithms allows to enhance data locality (communication-reducing), while still ensuring embarrassingly parallel workloads (synchronization-reducing). The core idea is to redesign the numerical algorithms and to formulate them as successive calls to hierarchical computational tasks, which are then scheduled on the underlying system using a dynamic runtime system to ensure load balancing. The algorithm is then represented as a Directed Acyclic Graph (DAG), where nodes represent hierarchical tasks and edges show the data dependencies between them.