私はCUDAを使い始めたばかりで、 PyCUDA(無料) または NumbaPro CUDA Python (無料ではない)のどちらが良いか(ライブラリのコストが問題ない)。
両方とも、それぞれのPython方言を使用する必要があるようです。しかし、PyCUDAはC
コードでカーネル関数を記述する必要があるようです。これは、使用するよりも面倒です。 NumbaPro、あなたのためにすべてのハードワークを行うようです.
これは確かにそうですか?顕著なパフォーマンスの違いはありますか?
これらのライブラリのそれぞれについて話しましょう:
PyCUDA:
PyCUDA はa Python CUDAのプログラミング環境で、PythonからNvidiaのCUDA並列計算APIにアクセスできます。 PyCUDA はC++(ベースレイヤー)およびPython、C++コードはNVIDIAチップで実行され、Pythonコードをコンパイル、実行、およびC++コードの結果を取得し、それを作成するリソースを自動的に管理します強力なライブラリCUDAの1つ。
PyCUDAはPyOpenClとは少し異なり、Intel、AMD、NVIDIA、ATIチップなどのさまざまなプラットフォームでコードを実行できます。 NVIDIAチップでのみ実行できるPyCUDAとは異なります。
Python + CUDA = PyCUDA
Python + OpenCL = PyOpenCL
NUMBA/NumbaPro:
[〜#〜] numba [〜#〜] :NumbaProまたは最近のNumba(NumbaProは非推奨になり、そのコード生成機能はオープンソースのNumbaに移動されました。)はオープンソースのNumPy- PythonはAnaconda、Incのスポンサーにより最適化されたコンパイラを認識しています。これは、注目に値するLLVMコンパイラインフラストラクチャを使用してPython構文をマシンコードにコンパイルします。 Numba はPythonのコンパイルをサポートしており、CPUまたはGPUハードウェアで実行でき、基本的にPythonで記述されています。インストールと実装は簡単です。
@Wangが述べたように、PycudaはNumbaよりも高速です。