ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TensorFlow XLA优化与Memory

2021-12-08 06:31:23  阅读:228  来源: 互联网

标签:memory SRAM Memory XLA 算子 DRAM TensorFlow


TensorFlow XLA优化与Memory

XLA概述

XLA(加速线性代数)是用于优化TensorFlow计算的线性代数的域特定编译器。结果是在服务器与移动平台上的速度,内存使用率与可移植性得到了改善。最初,大多数用户不会从XLA中看到很大的好处,通过使用即时(JIT)编译或提前编译(AOT)的XLA进行试验,针对新硬件加速器尝试XLA。

XLA框架是实验性与积极的开发。尽管现有算子的语义,不太可能发生变化,但预计将增加更多的算子,涵盖重要的用例。

构建XLA

XLA与TensorFlow合作有几个目标:

  • 提高执行速度。编译子图减少短暂算子的执行时间,消除TensorFlowRuntime间的开销,融合流水线算子,减少内存开销,专用于已知张量shape,允许更积极的常量传播。
  • 改善内存使用。分析与调度内存使用情况,原则上消除许多中间存储缓冲区。
  • 减少对自定义算子的依赖。通过改进自动融合低级算子的性能,消除对许多自定义算子的需求,匹配手工融合的自定义算子的性能。
  • 减少移动数据开销。通过提前编译子图。发出可直接链接到另一个应用程序的对象/头文件,消除TensorFlow Runtime。结果可将移动推理的占用空间。减少几个数量级。
  • 提高可移植性。大部分TensorFlow程序,促进硬件编写新的后端程序,不用在硬件上修改运行。与专门针对新硬件的个体单算子的方法形成对比,利用这些算子,需要重写TensorFlow程序。

Memory杂谈(DRAM,SRAM)

一个正常的40nm工艺,一个6T(6 transistors)的SRAM面积是150*0.04*0.04= 0.24um2/SRAM。如果需要一个1Mb的SRAM,面积是1M*0.24um2= 0.24mm2,大概0.5mm*0.5mm。

估算是差不多合理的。40nm的CMOS工艺,feature size是40nm,一个SRAM的面积大概就是120-150F^2,算的是一样的。

memory的面积居然都如此的标准!

为何DRAM比SRAM的面积小很多呢?有不同memory的电路图?

 

 (a) DRAM ; (b) SRAM

上面这个图里,左边是一个DRAM,一个transistor加上一个capacitor,结构相当简单。右图是一个SRAM,中间是交叉连接的两个inverter,组成了一个典型的latch。(latch,一个digital的capacitor),左右两个transistor当做了开关,功能与左图DRAM pass transistor差不多。

memory的面积,SOC里放了一个512MB的SRAM,12nm的工艺下,面积是400mm^2.
尺寸是20mm*20mm。

继续Google:

SRAM vs. DRAM in Computers

表格里CPU一般放的是SRAM,替代DRAM。SRAM用了positive feedback的latch,速度比模拟电路(一个模拟的开关对电容充电)的DRAM要快很多。

SRAM要6个transistor,DRAM才一个transistor,面积小了很多。如果需要很大的memory,DRAM在节约SOC成本占优了。

有很特别的电容,需要一定的阈值与对抗漏电能力,DRAM的工艺,替代传统logic process,特别的 DRAM process。只有三家公司提供DRAM的工艺:美光科技,三星与 SK 海力士。

继续谈成本,Google到了下面这句话:

Logic processes - those used for CPUs - are also more expensive. A logic wafer might cost $3500 vs $1600 for DRAM. Intel's logic wafers may cost as much $5k. That's costly real estate.

 

 

 SRAM的成本压力,CPU上不会集成大的DRAM,把DRAM放在片外。CPU的内部,只有SRAM作为cache,替代主要的memory。

有一种所谓的Memory Hierarchy。类似金字塔形状的结构,最大程度的优化速度与成本。

 

 

 

参考资料

https://zhuanlan.zhihu.com/p/146094598

https://www.zhihu.com/question/285202403/answer/444253962

标签:memory,SRAM,Memory,XLA,算子,DRAM,TensorFlow
来源: https://www.cnblogs.com/wujianming-110117/p/15659685.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有