QUARK (QUeuing And Runtime for Kernels) provides a library that enables the dynamic execution of tasks with data dependencies in a multi-core, multi-socket, shared-memory environment. QUARK infers data dependencies and precedence constraints between tasks from the way that the data is used, and then executes the tasks in an asynchronous, dynamic fashion in order to achieve a high utilization of the available resources. QUARK is designed to be easy to use and it is intended to scale to large numbers of cores. It should enable the efficient expression and implementation of complex algorithms. The driving application behind the development of QUARK is the PLASMA linear algebra library, and the QUARK runtime contains several optimizations inspired by the algorithms in PLASMA. An early release of QUARK is being prepared, with a well-stressed and robust implementation and an initial Users’ Guide and Reference Guide. Additional documentation will be provided in future releases.
Keywords for this software
References in zbMATH (referenced in 10 articles )
Showing results 1 to 10 of 10.
- Elmar Peise; Paolo Bientinesi: Algorithm 979: Recursive Algorithms for Dense Linear Algebra - The ReLAPACK Collection (2017) not zbMATH
- Peise, Elmar; Bientinesi, Paolo: Algorithm 979: Recursive algorithms for dense linear algebra -- the ReLAPACK collection (2017)
- Chen, Yuxin; Keyes, David; Law, Kody J. H.; Ltaief, Hatem: Accelerated dimension-independent adaptive metropolis (2016)
- Ghysels, Pieter; Li, Xiaoye S.; Rouet, François-Henry; Williams, Samuel; Napov, Artem: An efficient multicore implementation of a novel HSS-structured multifrontal solver using randomized sampling (2016)
- Sukkari, Dalal; Ltaief, Hatem; Keyes, David: A high performance QDWH-SVD solver using hardware accelerators (2016)
- Gonnet, Pedro: Efficient and scalable algorithms for smoothed particle hydrodynamics on hybrid shared/distributed-memory architectures (2015)
- Tillenius, Martin: Superglue: a shared memory framework using data versioning for dependency-aware task-based parallelization (2015)
- Kim, Kyungjoo; Eijkhout, Victor: A parallel sparse direct solver via hierarchical DAG scheduling (2014)
- Baboulin, Marc; Dongarra, Jack; Herrmann, Julien; Tomov, Stanimire: Accelerating linear system solutions using randomization techniques (2013)
- Quintana-Ortí, Gregorio; Igual, Francisco D.; Marqués, Mercedes; Quintana-Ortí, Enrique S.; van de Geijn, Robert A.: A runtime system for programming out-of-core matrix algorithms-by-tiles on multithreaded architectures (2012)
Further publications can be found at: http://icl.cs.utk.edu/quark/pubs/index.html