私は、CPUまたはGPUで実行できるアルゴリズムを使ってライブラリを開発したいと考えています。 GPUはNvidia(アルゴリズムはCUDAを使用する)かどうか(アルゴリズムはOpenCLを使用します)。CUDA/OpenCLユニットのテスト用にGPUをエミュレートすることは可能ですか?
多分ので、私はこのプロジェクトではGPUをエミュレートしたいと思います:
私はソフトウェアを開発するために別のコンピュータを使用し、そのうちのいくつかは、GPUを持っていません。
ソフトウェアは最終的にGPUを持つことができるサーバーで実行され、ユニットテストは実行され、実行されなければなりません。
単体テスト用にGPUをエミュレートする方法はありますか?次のリンクで
:
GPU Emulator for CUDA programming without the hardware
彼らはだけCUDAのための、ないのOpenCLと、彼らは「GPUOcelotが」もはや積極的に維持されている提案しないソフトウェアのソリューションを示しています。
パフォーマンスは明らかにCPU上で悪化しますが、GPUがインストールされていないときにアルゴリズムが動作し、正しくプログラムされているかどうかをテストする方法があるかどうかを知る必要があります。単体テストでは、データベースがリストティングされていることをエミュレートするライブラリがあります。例えば、fakemongo https://github.com/fakemongoはmongodbデータベースをエミュレートして、SQL関数が正しいことをテストします。 – Rob
[GPUエミュレータとハードウェアのないCUDAプログラミングの可能な複製](0120-17753-03) –
そのリンクでのみ話すcuda(openclに関するものではない)と彼らが提案する解決策は、積極的に維持されていないソフトウェアです。 – Rob