在Tensorflow安装期间运行configure命令时对术语的简单说明

时间:2018-01-08 20:31:31

标签: tensorflow

我正在安装此link的张量流。 当我运行./configure命令时,我看到以下术语

  1. XLA JIT
  2. GDR
  3. VERBS
  4. 的OpenCL
  5. 有人可以用简单的语言解释这些术语的含义以及它们用于什么?

1 个答案:

答案 0 :(得分:3)

  1. XLA代表加速线性代数'。 XLA页面指出:' XLA采用图形("计算")[...]并将它们编译成各种体系结构的机器指令。"据我所知,这将采用您在tensorflow中定义的计算并进行编译。考虑在C中生成代码,然后通过CPU的C编译器运行它,并使用完整计算的代码加载生成的共享库,而不是为计算的每个部分进行从python到编译函数的单独调用。 Theano默认情况下会这样做。 JIT代表'及时编译器'即图表即时编译'。
  2. GDR似乎支持通过GPU direct在不同服务器上的GPU之间交换数据。 GPU直接使得有可能通过网络从另一台服务器接收数据的网卡直接写入本地GPU的内存,而无需通过CPU或主内存。
  3. VERBS是指Infiniband Verbs应用程序编程接口('库')。 Infiniband是一种低延迟网络,例如在许多超级计算机中使用。当您想在多个服务器上运行tensorflow以进行通信时,可以使用此方法。 Verbs API是Infiniband Berkeley Socket API与TCP / IP通信的关系(虽然有更多的通信选项和不同的语义针对Verbs的性能进行了优化)。
  4. OpenCL是一种编程语言,适合在CPU和非CPU设备(如GPU)上执行并行计算任务,具有类似C语法。但是对于C而言存在某些限制,例如不支持递归等。可以说OpenCL对AMD来说是CUDA对NVIDIA的影响(尽管OpenCL也被其他公司如ALTERA使用)。