问题标签 [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 回答
185 浏览

pytorch - 从 TPU 保存的 pytorch 模型在 CPU 上运行

我找到了有趣的模型 - 问题生成器,但无法运行它。我收到一个错误:

我简单地搜索了一下,发现“torch_xla”是一种用于在 TPU 上训练 pytorch 模型的东西。但是我想在 cpu 上本地运行它(当然是为了推理),当 pytorch 尝试加载 tpu 绑定的张量时出现此错误。我该如何解决?

这是我试过的模型:https ://huggingface.co/mrm8488/t5-base-finetuned-question-generation-ap

0 投票
0 回答
717 浏览

compilation - 使用 jax 时 XLA 的 jit 编译速度非常慢

我正在使用 Jax 做一些机器学习工作。Jax 使用 XLA 进行一些即时编译以加速,但编译本身在 CPU 上太慢了。我的情况是 CPU 只会使用一个内核来进行编译,这根本没有效率。

我找到了一些答案,如果我可以使用 GPU 进行编译,它会非常快。谁能告诉我如何使用 GPU 来完成编译部分?由于我没有对编译进行任何配置。谢谢!

问题的一些补充:我正在使用 Jax 计算 grad 和 hessian,这会使编译非常慢。代码如下:

0 投票
0 回答
38 浏览

tensorflow - XLA rng-bit-generator 占用太多内存

XLA 为这个张量分配了 4G 的内存。其大小似乎与批量大小成比例。这对我来说没有意义,它似乎不是要存储在 HBM 中的模型图的一部分。我使用 TPUv3。

除了模型的初始化,我不使用任何随机操作。此外,我为所有权重声明了 bfloat16,但这是一个 u32 张量。

上述分配的原因可能是什么?我使用来自:https ://github.com/kamenbliznashki/pixel_models 的像素钉

问题:

  • u32当我所有的权重/模型定义(包括全局环境标志)都使用 BF16 时,为什么这个张量有一个类型?
  • 为什么要使用 rng-bit-generator?
0 投票
0 回答
43 浏览

tensorflow - 为什么 TensorFlow XLA 需要许多新的 xla op 内核?

在关于 XLA 的 TensorFlow 代码中,我看到了关于许多 OP 的内核,例如 compiler/tf2xla/kernels/concat_op. 好像是重复的core/kernels/concat_op。为什么compiler/tf2xla/kernels/concat_op需要类似的操作?为什么不直接替换它core/kernels/concat_op来保存代码呢?

0 投票
1 回答
174 浏览

gpu - CPU 上的 XLA——收益从何而来?

我知道 XLA 为计算图执行自动内核融合,这在减少 GPU 上的内存带宽使用方面很方便。将 XLA 用于 CPU 可以获得哪些收益?在融合计算而不将中间结果写入 L1 缓存时,原理是否相同?我将不胜感激外行的解释。

0 投票
0 回答
117 浏览

pytorch - Colab TPU 在创建模型时崩溃并重新启动

我正在使用 Pytorch,我可以在 Colab GPU 上训练我的模型。我的模型不是很大。大约是10M的参数。当我尝试在 Colab TPU 上进行训练时,会话突然崩溃并重新启动。我尝试了 XLA 的每晚版本和默认版本。我检查了它没有增加的RAM。

谢谢你的帮助

0 投票
0 回答
40 浏览

tensorflow - 带有 XLA 的 TensorFlow 没有充分利用 CPU 容量

我创建了一个在 Tensorflow 2.5 中实现的 Monte-Carlo 模拟模型。该模型主要由 a 内的向量乘法组成tf.while_loop。我正在对具有 8 个虚拟 CPU 的 Linux 机器上的性能进行基准测试。当我在图形模式下运行模型(没有 XLA 优化)时,模型充分利用了所有 8 个 CPU(使用命令我可以看到 %CPU 接近 800% top)。但是,当我在使用 XLA 编译后运行模型时(通过使用jit_compile=True内部@tf.function装饰器),我可以看到 %CPU 利用率接近 250%。有没有办法强制 TensorFlow 使用 XLA 的所有可用 CPU 容量。

我已经尝试过更改inter_op_parallelismintra_op_parallelism设置。虽然将两个线程设置都设置为 1 会将 CPU 利用率从 250% 降低到 100%,但将它们增加到 8 不会将利用率提高到 250% 以上。

关于可能发生的事情的任何帮助和建议?

0 投票
0 回答
20 浏览

llvm - “选择重新组合”LLVM 6.0 的预期类型错误

我目前正在尝试使 LLVM 9.0 或更高版本(由 TF XLA 转储)与 FPGA 的 LLVM 6.0 版本兼容。

所以我从 XLA 中获取了 LLVM IR,但我需要将其转换为 LLVM-6.0 位码文件。所以我使用“llvm-as-6.0 xxx.ll”来转换文件。我已经在用户指南等的帮助下调整了大部分内容。所以我正在努力处理包含“select reassoc”的行。一个有一些上下文的例子(完整的代码在这里太长了):

例如,我得到这里的错误:

我很高兴知道,为什么这在 llvm IR 6.0 或更低版本中不起作用,因为 select 和 reassoc 分别工作得很好。我也不知道可能缺少什么类型。这个例子的解决方案当然会很棒。

0 投票
0 回答
31 浏览

tensorflow - 如何在张量流中获得粗粒度的操作级图

我想使用 tensorflow 来获取完整的计算图(包括前向、后向和参数更新)。我尝试了 tf.functions,但我得到的图太细了,因为许多操作(例如 Adam)被分成更小的运算符(add、mul、div 等)。那么有什么方法可以得到粗粒度的操作级图吗?非常感谢!

0 投票
0 回答
127 浏览

tensorflow - 在 tensorflow 1.15 中,使用显式 XLA 编译和 Auto-clustering 有什么区别?

我正在尝试学习如何将 XLA 用于我的模型。我在这里查看官方文档:https ://www.tensorflow.org/xla#enable_xla_for_tensorflow_models 。据记载,有两种方法可以启用 XLA: 1) 显式编译,通过使用@tf.function(jit_compile=True)来装饰您的训练函数。2)通过设置环境变量进行自动集群。

因为我使用的是 tensorflow 1.15,而不是 2.x。所以我认为第二种方法与使用此语句相同:

您还可以从这里找到信息:https ://www.tensorflow.org/xla/tutorials/autoclustering_xla 。看来这是他们在 tf2.x 中使用的:

我认为它们是相同的,如果我错了,请纠正我。

好的,所以如果使用第一种方法,我认为在 tf1.15 中,这相当于使用

所以,我的问题是我是否习惯于 tf.xla.experimental.compile(computation)装饰我的整个训练功能。这是否等同于使用

? 有人知道吗?非常感激。