STARSH
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations

STARSH is a high performance parallel opensource package of Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations. It provides a hierarchical matrix market in order to benchmark performance of various libraries for hierarchical matrix compressions and computations (including itself). Why hierarchical matrices? Because such matrices arise in many PDEs and use much less memory, while requiring fewer flops for computations. There are several hierarchical data formats, each one with its own performance and memory footprint. STARSH intends to provide a standard for assessing accuracy and performance of hierarchical matrix libraries on a given hardware architecture environment. STARSH currently supports the tile lowrank (TLR) data format for approximation on shared and distributedmemory systems, using MPI, OpenMP and taskbased programming models.
The vision of STARSH is to design, implement and provide a community code for hierarchical matrix generator with support of various data formats for approximation, including, but limited to, TLR, HSS, HODLR, H and H^2. STARSH aspires to be for the lowrank approximation community what UF Sparse Matrix Collection is for the sparse linear algebra community, by generating hierarchical matrices coming from a variety of synthetic and realworld applications. Furthermore, extracting the performance of the underlying hardware resources (i.e., x86 and GPUs) is in the DNA of STARSH, since the approximation phase can be timeconsuming on largescale scientific applications.
This project is WIP, with current features limited to:
The only supported data format is Tile LowRank (TLR):
Programming models (backends):
Applications in matrixfree form:
Lowrank approximation techniques (lowrank engines):
Additional: