问题标签 [tensorflow-xla]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1229 浏览

tensorflow - Tensorflow XLA 和 Tensorflow Lite / Android NNAPI 有什么区别?

Tensorflow 推出了 XLA 编译器,该编译器编译了针对 LLVM 的后端 C++ tensorflow。我对 XLA 的理解是,只要有 LLVM -> 设备支持,它就是向支持通用加速设备迈出的一步。

Tensorflow lite 是最近发布的,取代了 Tensorflow Mobile,并且似乎是工作的重点是针对嵌入式和移动设备,明显关注嵌入式 DSP 和 GPU 作为这些环境中常见的可选处理器。Tensorflow lite 似乎将操作移交给 Android NNAPI(神经网络 API),并支持 tensorflow OP 的子集。

所以这就引出了一个问题:Google 将朝着哪个方向支持非 CUDA 设备?XLA 的用例是否超出了我的描述?

0 投票
1 回答
973 浏览

tensorflow-serving - TensorFlow 服务与 XLA

使用 Tensorflow Serving 进行推理时是否可以启用 XLA 编译?

(我希望这只是未记录的配置问题,并且我可以避免实现自定义 Servable)。

0 投票
0 回答
826 浏览

tensorflow - CPU 上的 XLA JIT 优化

我正在尝试获取已保存的模型(或冻结图)并启用 XLA JIT 编译。我使用 configProto 优化选项将其设置为 L1 ,但它似乎对 TF 图的执行没有任何影响。我读到它必须在手动模式下完成,而不仅仅是在会话级别。是否有任何示例,或者您能否指出一些代码指针,我可以在其中运行 xla Jit 编译,采用已保存的模型架构(已保存的模型包或冻结图)。

0 投票
0 回答
98 浏览

c++ - GPU 上的 BFCAllocator 真的支持在 GPU 执行之前进行主机端释放吗?

当我在 TF 中阅读 XLA 的代码时,我遇到了以下代码片段。

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/jit/xla_launch_util.h#L119

如评论中所示,它表示 GPU 上使用的 Tensorflow BFC 分配器允许在 GPU 执行之前进行主机端释放。

这真的让我很困惑。在深入研究了 BFCAllocator 的代码后,我没有发现任何支持这一点的东西。

所以我的问题是:

  • Tensorflow BFC 分配器真的支持从主机端进行异步释放吗?
  • 如果这是真的,那我错过了什么?

谢谢!

0 投票
0 回答
115 浏览

python - Tensorflow/XLA:LLVM IR 中的并行操作数

我对启动带有--xla_dump_ir_to标志的 TensorFlow 程序的 LLVM IR 感兴趣,特别是我想探索 XLA 如何处理并行化。

我有一个在具有 56 个 CPU 的机器上运行的测试程序,并且在结果.ll文件中显示了一个并行化函数,正如预期的那样:

查看ParallelForkJoinXLA 源代码中的函数有一个输入参数num_partitions,这里设置为 56。

