2

NVIDIA CUDA の CUBLAS ライブラリを使用すると、絶対値が最大の要素/インデックスを見つけることができます (cublasIsamax)。CUBLASリダクション関数を使用して、実際の最大値を持つ要素/インデックスを見つけることは可能ですか?

【CUBLAS バージョン 3.2 を使用しています。】

制約の編集
: 本番サーバーの状態を変更することはできません。これは、thrust/cudpp を使用できず、古いバージョンの CUBLAS を使用したままになっていることを意味します。

4

1 に答える 1

3

あなたが言及している「リダクション関数」が何であるかわかりません。

CUBLAS は基本的に、CUDA デバイス用の BLAS の「同様の」実装です。これは、標準のレベル 1、2、および 3 の BLAS 関数に加えて、正確に 3 つの拡張機能 (geam (スケーリングされた行列の加算/転置)、dgmm (対角化された行列と行列の内積)、および getrfBatched (多くの小さな行列のバッチ LU 分解) のみを提供します)。これらの関数はいずれも、指定されたベクトルまたは行列の符号付き最大値を検出しません。

NVIDIAはcudppとThrust を出荷ていますが、この種の操作にはおそらくどちらの方が適しているでしょう。また、CUBLAS 3.2 は 2 年半前のものです。

最後のコメントとして、CUBLAS 4.x または CUBLAS 5.x リリースの使用を強くお勧めします。コードの API とパフォーマンスは、特に新しいハードウェアで大幅に改善されました。

于 2013-03-13T12:06:18.143 に答える