之前的幾篇基本都是在講,復(fù)興的深度學(xué)習(xí)技術(shù)讓內(nèi)存和計(jì)算單元之間的GAP變得更大了,這個(gè)問(wèn)題已經(jīng)從傳統(tǒng)的Memory Wall的討論打了PIM的時(shí)代。說(shuō)道PIM, Porcessor in Memory, 筆者在2014年的時(shí)候參加過(guò)一個(gè)Intel的高逼格的會(huì)議,當(dāng)時(shí)3DXP已經(jīng)在開(kāi)發(fā),Intel的同學(xué)講,未來(lái)的CPU會(huì)坐在一個(gè)巨大的內(nèi)存結(jié)構(gòu)上,當(dāng)時(shí)剛剛普及的NAND Flash技術(shù)只是個(gè)臨時(shí)方案。因?yàn)镹AND Flash和CPU之間的連接總是有一種,茶壺倒餃子的感覺(jué)。2014年的時(shí)候,深度學(xué)習(xí)應(yīng)該是剛剛開(kāi)始,大家都在糾結(jié)如何把數(shù)據(jù)從CPU傳遞到GPU,(其實(shí),現(xiàn)在大家還在糾結(jié))。 之后,借著大數(shù)據(jù)和深度學(xué)習(xí)的東風(fēng),PIM一下子流行起來(lái)。其實(shí),PIM并不是一個(gè)新概念, 每一個(gè)很靠譜的PIM的綜述文章都會(huì)講那個(gè)開(kāi)始-The Berkeley IRAM Project。 和他的親兄弟RISC-V不一樣,IRAM的命運(yùn)不濟(jì),沒(méi)有走到工業(yè)化這條路上。對(duì)于這個(gè)項(xiàng)目,David Patterson 大神在他的《Microprocessors in 2020》都講過(guò)這個(gè)。大神就是大神,如果你現(xiàn)在看看這篇文章,會(huì)發(fā)現(xiàn)這個(gè)世界上的預(yù)言并不總像《滬市一萬(wàn)點(diǎn)不是夢(mèng)》一樣不靠譜。 文章的內(nèi)容總結(jié)如下:
一句話,IRAM并沒(méi)有像大神的RISC和RAID一樣被工業(yè)屆買單,但是Intel目前對(duì)于DeepLearning的看家吃法的家伙AVX-512就是加專用向量處理器的例子。【1】 另一個(gè)比較有代表意義的就是寒武紀(jì)的大電腦了。上一節(jié)的IRAM只是加了一個(gè)向量處理器在哪里,當(dāng)時(shí)主要的想法是做并行計(jì)算,但是一直到現(xiàn)在,并行計(jì)算依然對(duì)于廣大的程序猿來(lái)講還是比較困難的。在IRAM的指令集的角度上,對(duì)比了標(biāo)量和向量實(shí)現(xiàn)并行的對(duì)比。 看到這個(gè),做芯片的同學(xué)是不是想到了SPARC,'While slower then recent Intel offerings, architecturally UltraSparc remains a very interesting microprocessor with unique (and very compiler friendly) organization of registers. And as we mentioned before it is a big Endean microprocessor, which is actually the only right way to build microprocessors :-).'[2] 因此,DaDianNao的創(chuàng)新就在從計(jì)算機(jī)體系結(jié)構(gòu)的角度,把一個(gè)NFU和內(nèi)存結(jié)合。如何說(shuō)IRAM是一個(gè)通用方案的話,Dadiannao就是一個(gè)專用的方案了。要知道,在2014年,大部分用戶還在忙著調(diào)整GPGPU的參數(shù),而DaDiannao類似于一個(gè)AI加速器的開(kāi)山祖師,創(chuàng)建了RAM+NFU的流派。 SSDFans的同學(xué)們都知道,早在1985年,Toshiba就發(fā)明了NAND Flash,最近幾年NAND Flash的大事就是蓋樓,從平面到了立體,本來(lái)大家在15nm(1Y)之后,還要接著想辦法挖溝。用了3D技術(shù)之后,一下子回到了40nm的幸福時(shí)光,每家都在大干快上,最高記錄目前是512層。[3] 其實(shí),DRAM也在搞同樣的事情,和NAND Flash不同,NAND Flash是摩天大樓,而DRAM則是6層的板樓。 對(duì)的,HMC和HBM所用的Memory還是普通的DRAM芯片,只是用新的芯片封裝工藝和計(jì)算芯片集成。HBM的使用和DRAM的使用并沒(méi)有大的區(qū)別。這個(gè)和最新的AMD的ZEN2 Rome的CPU類似,7nm的計(jì)算die和14nm的IOdie合封。目前在hyerpscale,特別是OCP里面,一個(gè)chiplet的概念特別流行chiplet[4]. 這里不得不說(shuō)一下我的老東家Avago就特立獨(dú)行。人家整了一個(gè)比V100還大的獨(dú)立片子[5],21,000,000,000的晶體管,7nm一句話,俺能賣出去,管什么良率問(wèn)題。 因此,很自然,通過(guò)牛逼的工藝,把memory和計(jì)算單元合體,大家都在做,包括筆者供職的Xilinx也在搞AICore和HBM。現(xiàn)在的AI芯片,如果沒(méi)有HBM的配置,估計(jì)都不好意思出門(mén)了。 不知道為什么,段教授選了一個(gè)這個(gè)例子。 如果有懂行的同學(xué)可以評(píng)論一下。好了,這個(gè)段落主要是將講了在DRAM上的各種嘗試,2D和3D都有,但是基本上memory和xPU之間的界限還是明顯的,雖然在一張床上,還是沒(méi)有水乳交融。比較關(guān)心業(yè)界動(dòng)態(tài)的,這一節(jié)基本上是靠譜的技術(shù),都可以實(shí)現(xiàn)的。下一節(jié)應(yīng)該都是腦洞了。 [1] https://software.intel.com/en-us/articles/intel-advanced-vector-extensions-512-intel-avx-512-new-vector-neural-network-instruction [2] http://www./Articles/Linux_vs_Solaris/sparc_vs_x86.shtml [3]https:///3d-nand-flash-wars-begin/ [4]https://www./news/article/Chiplet-Ecosystem-Gathering-Momentum [5]https://www./2019/06/24/bringing-big-bandwidth-to-large-enterprises/ 高端微信群介紹
|
|