在具有2个NVidia 1080 ti(Tensorflow 1.12 / Cuda 10)的系统上,调用tensorflow :: graph :: SetDefaultDevice选择特定的1080的系统将被忽略,并且该图形始终在gpu:0上执行(根据nvidia-smi)
称为tensorflow :: graph :: SetDefaultDevice,如互联网上的文档所述。
if(check_status(ReadBinaryProto(tf :: Env :: Default(),graphFilePath,&graph_)))) {
tf::SessionOptions options;
options.config.set_log_device_placement(true);
options.config.set_allow_soft_placement(true);
if (check_status(tf::NewSession(tf::SessionOptions(), &session_)))
{
if (check_status(session_->Create(graph_)))
{
tensorflow::graph::SetDefaultDevice("/gpu:1", &(graph_));
success = true;
}
else
{
session_->Close();
session_= nullptr;
}
}
}
预期的行为是该图形将在gpu:1上执行,但根据nvidia-smi,该图形始终在gpu:0上执行。