私は現在、機械学習アルゴリズムのパフォーマンスを向上させるために、GPU を使用したプログラミングを学習しています。最初に、純粋な c で cuda のプログラミングを学ぼうとしましたが、pycuda を見つけました。これは、cuda ライブラリのラッパーであり、theano と pylearn2 を見つけて少し混乱しました。
私はそれらを次のように理解しています。
- pycuda: cuda ライブラリの python ラッパー
- theano: numpy に似ていますが、GPU と CPU に対して透過的です
- pylearn2: theano 上に構築され、いくつかの機械学習/深層学習モデルを実装した深層学習パッケージ
私は GPU プログラミングに慣れていないので、C/C++ 実装から学習を開始する必要がありますか、それとも pycuda から開始するか、theano から開始しても十分ですか? たとえば、GPU プログラミングを学習した後、randomForest モデルを実装したいと考えています。よろしくお願いします。