論文の概要: Vectorizer: Vectorizing NumPy Programs with Shape-Guided Rewrite
- arxiv url: http://arxiv.org/abs/2609.08088v1
- Date: Tue, 08 Sep 2026 00:59:25 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-09-11 19:34:58.82403
- Title: Vectorizer: Vectorizing NumPy Programs with Shape-Guided Rewrite
- Title(参考訳): Vectorizer: 形状誘導リライトによるNumPyプログラムのベクトル化
- Authors: Jingqian Liu, Xiaoyu Liu, Yuepeng Wang,
- Abstract要約: 本稿では,配列データ上に明示的なループでNumpyプログラムをベクトル化する手法を提案する。
このアプローチをVectorizerというツールとして実装し、以前の作業とStack Overflowから収集した150のベンチマークで評価しました。
評価の結果、Vectorizerは150のベンチマークのうち142をベクター化し、元のベンチマークに小さな変更を加えて2つ以上をベクター化する。
- 参考スコア(独自算出の注目度): 5.027809091812247
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: NumPy is a widely used Python library for numerical scientific computing, known for its declarative APIs and its optimized implementations. However, writing efficient NumPy programs, which often entails using vectorized array operations instead of explicit Python loops, may not be straightforward. This can be difficult for programmers who are accustomed to imperative array traversal, especially when vectorized API invocations require careful reasoning about shapes, broadcasting, and advanced indexing. This paper presents a rewrite-based approach for vectorizing Numpy programs with explicit loops over array data. Our approach vectorizes loops from the inside out, using array shapes and dataflow analysis to guide a source-to-source transformation that replaces loop bodies with vectorized statements. Following a set of rewrite rules that are correct by construction, our approach is consistently fast. We have implemented the approach as a tool called Vectorizer and evaluated it on 150 benchmarks collected from prior work and Stack Overflow. The evaluation shows that Vectorizer vectorizes 142 of the 150 benchmarks directly and 2 more after minor changes to the original benchmarks, with only 0.53 seconds on average to rewrite each one. The resulting programs are, on average, 74.83x faster than the original loop-based implementations.
- Abstract(参考訳): NumPyは数値科学計算のための広く使われているPythonライブラリで、宣言型APIと最適化された実装で知られている。
しかし、明示的なPythonループの代わりにベクトル化された配列操作を使うことが多い効率的なNumPyプログラムを書くのは簡単ではないかもしれない。
命令的配列トラバーサルに慣れているプログラマにとって、特にベクトル化されたAPI呼び出しでは、形状やブロードキャスト、高度なインデックス付けについて慎重に推論する必要がある場合、これは難しい。
本稿では,配列データ上に明示的なループでNumpyプログラムをベクトル化する手法を提案する。
提案手法では,ループ本体をベクトル化された文に置き換えるソース・ソース変換を誘導するために,配列形状とデータフロー解析を用いて内部からループをベクトル化する。
建設によって正しい一連の書き直しルールに従うと、我々のアプローチは一貫して高速です。
このアプローチをVectorizerというツールとして実装し、以前の作業とStack Overflowから収集した150のベンチマークで評価しました。
評価の結果、Vectorizerは150のベンチマークのうち142をベクター化し、元のベンチマークに小さな変更を加えて2つ以上をベクター化する。
結果として得られたプログラムは、オリジナルのループベースの実装よりも平均74.83倍高速である。
関連論文リスト
- Advancing Awkward Arrays for High-Performance CPU and GPU Processing [0.0]
Awkward Arrayは、ネストした可変長データの表現と処理のためのPythonライブラリである。
我々は、NVIDIA Core Compute Libraries上に構築された実装を含む、Awkward Array GPUバックエンドの開発について紹介する。
論文 参考訳(メタデータ) (2026-07-30T12:53:25Z) - LLM-Vectorizer: LLM-based Verified Loop Vectorizer [12.048697450464935]
大規模言語モデル(LLM)は、個々の配列要素を処理するスカラープログラムからベクトル化されたコードを生成することができる。
LLMは1.1xから9.4xまでのランタイムスピードアップで高性能なベクトルコードを生成することができる。
我々のアプローチでは、TSVCベンチマークデータセットで正しいベクター化の38.2%を検証できる。
論文 参考訳(メタデータ) (2024-06-07T07:04:26Z) - The Faiss library [48.38564920607163]
Faissは、インデックス化手法と関連するプリミティブのツールキットで、ベクトルの検索、クラスタ化、圧縮、変換に使用される。
本稿では,ベクトル探索のトレードオフ空間とFaissの設計原理について,構造,最適化,インターフェースの観点から述べる。
論文 参考訳(メタデータ) (2024-01-16T11:12:36Z) - Search-Based Regular Expression Inference on a GPU [0.0]
正規表現推論(REI)は教師付き機械学習とプログラム合成の問題である。
正規表現のコストメトリックと、入力として文字列の正と負の例を取る。
本稿では,任意のアルファベットに対するREIの新しいアルゴリズムを提案する。
論文 参考訳(メタデータ) (2023-05-29T19:37:15Z) - An Algorithm for Routing Vectors in Sequences [0.0]
本稿では,ベクトルの列を列挙し,指定された長さとベクトルサイズを持つ新しい列を演算するルーティングアルゴリズムを提案する。
各出力ベクトルは「ビット当たりのバン」を最大化し、入力ベクトルをより正確に予測することで、使用に対するネット利益とデータ無視に対するネットコストの差を最大化する。
論文 参考訳(メタデータ) (2022-11-20T16:20:45Z) - CITADEL: Conditional Token Interaction via Dynamic Lexical Routing for
Efficient and Effective Multi-Vector Retrieval [72.90850213615427]
マルチベクター検索法はスパース(例えばBM25)と高密度(例えばDPR)レトリバーの利点を組み合わせたものである。
これらの手法は桁違いに遅く、単ベクトルの手法に比べてインデックスを格納するのにはるかに多くのスペースを必要とする。
動的語彙ルーティング(CITADEL)による条件付きトークンの相互作用を,効率的かつ効率的なマルチベクタ検索のために提案する。
論文 参考訳(メタデータ) (2022-11-18T18:27:35Z) - Rapid Person Re-Identification via Sub-space Consistency Regularization [51.76876061721556]
Person Re-Identification (ReID) は、歩行者を分離したカメラで識別する。
実値特徴記述子を用いた既存のReID法は精度が高いが、ユークリッド距離計算が遅いため効率が低い。
本稿では,ReID 処理を 0.25 倍高速化するサブスペース一貫性規則化 (SCR) アルゴリズムを提案する。
論文 参考訳(メタデータ) (2022-07-13T02:44:05Z) - Searching for More Efficient Dynamic Programs [61.79535031840558]
本稿では,プログラム変換の集合,変換プログラムの効率を評価するための単純な指標,およびこの指標を改善するための探索手順について述べる。
実際に、自動検索は初期プログラムの大幅な改善を見出すことができることを示す。
論文 参考訳(メタデータ) (2021-09-14T20:52:55Z) - Kernel methods through the roof: handling billions of points efficiently [94.31450736250918]
カーネル法は、非パラメトリック学習に対するエレガントで原則化されたアプローチを提供するが、今のところ大規模な問題ではほとんど利用できない。
最近の進歩は、最適化、数値線形代数、ランダム射影など、多くのアルゴリズム的アイデアの利点を示している。
ここでは、これらの取り組みをさらに進めて、GPUハードウェアを最大限に活用する解決器を開発し、テストする。
論文 参考訳(メタデータ) (2020-06-18T08:16:25Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。