【问题标题】:Tensorflow AVX SupportTensorFlow AVX 支持
【发布时间】:2016-07-21 02:21:19
【问题描述】:

有谁知道 Tensorflow 编译的可执行文件 here 是否包含 AVX 支持?我一直在 Google Compute Engine 上运行该编译版本的 Tensorflow,而且速度很慢。狗慢。冷糖浆慢。洛杉矶交通缓慢。 This article 表示使用 AVX 支持进行编译可以显着提高 Google Compute Engine 的性能,但是当我按照该站点上的编译过程进行操作时,它会失败。只是想知道 AVX 是否已经在可执行文件中?

【问题讨论】:

  • objdump -d之类的东西拆开它,然后寻找%ymm。如果您曾经将该字符串视为寄存器名称的一部分,则代码使用的是 AVX。 (英特尔语法不使用 % 前缀将寄存器名称与符号名称分开,因此只需查找 ymm0 到 ymm15)。当然,这不会检测到像vmulps %xmm0, %xmm1, %xmm2 这样的AVX 128 位指令,所以你也可以寻找vmulps。前导 v 和(通常)3 个操作数表示它是 AVX 指令,而不是传统 SSE。

标签: performance tensorflow machine-learning google-compute-engine avx


【解决方案1】:

不,tensorflow 默认发行版是在 without CPU extensions 构建的,例如 SSE4.1、SSE4.2、AVX、AVX2、FMA 等,因为这些构建(例如来自 pip install tensorflow 的构建)旨在与 as 兼容尽可能多的 CPU。另一个论点是,即使有了这些扩展,CPU 也比 GPU 慢很多,预计中型和大型机器学习训练将在 GPU 上执行。另请参阅related discussion here

这篇文章是对的,AVX 和 FMA 指令显着(高达 300%!)加速了线性代数计算,即点积、矩阵乘法、卷积等。如果你想使用它,我将不得不通过源代码编译 tensorflow,在this question 中讨论。

【讨论】:

    【解决方案2】:

    这是最简单的方法。只有一步。

    这很容易,并且对速度有很大影响。可使训练速度提高 3 倍。

    参考 custom builds of tensorflow

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2020-11-15
      • 1970-01-01
      • 2023-03-03
      • 2019-04-25
      • 2022-12-26
      • 2012-06-02
      • 1970-01-01
      相关资源
      最近更新 更多