Cholesky Factorization on SIMD multi-core architectures

Abstract : Many linear algebra libraries, such as the Intel MKL, Magma or Eigen, provide fast Cholesky factorization. These libraries are suited for big matrices but perform slowly on small ones. Even though State-of-the-Art studies begin to take an interest in small matrices, they usually feature a few hundreds rows. Fields like Computer Vision or High Energy Physics use tiny matrices. In this paper we show that it is possible to speed up the Cholesky factorization for tiny matrices by grouping them in batches and using highly specialized code. We provide High Level Transformations that accelerate the factorization for current multi-core and many-core SIMD architectures (SSE, AVX2, KNC, AVX512, Neon, Altivec). We focus on the fact that, on some architectures, compilers are unable to vectorize and on other architectures, vectorizing compilers are not efficient. Thus handmade SIMDization is mandatory. We achieve with these transformations combined with SIMD a speedup from ×14 to ×28 for the whole resolution in single precision compared to the naive code on a AVX2 machine and a speedup from ×6 to ×14 on double precision, both with a strong scalability.
Complete list of metadatas

Cited literature [19 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01550129
Contributor : Florian Lemaitre <>
Submitted on : Thursday, June 29, 2017 - 1:41:52 PM
Last modification on : Thursday, March 21, 2019 - 2:54:41 PM
Long-term archiving on : Monday, January 22, 2018 - 11:11:29 PM

File

JSA_Choleski_2017.pdf
Files produced by the author(s)

Identifiers

Citation

Florian Lemaitre, Benjamin Couturier, Lionel Lacassagne. Cholesky Factorization on SIMD multi-core architectures. Journal of Systems Architecture, Elsevier, 2017, ⟨10.1016/j.sysarc.2017.06.005⟩. ⟨hal-01550129⟩

Share

Metrics

Record views

331

Files downloads

871