サーバーでTensorflowも使用するPythonスクリプトを実行します。セッション設定なしで実行した場合、プロセスはGPUメモリをすべて割り当て、他のプロセスがGPUにアクセスするのを防ぎます。Tensorflowを使用したCPU/GPUのメモリ使用
サーバーのスペックは以下の通りです:
- CPU:2倍[email protected] GHzの、
- RAM:256ギガバイト、
- がディスク:2倍速240ギガバイトSSD、6X 4TB @ 7200RPM、
- GPUを:2x Nvidia Titan X.
このサーバーは他の同僚と共有されているため、実際にはGPUメモリをすべて割り当てることはできません。
Tensorflowのウェブサイトでは、使用されているGPUメモリにしきい値を設定するための指示がありました。
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
session = tf.Session(config=config, ...)
私はこれらに関する二つの質問があります。割り当てられたGPUメモリが十分でない場合 1を、プロセスが自動的代わりにCPUを使用するか、それがクラッシュしますか? 2.プロセスがGPUを使用したいのにGPUがすでに完全に割り当てられている場合はどうなりますか?
ありがとうございます。
1台のGPUを割り当て、同僚に別のGPUを割り当てるには、cuda可視デバイスenv varを使用します。 Tensorflowは、同じGPUを使用する複数のプロセスではうまくいきません –