DumPy:NumPyの煩雑さを解消し、GPUアクセラレーションを実現するシンプルな配列言語

2025-05-24
DumPy:NumPyの煩雑さを解消し、GPUアクセラレーションを実現するシンプルな配列言語

著者は、NumPyが高次元配列操作において複雑で非効率であること、特に複雑なブロードキャストとインデックス付けのルールによって、プログラマーは配列の形状と関数の挙動について常に考える必要があることを批判しています。これに対処するため、著者はDumPyというシンプルな配列言語を提案しています。これは、ループとインデックスの構文を導入し、それをベクトル化された演算にコンパイルすることでGPUアクセラレーションを実現し、NumPyでループを回避するために導入された複雑さを回避します。DumPyの中心的な考え方は、次元をラベルにマッピングし、JAXの`vmap`関数を使用してベクトル化計算を行うことで、コードを簡素化し、効率を向上させることです。著者は、DumPy、NumPy、JAX、そして純粋なループを比較するいくつかの例を示し、DumPyが簡潔さと効率性の両方において優れたパフォーマンスを示すことを実証しています。

開発