# Ginkgo
Ginkgo は、GPU などのアクセラレータハードウェアを第一級市民として設計された、モダン C++ ベースのオープンソース高性能数値線形代数ライブラリである。ミュンヘン工科大学(TUM)の [[Hartwig Anzt]] 教授や [[Yu-Hsiang Tsai]] らを中心とするチームによって開発されている。
## 設計思想と特徴
- **GPU 中心アーキテクチャ**: コアアルゴリズムが GPU 上で完結するように設計されており、ホスト-デバイス間の不要なデータ移動を排除する。
- **マルチベンダー可搬性(Portability)**: ベンダーネイティブなプログラミング言語(NVIDIA CUDA、AMD HIP、Intel SYCL、OpenMP)に対応したモジュール型バックエンドを採用し、単一コードベースから各アクセラレータの最新ハードウェア機能を引き出す。
- **多彩な疎行列フォーマット**: CSR(Compressed Sparse Row)、COO(Coordinate)、ELL、Sell-P などの疎行列格納形式をネイティブサポートする。
- **分散メモリ並列化**: 1 次元行分割に基づく分散行列・分散ベクトル表現、および [[GPU-Aware MPI]] によるマルチノード分散 SpMV と反復解法(Krylov 部分空間法: CG, GMRES 等)を実装している。
JUPITER スーパーコンピュータの早期アクセスプログラムにおいて、GH200 アーキテクチャ向けに SpMV カーネル特化および CUDA イベントを用いた通信隠蔽アルゴリズムが組み込まれた。(Source: [[@2026__HPCAsia__What Will the Grace Hopper-Powered Jupiter Supercomputer Bring for Sparse Linear Algebra?]])
## 関連
- ソース: [[@2026__HPCAsia__What Will the Grace Hopper-Powered Jupiter Supercomputer Bring for Sparse Linear Algebra?]]
- 開発者: [[Hartwig Anzt]] / [[Yu-Hsiang Tsai]]
- 関連ハードウェア: [[NVIDIA GH200]] / [[JUPITER (スーパーコンピュータ)]]
- 関連概念: [[疎行列ベクトル積]] / [[通信隠蔽]] / [[GPU-Aware MPI]] / [[Rooflineモデル]]