JuliaGPU/GPUArrays.jl

Reusable array functionality for Julia's various GPU backends.

何を解決するか

Juliaで新しいGPU配列型を構築する開発者向けに、標準化されたツールとインターフェースを提供します。新しいハードウェアバックエンドごとにGPU配列機能をゼロから構築するのではなく、このパッケージを使用することで実装プロセスを高速化し、Juliaエコシステム全体との互換性を確保できます。

仕組み

Juliaの AbstractArray インターフェースのGPU専用の対応物として機能します。バックエンド開発者が実装しなければならないインターフェースメソッド(例:dense_array_typesparse_array_type)を定義し、密配列および疎配列のサポートを可能にします。また、さまざまな疎形式(CSC、CSR、COO、BSR)に対応するデバイス側の配列型を提供し、バックエンドに依存しないラッパーを用意することで、GPU上の疎配列に対するブロードキャストや mapreduce 機能を実現します。

対象ユーザー

このパッケージは、CUDA.jl、oneAPI.jl、AMDGPU.jl、Metal.jlなどのGPUバックエンドを開発している開発者向けであり、エンドユーザー向けではありません。

特徴

  • バックエンド非依存のラッパー: GPU疎配列に対するブロードキャストと mapreduce を即時サポート。
  • 疎配列サポート: CSC、CSR、COO、BSR行列および疎ベクトル用のデバイス側型を含む。
  • インターフェースの標準化: ホスト側およびデバイス側の配列変換を実装するための明確なメソッドセットを定義。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト