Detail publikace
Cache Efficient Implementation for Block Matrix Operations
block matrix, high performance, sparse BLAS, nonlinear least squares
Efektivní manipulace a operace nad blokovými maticemi jsou užitečné v mnoha aplikacích, například těmi jež zahrnují iterativní řešení nelineárních systémů. Tyto typy problémů sestávají z opakovaného skládání a řešení lineárních soustav rovnic. Bez opatrné manipulace s odpovídajícími maticemi může být řešení časově velmi náročné, zejména ve velkých systémech. Tento článek navrhuje paměťovou strukturu, vhodnou k ukládání blokových matic, výhodnou pro jejich strukturální i numerickou modifikaci a efektivní aritmetické operace. Tato struktura byla využita při implementaci jednoduché knihovny s rozhraním typu BLAS. Výhody navržené struktury jsou demonstrovány vyčerpávající sadou testů na datasetu UFLSMC. Tato knihovna byla dále použita k řešení několika nelineárních optimizací grafových problémů.
Tento článek se zabývá efektivní implementací operací nad řídkými blokovými maticemi na CPU, pomocí efektivního návrhu struktur pro uložení matic v paměti a pomocí agresivní optimalizace pomocí instrukčních sad SSE, AltiVec nebo NEON.
Dosahuje se velmi dobrých výsledků, jak s implementací samotnou, tak s jejím využití při řešení robotických problémů typu nonlinear least squares.
@inproceedings{BUT103462,
author="Lukáš {Polok} and Viorela Simona {Ila} and Pavel {Smrž}",
title="Cache Efficient Implementation for Block Matrix Operations",
booktitle="Proceedings of the 21st High Performance Computing Symposium (HPC'13)",
year="2013",
pages="698--706",
publisher="Association for Computing Machinery",
address="San Diego",
isbn="1-56555-350-0",
url="http://dl.acm.org/citation.cfm?id=2499972"
}