GPU で curve fitting する gpufit のメモ


GPU(CUDA) で Levenberg Marquardt 法(LM 法)でフィッティング(最適化する)ライブラリです.

Windows はバイナリがありますが, Linux はソースコードからビルドが必要です.

python binding

python バインディングもあります
(cmake ビルド時に whl が生成される)

git repo のサンプルコードみればだいたい使い方はわかるかと思います(Numpy を使っています).

注意事項

最新(CUDA 10 くらい?)nvcc だと sm30 などの古いアーキテクチャはサポートされなくなったため, cmake そのままですとアーキテクチャ選択がうまくいかず sm30 など古いアーキテクチャも含めてしまうため, コンパイルがコケます.

-DCUDA_ARCHITECTURES="7.0" あたりで利用するアーキテクチャを明示的に cmake に指定しましょう.