2017-01-03 11 views
2

サードパーティのライブラリでAlea GPUを使用することに興味があり、自分の選択肢を理解しようとしています。具体的には、this L-BFGS libraryの使用に興味があります。私はF#エコシステムにはかなり新しいですが、CUDAと関数型プログラミングの両方の経験があります。サードパーティライブラリの使用

私はロジスティック回帰を実装するプログラムの一部としてそのL-BFGSライブラリを使用してきました。もし私がライブラリを正しいと仮定して、残りのコード(GPU上で実行するコードを含む)をタイプセーフなF#で書くことができるなら、それはきれいです。

link C++ with F#と思われます。私がL-BFGSライブラリをF#プログラムに統合する方法を考えてみると、Alea GPUの導入によって問題は発生するでしょうか?

私が避けようとしているのは、Fle#でAleaを使ってL-BFGSを書き直すことです。しかし、実際にはF#を使用する最も簡単な方法です。 Aleaが非線形最適化のための機能を持っているなら、おそらくそれらを代わりに使うことができます。

+0

すでにドットネットバインディングがない限り、L-BFGS APIのサーフェスエリアは書き換えられなくなります。 –

答えて

1

アリーアGPUにはまだ非線形オプティマイザがありません。 CUDAバージョンは、標準のCPU L-BFGSとは少し異なる実装をしており、時には精度の問題が発生することがあります。これとは別に、私はコードの問題に直面しませんでしたが、パフォーマンスの勝利は目的関数に大きく依存します。ロジスティック回帰の目的関数は数値的に比較的安価です。

このコードには、Alea GPUに移植された内部C#バージョンがあります。これはF#からも使用でき、将来のバージョンでリリースする予定です。

関連する問題