TensorFlow XLA优化与Memory
TensorFlow XLA優(yōu)化與Memory
XLA概述
XLA(加速線性代數(shù))是用于優(yōu)化TensorFlow計(jì)算的線性代數(shù)的域特定編譯器。結(jié)果是在服務(wù)器與移動平臺上的速度,內(nèi)存使用率與可移植性得到了改善。最初,大多數(shù)用戶不會從XLA中看到很大的好處,通過使用即時(shí)(JIT)編譯或提前編譯(AOT)的XLA進(jìn)行試驗(yàn),針對新硬件加速器嘗試XLA。
XLA框架是實(shí)驗(yàn)性與積極的開發(fā)。盡管現(xiàn)有算子的語義,不太可能發(fā)生變化,但預(yù)計(jì)將增加更多的算子,涵蓋重要的用例。
構(gòu)建XLA
XLA與TensorFlow合作有幾個目標(biāo):
? 提高執(zhí)行速度。編譯子圖減少短暫算子的執(zhí)行時(shí)間,消除TensorFlowRuntime間的開銷,融合流水線算子,減少內(nèi)存開銷,專用于已知張量shape,允許更積極的常量傳播。
? 改善內(nèi)存使用。分析與調(diào)度內(nèi)存使用情況,原則上消除許多中間存儲緩沖區(qū)。
? 減少對自定義算子的依賴。通過改進(jìn)自動融合低級算子的性能,消除對許多自定義算子的需求,匹配手工融合的自定義算子的性能。
? 減少移動數(shù)據(jù)開銷。通過提前編譯子圖。發(fā)出可直接鏈接到另一個應(yīng)用程序的對象/頭文件,消除TensorFlow Runtime。結(jié)果可將移動推理的占用空間。減少幾個數(shù)量級。
? 提高可移植性。大部分TensorFlow程序,促進(jìn)硬件編寫新的后端程序,不用在硬件上修改運(yùn)行。與專門針對新硬件的個體單算子的方法形成對比,利用這些算子,需要重寫TensorFlow程序。
Memory雜談(DRAM,SRAM)
一個正常的40nm工藝,一個6T(6 transistors)的SRAM面積是1500.040.04= 0.24um2/SRAM。如果需要一個1Mb的SRAM,面積是1M0.24um2= 0.24mm2,大概0.5mm0.5mm。
估算是差不多合理的。40nm的CMOS工藝,feature size是40nm,一個SRAM的面積大概就是120-150F^2,算的是一樣的。
memory的面積居然都如此的標(biāo)準(zhǔn)!
為何DRAM比SRAM的面積小很多呢?有不同memory的電路圖?
(a) DRAM ; (b) SRAM
上面這個圖里,左邊是一個DRAM,一個transistor加上一個capacitor,結(jié)構(gòu)相當(dāng)簡單。右圖是一個SRAM,中間是交叉連接的兩個inverter,組成了一個典型的latch。(latch,一個digital的capacitor),左右兩個transistor當(dāng)做了開關(guān),功能與左圖DRAM pass transistor差不多。
memory的面積,SOC里放了一個512MB的SRAM,12nm的工藝下,面積是400mm^2.
尺寸是20mm*20mm。
繼續(xù)Google:
SRAM vs. DRAM in Computers
表格里CPU一般放的是SRAM,替代DRAM。SRAM用了positive feedback的latch,速度比模擬電路(一個模擬的開關(guān)對電容充電)的DRAM要快很多。
SRAM要6個transistor,DRAM才一個transistor,面積小了很多。如果需要很大的memory,DRAM在節(jié)約SOC成本占優(yōu)了。
有很特別的電容,需要一定的閾值與對抗漏電能力,DRAM的工藝,替代傳統(tǒng)logic process,特別的 DRAM process。只有三家公司提供DRAM的工藝:美光科技,三星與 SK 海力士。
繼續(xù)談成本,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的內(nèi)部,只有SRAM作為cache,替代主要的memory。
有一種所謂的Memory Hierarchy。類似金字塔形狀的結(jié)構(gòu),最大程度的優(yōu)化速度與成本。
參考資料
https://zhuanlan.zhihu.com/p/146094598
https://www.zhihu.com/question/285202403/answer/444253962
總結(jié)
以上是生活随笔為你收集整理的TensorFlow XLA优化与Memory的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CUDA编程图例
- 下一篇: pass基础架构分析