2017-03-20 8 views
-2

私は、割り当てメモリエラー(重み行列)の端にある深い学習のモデルを持っています。私はモデルの複雑さを私の予測にはうまくいくレベルに調整しましたが(それは良いかもしれませんが)RAMメモリでうまく動作しますが、gpuをgpuを使用してはるかに高速なトレーニング(GPUは2GB gddr5 vram) 、割り当てエラーをスローします。GPUでRAMを共有

RAMをGPUと共有する方法をたくさん探しましたが、多くの人がは利用できませんと言いました。(参照や説明なし)と、可能であれば遅いです。フォーラムには、常に1〜2人の人が(私はグーグルサーチで1ページ全体をチェックしました)、それをサポートするものは何もない非常に信頼できない情報があります。

私は低速の議論を理解していますが、CPUとRAMを使用するよりもGPU + RAMを使用する方が、深い学習の行列計算には時間がかかりますか?誰もそれについて言及していない。私が読んだ議論(新しいカードを買う、低い設定にするなど)はゲームについてのものだったので、全体のスピードではなく、より良いジャストインタイムパフォーマンスに向かうように私は意味をなさない。

GPUをRAMに接続するバスは、システム内で最も狭い(RAMよりも遅い)パイプであるため、より高速のGPUよりもCPU + RAM(本当に高速なバスを使用)を使用する方が良いでしょう(+ RAM)。さもなければ、それはあまり意味がないでしょう。

+2

メモリ共有はプログラミング上の問題ではないので、私はこの質問を議論の対象外としています。それはハードウェア、アーキテクチャ、そしておそらくオペレーティングシステムとそのドライバに関するものです。 –

答えて

-1

あなたの質問にCUDAというタグが付いているので、私はあなたに次の回答を与えることができます。

Managed memoryを使用すると、カーネル参照メモリからCPUメモリ上にある場合とそうでない場合があります。このように、GPUメモリの種類はキャッシュのように機能し、実際のGPUメモリサイズには制限されません。

これはソフトウェアテクニックなので、これはSOのためのトピックです。

+1

オペレーションがtheanoなどを管理されたメモリを使用するように書き換えることを望んでいると仮定すると、その状況下ではこれは話題になるかもしれない。しかし、それは私の推測ではないでしょう。あなたが言及しているのは、Pascal GPUにとって賢明なことです。現在のところ、他のGPUファミリの場合、管理対象メモリでは、GPUにアクセスできるメモリサイズはGPUの物理RAMよりも大きくすることはできません。 –

関連する問題