在CPU后端使用TensorFlow XLA-JIT进行操作融合的性能

时间:2017-11-24 04:29:43

标签: tensorflow cpu mnist tensorflow-xla

有人能给我任何暗示XLA-JIT在CPU后端有更好的性能吗?

我在单个CPU上mnist基准测试时没有使用TensorFlow并使用XLA-JIT(手动模式)。使用XLA-JIT可以在没有XLA-JIT的情况下对TensorFlow实现13.6倍的加速。

由于操作融合经常在谈到XLA-JIT的优点时提到,我自然认为这种技术可能是背后的原因,所以我学习了源代码,发现融合程序大致相同像这样(如果有什么不对的地方请纠正我):

  1. 检查HloComputation(CompOld)中是否有操作融合;
  2. 如果是这样,CompOld中会添加一条新的Fusion指令,并且会从CompOld中删除融合操作;
  3. 然后创建一个由融合操作组成的新HloComputation(CompNew)。 CompOld中添加的Fusion指令有一个指向CompNew的指针。
  4. 当涉及到后端时,LLVM IR将独立发送给CompOld和CompNew。
  5. 考虑到显着的性能提升,我认为必须有更多我想念或错误的事情。我可以接受你的建议吗?

0 个答案:

没有答案