問題タブ [numba-pro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
184 参照

python - numbapro モジュールに関連付けられているパスを変更するには?

numbapro をインポートする Python スクリプトを実行しようとしていますが、サイト パッケージの場所へのパスが正しくありません。対話型コマンド ラインから numbapro をインポートすると問題は発生しませんが、spyder、PyCharm、またはプロンプトからこのデモ スクリプトを実行しようとすると、次のようになります。

次のエラーが表示されます。

何らかの理由で、実際にはデフォルトの anaconda サイトパッケージの場所にあるのに、numbapro サイトパッケージが /opt/... ディレクトリにあるものとして表示され続けます。どんな助けでも大歓迎です。私の環境は、Ubuntu 14.10、Python 2.7、および Anaconda 2.1.0 です。

0 投票する
3 に答える
4205 参照

python - Python+Numba LLVM/JIT でコンパイルされたコードと比較した Julia のパフォーマンス

http://julialang.org/などでこれまでに確認した Julia のパフォーマンス ベンチマークでは、Julia を純粋な Python または Python+NumPy と比較しています。NumPy とは異なり、SciPy は BLAS および LAPACK ライブラリを使用し、最適なマルチスレッド SIMD 実装を実現します。BLAS 関数と LAPACK 関数を呼び出したときの Julia と Python のパフォーマンスが同じであると仮定すると、BLAS または LAPACK 関数を呼び出さないコードに Numba または NumbaPro を使用した場合、Julia のパフォーマンスは CPython とどのように比較されるでしょうか?

私が気付いたことの 1 つは、Julia が LLVM v3.3 を使用しているのに対し、Numba は LLVM v3.5 上に構築された llvmlite を使用していることです。Julia の古い LLVM は、Intel Haswell (AVX2 命令) などの新しいアーキテクチャでの最適な SIMD 実装を妨げますか?

非常に大きなベクトルを処理するために、スパゲッティ コードと小さな DSP ループの両方のパフォーマンスの比較に関心があります。後者は、GPU デバイス メモリとの間でデータを移動するオーバーヘッドがあるため、GPU よりも CPU によって効率的に処理されます。単一の Intel Core-i7 CPU でのパフォーマンスのみに関心があるため、クラスターのパフォーマンスは重要ではありません。私が特に興味を持っているのは、DSP 関数の並列化された実装を作成する際の容易さと成功です。

この質問の 2 番目の部分は、Numba と NumbaPro の比較です (MKL BLAS は無視します)。Numba のデコレータtarget="parallel"の新しいnogil引数を考えると、 NumbaPro は本当に必要ですか?@jit

0 投票する
1 に答える
12080 参照

numpy - GPU に anaconda アクセラレータを適切に使用する方法

anaconda アクセラレータを使用して行列の計算を高速化しようとしています。私は非常に基本的な例から始めました: 2 つの行列を乗算します。

私の目標は、通常の numpy.dot よりも優れた GPU 乗算を取得することです。

これは、このドキュメントに基づいた私の基本的な例です。

結果が悪すぎる: GPU は CPU よりも信じられないほど遅い

もちろん、内部の numpy の実現が適切に最適化されていることは理解していますが、anaconda の公式の例が優れていることを期待していました。私はpython 3.4.3を使用していますが、次の 2 つの支援ライブラリを使用するとエラーが発生しました: http://www.cs.toronto.edu/~tijmen/gnumpy.htmlおよびhttps://github.com/rctn/gpupy

gpupy を使用すると、Python 2.7 で高速化に成功したと言わざるを得ません。

だから私の質問は次のとおりです:GPUを使用してnumpy-CPUよりも優れた行列乗算を取得するにはどうすればよいですか? anacondaの公式の例の何が問題なのですか? GPUをnumpyで使用できるpython3用の作業ライブラリがある場合は?

===

結果

残念ながら、Python 3 には簡単で適切な方法はありません。代わりに 2.7 を使用してください。

すばらしいライブラリscikits.cudaをお勧めする @rth に感謝します。

利用可能な機能

いくつかのベンチマーク (anaconda mkl を使用してテストされているため、numpy も高速です)

そして結果

0 投票する
0 に答える
64 参照

numba - NumbaPro を使用してある GPU カーネルを別の GPU カーネルから呼び出す

ある GPU カーネルから別の GPU カーネルへの呼び出しを行いたい:

呼び出された関数に を追加しましたdevice=Trueが、うまくいかないようです。

失敗した行により、次のエラーが発生します。TypingError: Untyped global name 'sum'

何が間違っている可能性がありますか?

0 投票する
1 に答える
259 参照

python - Maxwell アーキテクチャは Numbapro でサポートされていますか?

Numbapro API を使用して Python で CUDA カーネルを実行したいと考えています。私はこのコードを持っています:

私にこのエラーを与えています:

別の numbapro の例を試しましたが、同じエラーが発生します。5.2 コンピューティング機能をサポートしていない Numbapro のバグなのか、Nvidia NVVM の問題なのかわかりません...提案はありますか?

理論的にはサポートされているはずですが、何が起こっているのかわかりません。

CUDA 7.0 およびドライバー バージョン 346.29 で Linux を使用しています。

0 投票する
0 に答える
631 参照

python - GPU 計算における Numba Pro と Theano/pyautodiff の主な違いは何ですか?

Theano に基づく Numba Pro と pyautodiff はどちらも、Python コードから GPU マシン コードへの変換をサポートしています。Theano では、結果の構文ツリーのシンボリックな派生も許可されますが、これは私の質問の範囲外です。

私の質問は、いずれかのフレームワークに技術的な制限があり、コードの効率が低下するかどうかです。