现在我想获得一个只使用一些可用 CPU 的类似结果,所以我在我的 python 程序中添加了以下几行(如 Tensorflow 指南https://www.tensorflow.org/guide/performance/overview中所建议的那样) #optimizing_for_cpu和这里的其他地方):

但是生成的.ll文件是完全一样的!

这是为什么?我原以为指定不同数量的并行线程会导致参数为 5(在这种情况下)而不是 56。

更一般地说,是否有任何关于 XLA 如何提取并行性的文档?

0 投票
0 回答
132 浏览

tensorflow - 使用带有 tf xla.compile 的估计器

我正在使用 tensorflow 提供的一些罐装估计器,例如 DNN 。生成的模型大小非常大(数百兆字节),延迟也非常高(数百毫秒)。我想尝试 AOT 编译,看看我是否得到了服务延迟改进和模型尺寸减小。有没有一个例子说明我如何让 xla.compile 与罐装估计器一起工作。您能否指出一些示例代码或任何有类似经验的人引导我朝着正确的方向前进?

0 投票
1 回答
410 浏览

tensorflow - 如何优化经过训练的 Tensorflow 图以提高执行速度?

为了对冻结的 Tensorflow 图 (.pb) 进行快速 CPU 推理,我目前正在使用 Tensorflow 的 C API。推理速度已经相当不错了,但是(与英特尔的 OpenVINO 等 CPU 专用工具相比)我目前无法在运行之前以某种方式优化图表。我对任何适合的优化感兴趣: - 针对 CPU 的特定于设备的优化 - 特定于图形的优化(融合操作,丢弃节点,......) -......以及其他一切降低推理所需时间的东西。

因此,我正在寻找一种在训练后和执行前优化图形的方法。如前所述,英特尔的 OpenVINO(用于 CPU)和 NVIDIA 的 TensorRT(用于 GPU)等工具可以做类似的事情。我也在使用 OpenVINO,但目前正在等待错误修复,因此我想尝试另一种方法。

我想过尝试 Tensorflow XLA,但我没有使用它的经验。此外,我必须确保最终获得冻结图(.pb)或可以转换为冻结图(例如.h5)的东西。

我将不胜感激建议!

问候

0 投票
2 回答
5207 浏览

tensorflow - 如何为 C API 激活 Tensorflow 的 XLA?

我已经从源代码构建了 Tensorflow,并且正在使用它的 C API。到目前为止一切正常,我也在使用 AVX / AVX2。我从源代码构建的 Tensorflow 也是在 XLA 支持下构建的。我现在还想激活 XLA(加速线性代数),因为我希望它会再次提高推理过程中的性能/速度。

如果我现在开始跑步,我会收到以下消息:

在官方 XLA 主页 ( https://www.tensorflow.org/xla/jit ) 上,我找到了有关如何在会话级别打开 jit 的信息:

在这里(https://github.com/tensorflow/tensorflow/issues/13853)解释了如何在 C API 中设置 TF_SetConfig。在使用此 Python 代码的输出之前,我能够限制为一个核心:

我实现它如下:

因此,我认为这将有助于 XLA 激活:

这次的实现:

但是 XLA 似乎仍然被停用。有人可以帮我解决这个问题吗?或者,如果您在警告中再次获得战利品:

这是否意味着我必须在构建期间设置 XLA_FLAGS?

提前致谢!

0 投票
0 回答
1812 浏览

tensorflow - 让 Tensorflow 自动检测和使用 XLA GPU

我有一个 tensorflow 无法自动检测到的 XLA GPU,但我能够对其执行计算。我想要的结果:结果print(tf.test.is_gpu_available())是“真”。

这是我正在运行的代码:

这是相关的输出:

正如我们从这个输出中看到的那样,没有可用的 GPU,即使所有东西都分配给了设备。出了什么问题?这些是我安装的 tensorflow 包:

如果需要更多信息,请让我知道我应该提供什么。

这是完整的输出(警告:长):

0 投票
1 回答
186 浏览

tensorflow-xla - Tensorflow tfcompile:第 2 步失败

我关注https://www.tensorflow.org/xla/tfcompile,但在第 2 步失败。

怎么了?

~/git/tensorflow$ bazel build --config=opt //t1:test_graph_tfmatmul ... 信息:在文件 /home/cschen/git/tensorflow/.bazelrc 中找到适用的配置定义 build:download_clang:--crosstool_top=@local_config_download_clang //:工具链 --define=using_clang=true --action_env TF_DOWNLOAD_CLANG=1 信息:找到适用的配置定义构建:在文件 /home/cschen/git/tensorflow/.tf_configure.bazelrc 中选择:--copt=-march=native --copt=-Wno-sign-compare --host_copt=-march=native --define with_default_optimizations=true 信息:构建选项 --cpu 已更改,丢弃分析缓存。错误:目标 '//t1:test_graph_tfmatmul' 的分析失败;构建中止:没有这样的包'tools/target_cpu':在包路径上找不到BUILD文件......

我从第 2 步复制到t1/BUILD,如下所示,

~/git/tensorflow$ cat t1/BUILD load("//tensorflow/compiler/aot:tfcompile.bzl", "tf_library") ...

预期的结果是生成头文件test_graph_tfmatmul.h