Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我使用XLA_标志转储PTX和llvm时,为什么不为矩阵乘法tensorflow操作生成PTX?_Tensorflow_Matrix Multiplication_Ptx_Tensorflow Xla_Xla - Fatal编程技术网

当我使用XLA_标志转储PTX和llvm时,为什么不为矩阵乘法tensorflow操作生成PTX?

当我使用XLA_标志转储PTX和llvm时,为什么不为矩阵乘法tensorflow操作生成PTX?,tensorflow,matrix-multiplication,ptx,tensorflow-xla,xla,Tensorflow,Matrix Multiplication,Ptx,Tensorflow Xla,Xla,我正在尝试为以下tensorflow 1.13.1代码转储HLO、LLVM IR和PTX: import tensorflow as tf import numpy as np a = tf.placeholder(shape=(10,20), dtype=tf.float32) b = tf.placeholder(shape=(20,10), dtype=tf.float32) c = tf.placeholder(shape=(10,10), dtype=tf.float32) jit

我正在尝试为以下
tensorflow 1.13.1
代码转储
HLO
LLVM IR
PTX

import tensorflow as tf
import numpy as np

a = tf.placeholder(shape=(10,20), dtype=tf.float32)
b = tf.placeholder(shape=(20,10), dtype=tf.float32)
c = tf.placeholder(shape=(10,10), dtype=tf.float32)

jit_scope = tf.contrib.compiler.jit.experimental_jit_scope #using JIT compilation
with jit_scope():
    d = tf.matmul(a, b) + c

with tf.Session() as sess:
    print(sess.run(d, feed_dict={a:np.random.random((10,20)), b:np.random.random((20,10)), c:np.random.random((10,10))}))
我使用以下
XLA\u标志运行该程序:

XLA_FLAGS="--xla_generate_hlo_text_to=./path1 --xla_dump_ir_to=./path2" python source.py
/path1
目录包含所有
HLO
过程输出。但是
/path2
目录中的
.ll
.ptx
文件不包括
ptx
llvm IR
代码。
.ptx
文件为空,
ll
文件只有以下几行:

; ModuleID = 'cluster_0__XlaCompiledKernel_true__XlaNumConstantArgs_0__XlaNumResourceArgs_0_.12'
source_filename = "cluster_0__XlaCompiledKernel_true__XlaNumConstantArgs_0__XlaNumResourceArgs_0_.12"
target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64"
target triple = "nvptx64-nvidia-cuda"
我的问题是,为什么我看不到上述tensorflow代码的
ptx
代码


我应该提到的是,如果我将
d=d+d
行添加到上面的python代码中,在
a*b+c
之后,
XLA
生成一些
PTX
代码,这只是一个加法运算,它不包括矩阵乘法代码。

没有人能回答这个问题吗?甚至没有注释?我发现这表明如果
hlocompution
是一个融合的计算,它会跳过红外。是吗?PTX代表什么?并行线程执行