web-dev-qa-db-ja.com

VMwareのcudaプログラム

私はcudaプログラムを作成し、それをubuntuで仮想マシンとしてテストしています。その理由は、Windows 7を使用しているためです。ubuntuをセカンダリオペレーティングシステムとしてインストールしたくありません。テストにはLinuxオペレーティングシステムを使用する必要があります。私の質問は、仮想マシンがGPUリソ​​ースを制限するかどうかです。それで、私のcudaコードを仮想マシンで実行するよりも、プライマリオペレーティングシステムで実行した方が速くなりますか?

24
scatman

私は同じような課題に一度直面しました。私がやったことは、永続モードを有効にして8GBサムドライブにUbuntuをインストールすることでした。

これにより、CUDAと必要な他のすべてをインストールするために4GBが与えられました。

起動可能なUSBスティックがあると非常に便利です。 this を読むことをお勧めします。

また、 このリンク には、他のディストリビューションを探している場合に非常に興味深い資料があります。

20
karlphillip

残念ながら、仮想マシンはグラフィックデバイスをシミュレートしているため、実際のGPUにはアクセスできません。これは、仮想化が同じデバイスにアクセスする複数のVMを処理する方法が原因です。実際のデバイスを共有するためのレイヤーが提供されます。

ハードウェアへの真のアクセスを取得することは可能ですが、ソフトウェアとハ​​ードウェアの正しい組み合わせがある場合にのみ、詳細について SLI Multi-OSサイト を参照してください。

そのため、仮想化のルートがうまくいかない可能性があります。実際にWindowsでアプリを実行できない場合は、次の制限があります。

  1. 非現実的:代わりにLinuxをインストールする
  2. 非現実的:Linuxを一緒にインストールする(オプションではない)
  3. ライブCDで起動すると、CUDAを使用してディスクイメージを準備し、そのたびにイメージをマウントできます
  4. Linuxで別のボックスをセットアップ(または乞う/借りる)し、リモートでアクセスする
20
Tom

Xiaohui Cui(オークリッジ国立研究所)という研究者によるNVIDIAのGPUテクノロジーカンファレンスでの講演を聞きました。とりわけ、彼はgVirtuSと呼ばれるものを使用して仮想マシンからGPUにアクセスすることについて説明しました。彼はgVirtuSを作成しませんでしたが、それをオープンソースの「仮想cuda」ドライバーとして説明しました。次のリンクを参照してください: http://osl.uniparthenope.it/projects/gvirtus/

私はgVirtuSを試したことはありませんが、望みどおりの結果が得られるようです。

10
Randall Radmer

CUDA 3.1以降、その仮想化機能は鮮明ではないため、使用可能な唯一のアプローチは、ターゲットHW + SWで直接CUDAプログラムを実行することです

2
Tosha

rCUDA を使用して、仮想GPUをVMに追加します。

2
lashgar