Tensorflow TracoSouthXLA让它变慢了吗?

Tensorflow TracoSouthXLA让它变慢了吗?,tensorflow,gpu,Tensorflow,Gpu,我正在编写一个启用了XLA的非常简单的tensorflow程序。基本上是这样的: import tensorflow as tf def ChainSoftMax(x, n) tensor = tf.nn.softmax(x) for i in range(n-1): tensor = tf.nn.softmax(tensor) return tensor config = tf.ConfigProto() config.graph_options.optimizer_o

我正在编写一个启用了
XLA
的非常简单的tensorflow程序。基本上是这样的:

import tensorflow as tf

def ChainSoftMax(x, n)
  tensor = tf.nn.softmax(x)
  for i in range(n-1):
    tensor = tf.nn.softmax(tensor)
  return tensor

config = tf.ConfigProto()
config.graph_options.optimizer_options.global_jit_level = tf.OptimizerOptions.ON_1

input = tf.placeholder(tf.float32, [1000])
feed = np.random.rand(1000).astype('float32')

with tf.Session(config=config) as sess:
  res = sess.run(ChainSoftMax(input, 2000), feed_dict={input: feed})

基本上是看XLA是否可以将 SotMax > /Cyto>链融合在一起,避免多内核启动。使用XLAN,上面的程序比在没有GPU卡的机器上使用XLA要慢2倍。在我的GPU配置文件中,我看到XLA产生了许多内核,称为“<代码>还原EXXXX < /COD>”和“<代码> FuxOXXXX < /代码>”,这似乎压倒了整个运行时。有人知道这里发生了什么吗?

看看TF开发峰会的视频。他们的微基准图显示了GPU中的XLA:

因此,如果某些操作比没有XLA更坏,那么就不足为奇了。