TensorFlow XLA加速编译器
加速线性代数器(Accelerated linear algebra,XLA)是线性代数领域的专用编译器。根据 https://www.tensorflow.org/performance/xla/,它仍处于实验阶段,用于优化 TensorFlow 计算。
XLA 可以提高服务器和移动平台的执行速度、内存使用率和可移植性。提供了双向 JIT(Just In Time)编译或 AoT(Ahead of Time)编译。使用 XLA,可以生成平台相关的二进制文件(针对大量平台,如 x64、ARM等),可以针对内存和速度进行优化。
准备工作
目前,XLA 并不包含在 TensorFlow 的二进制版本中。用时需要从源代码构建它。
从源代码构建 TensorFlow,需要 TensorFlow 版的 LLVM 和 Bazel。TensorFlow.org 仅支持从 macOS 和 Ubuntu 的源代码构建。从源代码构建 TensorFlow 所需的步骤如下(参见https://www.tensorflow.org/install/install_sources):

  1. 确定要安装哪个版本的 TensorFlow——仅支持 CPU 的 TensorFlow 或支持 GPU 的 TensorFlow。

  2. 复制 TensorFlow 存储库:

  3. 安装以下依赖:
    • Bazel
    • TensorFlow 的 Python 依赖项
    • 对GPU版本,需要NVIDIA软件包以支持TensorFlow

  4. 配置安装。需要选择不同的选项,如 XLA、Cuda 支持、Verbs 等:
    ./configure

  5. 使用 bazel-build。

  6. 对于仅使用 CPU 的版本:

  7. 如果有兼容的 GPU 设备,并且需要 GPU 支持,请使用:

  8. 成功运行后,获得一个脚本:build_pip_package。按如下所示运行这个脚本来构建 whl 文件:

  9. 安装 pip 包:

现在你已经准备好了。
具体做法
TensorFlow 生成 TensorFlow 图表。在 XLA 的帮助下,可以在任何新类型的设备上运行 TensorFlow 图表。

• JIT 编译:在会话级别中打开JIT编译:

• 这是手动打开 JIT 编译:

• 还可以通过将操作指定在特定的 XLA 设备(XLA_CPU 或 XLA_GPU)上,通过 XLA 来运行计算:

AoT编译:独立使用 tfcompile 将 TensorFlow 图转换为不同设备(手机)的可执行代码。
TensorFlow.org 中关于 tfcompile 的论述:tfcompile 采用一个由 TensorFlow 的 feed 和 fetch 概念所标识的子图,并生成一个实现该子图的函数。feed 是函数的输入参数,fetch 是函数的输出参数。所有的输入必须完全由 feed 指定;生成的剪枝子图不能包含占位符或变量节点。通常将所有占位符和变量指定值,这可确保生成的子图不再包含这些节点。生成的函数打包为一个 cc_library,带有导出函数签名的头文件和一个包含实现的对象文件。用户编写代码以适当地调用生成的函数。

TensorFlow XLA加速编译器相关推荐

  1. TensorFlow XLA优化原理与示例

    TensorFlow XLA优化原理与示例 XLA概述 XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器.结果是在服务器和移动平台上的速度,内存使用率和可移植性得到了改 ...

  2. 使用TensorFlow XLA辅助实现BERT预训练加速

    XLA 简介 XLA 是 TensorFlow 图表的编译器,只需更改极少的源代码,便可加速您的 TensorFlow ML 模型.这篇文章将介绍 XLA,并说明如何在您自己的代码中试用 XLA. 在 ...

  3. TensorFlow XLA优化与Memory

    TensorFlow XLA优化与Memory XLA概述 XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器.结果是在服务器与移动平台上的速度,内存使用率与可移植性得到 ...

  4. 用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割

    用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割 Accelerating Medical Image Segmentation with NVIDIA Tensor ...

  5. TensorFlow XLA 初探

    在此分享一下个人在学习XLA时的一点理解和心得~ XLA(加速线性代数)是一种针对特定领域的线性代数编译器,能够加快 TensorFlow 模型的运行速度,而且可能完全不需要更改源代码.它可以提高运行 ...

  6. Tensorflow XLA

    XLA XLA(Accelerated Linear Algebra)是TensorFlow计算图的编译器. 官网: https://www.tensorflow.org/xla?hl=zh-cn 基 ...

  7. Tensorflow 指令加速

    一直没注意过使用Tensorflow的时候有一条warning: Warning: your cpu supports instructions that this tensorflow binary ...

  8. 深入浅出TensorFlow(七)TensorFlow计算加速

    2017年2月16日,Google正式对外发布Google TensorFlow 1.0版本,并保证本次的发布版本API接口完全满足生产环境稳定性要求.这是TensorFlow的一个重要里程碑,标志着 ...

  9. tensorflow XLA 笔记

    笔记 通过session_config 开启XLA 特定op关闭 XLA 通过session_config 开启XLA from tensorflow.core.protobuf import con ...

最新文章

  1. mysql 数据库 数组类型转换_mysql数字类型的数据如何进行转换?
  2. .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?
  3. 改动下ICTCLAS4J 0.9.1 提供了分词速度
  4. Python中的自定义进程和进程池
  5. ssl提高组周六模拟赛【2018.9.15】
  6. 高速率AVS整数变换的汇编实现与优化
  7. 轻量级分布式任务调度平台 XXL-JOB
  8. Flask构建微电影(一)
  9. 数字字符减去数字字符0就是数字
  10. 华中科技大学计算机启明班,华中科技大学启明学院创新实验班管理办法
  11. 413 Arithmetic Slices
  12. android指纹测试,Android指纹识别
  13. c语言程序设计大赛 作品,撒花 | C语言程序设计大赛、数据结构大赛圆满成功!...
  14. BeiJing2006 狼抓兔子
  15. 水星mw310r虚拟服务器,水星MW310R(V1-V4)路由器桥接设置教程 | 192路由网
  16. Linux如何终止D状态的进程
  17. BUGKU--web详解
  18. TeamViewer轻松解决企业远程办公安全隐患
  19. 【微信小程序】微信小程序如何使用自定义的图标--学习微信小程序之路05
  20. PEMFC燃料电池机理模型

热门文章

  1. 2022-2028年中国儿童医疗行业深度调研及投资前景预测报告
  2. 2022-2028年中国快捷酒店行业市场全景评估及前瞻分析报告
  3. c语言使用指定字符串替换特定的子串
  4. 使用哈工大LTP进行文本命名实体识别并保存到txt
  5. 卷积神经网络通俗解读
  6. 三段式LLVM编译器
  7. TVMNN编译Compiler栈
  8. TVM部署预定义模型
  9. MindArmour差分隐私
  10. Linux 2 的 Windows 子系统上发布 CUDA