Proceedings of the Symposium on Applied Computing 2017
DOI: 10.1145/3019612.3019743
|View full text |Cite
|
Sign up to set email alerts
|

Multiple back-end support for the armadillo linear algebra interface

Abstract: The Armadillo C++ library provides programmers with a high-level Matlab-like syntax for linear algebra. Its design aims at providing a good balance between speed and ease of use. It can be linked with different back-ends, i.e. different LAPACKcompliant libraries. In this work we present a novel run-time support of Armadillo, which gracefully extends mainstream implementation to enable dynamic back-end switching and multiple back-end support. The extension is specifically designed to not affect Armadillo class … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2018
2018
2019
2019

Publication Types

Select...
2
1

Relationship

2
1

Authors

Journals

citations
Cited by 3 publications
(3 citation statements)
references
References 11 publications
0
3
0
Order By: Relevance
“…For the parallel coordination, we rely on FastFlow [9], [10], but several tools could have been exploited, like Intel TBB or OpenMP, that also provide interfaces to implement task-parallel programs [11]. For linear algebra functions, we rely on Dynamic-Armadillo [12], a customised version of Armadillo 1 (cf. IV-A1), but alternative approaches could rely on, for instance, ArrayFire 2 , which would equally meet the requirements for this work; in alternative, a low-level approach could be considered, as, for instance, direct interacting with Magma [13].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…For the parallel coordination, we rely on FastFlow [9], [10], but several tools could have been exploited, like Intel TBB or OpenMP, that also provide interfaces to implement task-parallel programs [11]. For linear algebra functions, we rely on Dynamic-Armadillo [12], a customised version of Armadillo 1 (cf. IV-A1), but alternative approaches could rely on, for instance, ArrayFire 2 , which would equally meet the requirements for this work; in alternative, a low-level approach could be considered, as, for instance, direct interacting with Magma [13].…”
Section: Related Workmentioning
confidence: 99%
“…In this work, we exploit Dynamic-Armadillo [12], an extension that supports dynamic offloading of operations onto multiple back-ends. Specifically, the OpenBLAS [15] CPU back-end and the Magma [13] hybrid CPU/GPU back-end will be used.…”
Section: Approachmentioning
confidence: 99%
“…Finally, libraries aimed to perform SVD on GPUs exist (e.g. Magma [13], CuSolver 5 and higher-level wrappers as Array-Fire 6 ) and their performance has been already assessed [15]. Although some good performance was observed, the capability to handle large problems is limited by the GPU memory, which is usually smaller than CPU memory; for this reason, this survey targets CPU-only libraries.…”
Section: A Shared-memory Toolsmentioning
confidence: 99%