GinkgoOneAPI
Hartwig Anzt
Knoxville, Tennessee
In this project, we want to explore the potential of having an Intel OneAPI backend for the Gingko software package: https://ginkgo-project.github.io/ ...learn more
Project status: Concept
Intel Technologies
oneAPI,
DPC++,
Intel FPGA,
Intel GPA
Overview / Usage
In this project, we want to explore the possibility of adding an IntelOneAPI backend to Ginkgo to run on Intel GPUs.
Ginkgo is * sparse linear algebra * iterative solvers, preconditioners, sparse core operations (sparse BLAS) * currently running on multicore CPU (OpenMP), AMD (HIP) and NVIDIA (CUDA) GPUs * C++ * Currently the best-performing single-node sparse Linear Algebra library * Currently the only single-node sparse Linear Algebra library with native support for NVIDIA GPUs, AMD GPUs, OpenMP platforms * expected to replace MAGMA-sparse in future
MathWorks has in its Matlab library something called "Parallel Computing Toolbox". This is for scientists that want to run on parallel architectures, i.e. NVIDIA GPUs. Inside, there is a set of dense direct solvers (LU) and iterative methods (CG, BiCGSTAB, BiCG, CGS, QMR, TFQMR, etc). Currently, the sparse iterative functionality is coming from MAGMA-sparse (written by myself, Hartwig Anzt). MAGMA-sparse will fade out, and we are is looking into replacing it with Ginkgo. This comes with several benefits: cross-platform portability (NVIDIA and AMD GPUs), C++ (smart pointers), a more sophisticated software lifecycle and sustainability. Currently, we are benchmarking a Ginkgo backend for Matlab.
2.. MathWorks uses SuiteSparse for some sparse linear algebra computations. I don’t have any indication that they’re planning to replace it with GINKGO.
SuiteSparse contains sparse direct solvers. Ginkgo contains sparse iterative solvers. There are no plans to replace SuiteSparse as a direct solver, but to use Ginkgo for sparse iterative functionality.
Ginkgo's sophisticated library design, superior algorithmic functionality and cross-platform performance have gained significant attention in the HPC area. A few examples are:
https://bssw.io/blog_posts/porting-the-ginkgo-package-to-amd-s-hip-ecosystem
https://bssw.io/blog_posts/the-art-of-writing-scientific-software-in-an-academic-environment
* Ginkgo is part of the US Exascale computing project and of the extreme-scale Scientific Software Development Kit (https://xsdk.info)
Repository
https://github.com/ginkgo-project/ginkgo
Other links
Collaborators
Terry Cojean
Eggenstein-Leopoldshafen, Baden-Württemberg
Tobias Ribizel
Karlsruhe, Baden-Württemberg