2016-05-01 6 views
0

私はグラフィックカードについてはあまりよく分かりませんが(購入時を除いて)、プログラミングについて話すとき、私は大きな騒ぎです。 (質問1)これが可能かどうかわかりませんが、私のグラフィックスカードでコードブロックを計算したいのであれば、そのコードだけ、プロセッサが別のコードを実行している間にどうすればいいですか?グラフィックカードプロセッサを特定のスレッドに使用するにはどうすればよいですか?

私はそれが別のスレッドを使用すると予測しています。異なるスレッドに異なるプロセッサを割り当てる方法があるはずです。

(質問2)また、LWJGLはグラフィックスカードを使用していますか?

それはすべてです。ありがとう!

+2

私はそのトピックでの経験はありませんが、参考になるリンクがいくつか見つかりました:https://github.com/pcpratts/rootbeer1およびhttp://stackoverflow.com/questions/2633483/best-アプローチ - for-gpgpu-cuda-opencl-in-java – dunni

答えて

1

グラフィックスカードのGPUアーキテクチャは、CPUと非常に大きく異なります。あなたのグラフィックスカードが、バックグラウンドコードで強力なコードを処理する「補助CPU」であるとは限りません。むしろ、ビデオバッファ内のグラフィックスカードプロセスデータ - 基本的にピクセルと2D/3Dジオメトリは、ディスプレイを駆動するメモリバッファに直接マッピングされます。

従来の意味でのソフトウェアは、CPU上で実行される一連の命令です。したがって、Java(またはCなどのアーキテクチャ)で記述する命令は、CPU(通常はx86アーキテクチャのCPU)でのみ実行されるコードにコンパイルされます。

要するに、あなたが求めていることを正確に行う方法はありません。しかし、GPUで実行できるコードを書くことを可能にするいくつかの実験的フレームワークがあります。 CUDA(http://www.nvidia.com/object/cuda_home_new.html)はおそらく最もよく知られていますが、Javaのような伝統的なオブジェクト指向のランゲージとはまったく異なるスタイルのプログラミングです。

関連する問題