2017-02-02 4 views
0

私は最近、畳み込みバックプロパゲーションニューラルネットワークのプログラミングに取り組んでおり、主にJavaを使用してプログラムを実行し、グラフィカルな視覚化のためにlibGDXを使用しています。重大な研究を通じて、私はパフォーマンスと効率を大幅に向上させるために、CPUではなくグラフィックスカード上でマトリックス計算を実行する必要があることを発見しました。libGDXは、LWJGLに組み込まれているOpenCLラッパーをサポートしていますか?

オンラインでソースを調べたところ、グラフィックスカードでこのような計算を実行する主な方法はOpenClを使用していることがわかりました。さらに研究を重ねた結果、JavaでのOpenClサポートの主な2つのオプションは、LWJGLまたはJOCLによるものであることがわかりました。

libGDXはLWJGL上に構築されていたので、最初の本能はlibGDXライブラリを使ってOpenCLサポートでビルドされたものにアクセスできるかどうかを確認することでしたが、見回しても何も見つかりませんでした。

私の質問は、libGDXライブラリを介してOpenClにアクセスできますか?

LWJGLのOpenCl実装にアクセスできない場合は、JOCLを使用してGPUの数学的計算にアクセスする必要がありますか、またはlibGDXアプリケーションにLWJGLの2番目のライブラリを追加する必要がありますか?

答えて

1

GDXのLwjgl2に含まれているかどうかはわかりませんが、LibGDX Lwjgl3の実装には含まれていません。しかし、Lwjgl3はモジュールに分割されているので、OpenCLモジュールをGradleプロジェクトに追加することができます。このOpenCLのモジュールがLwjgl3のコア上の任意の依存関係を持っている場合"core"依存関係で

、私は知らない何

compile "org.lwjgl:lwjgl-opencl:3.1.0" 

を追加です。その場合は、LibGDX Lwjgl3バックエンドに切り替えることができます。 Lwjgl3に切り替えるには、"desktop"依存関係では、そう、lwjgl33を追加します。

compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion" 

をあなたはLwjgl3に切り替える場合は、基本的にLWJGL後に3を追加し、DesktopLauncherの輸入とクラス名の一部をクリーンアップする必要がありクラス名(scroll down here for instructions if you need them

バージョン番号は、LibGDXバージョンが使用しているLwjgl3のバージョンと同期している必要があります。

関連する問題