GPU memoryを最大まで確保

576 views
Skip to first unread message

加茂直之

unread,
Oct 24, 2016, 8:38:33 AM10/24/16
to Chainer Japanese User Group
cupyの仕様について質問があります。

Tensorflowはdefaultでは起動時にGPU memoryを最大までallocateします。
当方の実行環境の都合で、このような一つのGPUのmemoryを専有するような挙動が都合がいいため、chainerでも同様のことができないか考えております。

cupyのソースコードを軽く読んだ感じでは
一度確保したGPUメモリは開放せずにとっておき、それと同じsizeのメモリを確保しようとした場合は、そのメモリアドレスを返す、と理解しています。

なので、最初に必要な分のメモリをallocationしておいても、その領域の一部を切り出して使いまわすような方法はcupyではできない、で正しいでしょうか。

よろしくお願いいたします。

Yuya Unno

unread,
Oct 27, 2016, 8:53:51 PM10/27/16
to 加茂直之, Chainer Japanese User Group
現状ではそのような機能は実装してないですね。ごめんなさい。
chainerはご指摘の通りのような挙動をするallocatorを実装・利用しています(いわゆるメモリプール)。

所望の振る舞いをするallocatorを自前で実装して差し替えれば機能すると思います。

2016年10月24日 21:38 加茂直之 <naoyuki...@gmail.com>:

--
このメールは Google グループのグループ「Chainer Japanese User Group」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには chainer-jp+unsubscribe@googlegroups.com にメールを送信してください。
このグループに投稿するには chain...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/chainer-jp/fde41621-f9f2-446f-bdf5-929edec7353c%40googlegroups.com にアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Reply all
Reply to author
Forward
0 new messages