TensorFlow XLA加速编译器
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):
确定要安装哪个版本的 TensorFlow——仅支持 CPU 的 TensorFlow 或支持 GPU 的 TensorFlow。
复制 TensorFlow 存储库:
安装以下依赖:
• Bazel
• TensorFlow 的 Python 依赖项
• 对GPU版本,需要NVIDIA软件包以支持TensorFlow配置安装。需要选择不同的选项,如 XLA、Cuda 支持、Verbs 等:
./configure使用 bazel-build。
对于仅使用 CPU 的版本:
如果有兼容的 GPU 设备,并且需要 GPU 支持,请使用:
成功运行后,获得一个脚本:build_pip_package。按如下所示运行这个脚本来构建 whl 文件:
安装 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加速编译器相关推荐
- TensorFlow XLA优化原理与示例
TensorFlow XLA优化原理与示例 XLA概述 XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器.结果是在服务器和移动平台上的速度,内存使用率和可移植性得到了改 ...
- 使用TensorFlow XLA辅助实现BERT预训练加速
XLA 简介 XLA 是 TensorFlow 图表的编译器,只需更改极少的源代码,便可加速您的 TensorFlow ML 模型.这篇文章将介绍 XLA,并说明如何在您自己的代码中试用 XLA. 在 ...
- TensorFlow XLA优化与Memory
TensorFlow XLA优化与Memory XLA概述 XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器.结果是在服务器与移动平台上的速度,内存使用率与可移植性得到 ...
- 用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割
用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割 Accelerating Medical Image Segmentation with NVIDIA Tensor ...
- TensorFlow XLA 初探
在此分享一下个人在学习XLA时的一点理解和心得~ XLA(加速线性代数)是一种针对特定领域的线性代数编译器,能够加快 TensorFlow 模型的运行速度,而且可能完全不需要更改源代码.它可以提高运行 ...
- Tensorflow XLA
XLA XLA(Accelerated Linear Algebra)是TensorFlow计算图的编译器. 官网: https://www.tensorflow.org/xla?hl=zh-cn 基 ...
- Tensorflow 指令加速
一直没注意过使用Tensorflow的时候有一条warning: Warning: your cpu supports instructions that this tensorflow binary ...
- 深入浅出TensorFlow(七)TensorFlow计算加速
2017年2月16日,Google正式对外发布Google TensorFlow 1.0版本,并保证本次的发布版本API接口完全满足生产环境稳定性要求.这是TensorFlow的一个重要里程碑,标志着 ...
- tensorflow XLA 笔记
笔记 通过session_config 开启XLA 特定op关闭 XLA 通过session_config 开启XLA from tensorflow.core.protobuf import con ...
最新文章
- mysql 数据库 数组类型转换_mysql数字类型的数据如何进行转换?
- .netcore 如何获取系统中所有session_集群化部署,Spring Security 要如何处理 session 共享?
- 改动下ICTCLAS4J 0.9.1 提供了分词速度
- Python中的自定义进程和进程池
- ssl提高组周六模拟赛【2018.9.15】
- 高速率AVS整数变换的汇编实现与优化
- 轻量级分布式任务调度平台 XXL-JOB
- Flask构建微电影(一)
- 数字字符减去数字字符0就是数字
- 华中科技大学计算机启明班,华中科技大学启明学院创新实验班管理办法
- 413 Arithmetic Slices
- android指纹测试,Android指纹识别
- c语言程序设计大赛 作品,撒花 | C语言程序设计大赛、数据结构大赛圆满成功!...
- BeiJing2006 狼抓兔子
- 水星mw310r虚拟服务器,水星MW310R(V1-V4)路由器桥接设置教程 | 192路由网
- Linux如何终止D状态的进程
- BUGKU--web详解
- TeamViewer轻松解决企业远程办公安全隐患
- 【微信小程序】微信小程序如何使用自定义的图标--学习微信小程序之路05
- PEMFC燃料电池机理模型