TensorFlow源码分析(10):TensorFlow的Device类与分布式计算集群

文章(7)介绍的DeviceBase类是TensorFlow设备的基类,它提供了CPU,GPU管理需要的基本数据结构。Device类在DeviceBase的基础上,添加了一些新的数据结构,这些数据结构覆盖了内存,显存管理,线程同步,远程调用等功能。粗略说来,DeviceBase专注于单个设备的管理,而Device类也关注多设备协作。

首先看Device类的构造函数,路径为tensorflow/core/common_runtime/device.cc。

Device::Device(Env* env, const DeviceAttributes& device_attributes)
    : DeviceBase(env), device_attributes_(device_attributes) {
  CHECK(DeviceNameUtils::ParseFullName(name(), &parsed_name_))
      << "Invalid device name: " << name();
  rmgr_ = new ResourceMgr(parsed_name_.job);
}

Device类有两个参数。env定义了一些与操作系统相关的一些函数(如文件操作),device_attributes是一个Proto Buffer对象,在文章(8)和文章(9)中已经重点介绍了。除了保存这两个参数外,构造函数还做了如下两件事情。

  • 创建parsed_name_成员变量。这个parse_name_是设备在一个TensorFlow集群中唯一的名字,这个名字在分布式计算中至关重要,我们稍后详细
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值