TPU1.0理解

根據(jù)論文“數(shù)據(jù)中心的 TPU 性能分析”初略了解一下TPU實(shí)現(xiàn)

In-Datacenter Performance Analysis of a Tensor Processing Unit

結(jié)構(gòu)

TPU框圖

PCIe3 Gen3 x16

通過PCIe3.0x16與主機(jī)通信,內(nèi)部模塊一般用帶寬256-byte的路徑連接。

Matrix Multiply Unit

Matrix Multiply Unit (矩陣計(jì)算單元)是TPU的核心部分歼捏,包含256x256個(gè)MAC計(jì)算單元届囚,進(jìn)行8-bit的乘加運(yùn)算竿屹。計(jì)算結(jié)果是16-bit各淀,到累加器部分進(jìn)行累加盾鳞。

?Weight FIFO

權(quán)重由片上緩存Weight FIFO輸給矩陣計(jì)算單元潘酗,是從片外的8 GiB的DRAM里讀取的。

?Unified Buffer

大小為24 MiB雁仲,用于保存中間結(jié)果仔夺,也是矩陣計(jì)算單元的輸入。通過一個(gè)可編程的DMA來負(fù)責(zé)在CPU memory和Unified Buffer間傳輸數(shù)據(jù)攒砖。下圖可以看到24 MiB的Unified Buffer占了幾乎\frac{1}{3}的晶圓面積缸兔。

Floor Plan

控制指令

TPU指令設(shè)計(jì)遵循的是CISC復(fù)雜指令集,每條指令的平均時(shí)鐘周期CPI是10到20吹艇,指令有很多惰蜜,下面選5個(gè)最重要的講一下:

  1. Read_Host_Memory
    從CPU memory讀取數(shù)據(jù)到UB(Unified Buffer)
  2. Read_Weights
    從Weight Memory(片外DRAM)讀取權(quán)重到Weight FIFO作為矩陣運(yùn)算單元的輸入
  3. MatrixMultiply/Convolve
    讓Matrix Unit執(zhí)行矩陣乘法或者卷積計(jì)算,從Unified Buffer到Accumulator受神。一次矩陣操作抛猖,輸入B256大小的輸入變量,于256x256的權(quán)重常數(shù)相乘鼻听,得到B256的輸出财著,花費(fèi)B個(gè)流水周期來完成計(jì)算。
  4. Activate
    執(zhí)行非線性函數(shù)撑碴,如ReLU撑教、Sigmoid等。輸入來自Accumulators醉拓,輸出到Unified Buffer伟姐。
  5. Write_Host_Memory
    把數(shù)據(jù)寫回到CPU Memory病线。

CISC MatrixMultiply指令為12個(gè)字節(jié)裕坊,其中3個(gè)為Unified Buffer地址; 2是累加器地址; 4是長(zhǎng)度(有時(shí)是卷積的2個(gè)維度); 其余的是操作碼和標(biāo)志烟馅。
TPU加速的思路是讓矩陣計(jì)算單元一直被占用晰洒,因此為CISC指令設(shè)置了4級(jí)流水,每個(gè)指令在獨(dú)立的一級(jí)執(zhí)行蚀浆。 其目標(biāo)是通過將其執(zhí)行與MatrixMultiply指令重疊來隱藏其他指令(如Read_Weights等)木缝。但是涣旨,當(dāng)激活的輸入或權(quán)重?cái)?shù)據(jù)尚未就緒傍念,矩陣單元將進(jìn)入等待模式矫夷。

Systolic data flow

由于讀取大的SRAM的能耗比算術(shù)運(yùn)算高的多,矩陣計(jì)算單元通過脈沖執(zhí)行來減少對(duì) Unified Buffer的讀寫憋槐,進(jìn)而減少能量消耗双藕。下圖表示從左邊輸入的數(shù)據(jù)流和從上方加載的權(quán)重。

Systolic data flow

給定的256元乘法累加運(yùn)算通過矩陣作為對(duì)角波前移動(dòng)阳仔。此過程中權(quán)重是預(yù)先加載的忧陪,并且與數(shù)據(jù)同步。通過對(duì)控制邏輯和數(shù)據(jù)流水線操作近范,使得對(duì)于MMU而言嘶摊,256個(gè)輸入一次讀取的,并且它們立即更新到256個(gè)累加器中的一個(gè)個(gè)具體位置评矩。

具體實(shí)現(xiàn)

matrix單元就是一個(gè)典型的脈動(dòng)陣列叶堆。weight由上向下流動(dòng),activation數(shù)據(jù)從左向右流動(dòng)斥杜。在最下方有一些累加單元虱颗,

cell內(nèi)部

cell內(nèi)部結(jié)構(gòu)如上,幾組寄存器分別存儲(chǔ)weight蔗喂,activation和來自上方cell的部分和忘渔。weight從上向下傳播,可以在weight path register中存儲(chǔ)缰儿,保持不動(dòng)或者傳輸給weight register進(jìn)行運(yùn)算畦粮。weight register可以把數(shù)據(jù)發(fā)到乘法器進(jìn)行處理,也可以直接傳遞給下方的cell乖阵;同樣activation register也可以把數(shù)據(jù)發(fā)到乘法器進(jìn)行處理宣赔,或者直接傳遞給右側(cè)的cell。乘法器的輸出和Sum in register的數(shù)值求和并傳遞給下方的cell瞪浸。所有運(yùn)算和傳遞都由控制寄存器控制(通過指令決定)拉背。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市默终,隨后出現(xiàn)的幾起案子椅棺,更是在濱河造成了極大的恐慌,老刑警劉巖齐蔽,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件两疚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡含滴,警方通過查閱死者的電腦和手機(jī)诱渤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谈况,“玉大人勺美,你說我怎么就攤上這事递胧。” “怎么了赡茸?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵缎脾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我占卧,道長(zhǎng)遗菠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任华蜒,我火速辦了婚禮辙纬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叭喜。我一直安慰自己贺拣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布捂蕴。 她就那樣靜靜地躺著纵柿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪启绰。 梳的紋絲不亂的頭發(fā)上昂儒,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音委可,去河邊找鬼渊跋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛着倾,可吹牛的內(nèi)容都是我干的拾酝。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼卡者,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蒿囤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起崇决,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤材诽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后恒傻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脸侥,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年盈厘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了睁枕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖外遇,靈堂內(nèi)的尸體忽然破棺而出注簿,到底是詐尸還是另有隱情,我是刑警寧澤跳仿,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布诡渴,位于F島的核電站,受9級(jí)特大地震影響塔嬉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜租悄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一谨究、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧泣棋,春花似錦胶哲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至把敢,卻和暖如春寄摆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背修赞。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工婶恼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柏副。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓勾邦,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親割择。 傳聞我的和親對(duì)象是個(gè)殘疾皇子眷篇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容