第164章 AMD

投票推薦 加入書籤 小說報錯

  AMD的總部位於桑尼維爾,只是五棟灰色的辦公樓。

  實際上這才是矽谷公司的常規形態,甲骨文那種氣派的總部不是每個公司都能建的。

  尤其是AMD和英特爾相愛相殺得非常厲害,在顯卡上也沒幹過英偉達,資金一直很緊張,根本沒資格追求表面的氣派。

  陳一然最近見了兩個氣派的總部,看到AMD的這個,甚至感覺有點寒酸。但是真的走進去,感覺也還不錯。

  唯一有點特色的,就是大堂里裝飾的幾個玻璃展櫃,裡面從K6到最新的推土機架構晶片,按年代一字排開。

  和甲骨文的安靜不同,這裡更有生氣一些,走道里經常有抱著主板顯卡以及各種部件的工程師走動,甚至空氣里有時是焊錫和咖啡的奇怪混合味道。

  一直跟著項目的哈利和代理CEO托馬斯·塞弗特一起接待了陳一然。帶著陳一然到處參觀了一下,然後領著他去了四樓。

  雖然陳一然不需要天天來上班,只是每周和AMD的人對齊一下流程就行了,但是AMD還是給他配了一個非常寬敞的四十多平的辦公室。

  辦公室的窗戶正好對著一片低矮山脈,一張L形的大號轉角辦公桌。邊上擺著一個小型工作站,甚至還配了單獨的咖啡機,還有個小冰箱裡面擺滿了可口可樂。

  看得出來,布置得很用心。

  陳一然點了點頭:「可以,你們先去忙吧,讓對接的小組過來吧,我們直接開始。」

  哈利和托馬斯點頭出去了,沒一會,四個工程師敲門走了進來。領頭的是個四十出頭的華人,戴著一副金屬框眼鏡。

  「陳先生,我是馬文,OpenCL編譯器團隊的技術主管。這三位是林、蘇尼爾和艾米,都是我們編譯器後端和內存管理組的人。

  我們小組下面,還有幾個可以配合的工程師,我們直接開始?」

  陳一然點了點頭:「行,你們先說一下你們的想法吧。」

  幾個人也沒有特意去會議室,馬文把一台筆記本電腦接上會議桌上的投影儀,就在邊上的白牆上打出了一張架構圖。

  上面是AMD OpenCL運行時的完整編譯流水線,OpenCL的C源文件經過前端解析生成中間表示,再經過統一優化器轉換成AMD IL中間語言,最後由GPU後端編譯器把IL映射到具體的超長指令槽上。

  「這是我們目前的編譯流水線,一共是四層,大概六萬多行C++。主要瓶頸在後端,超長指令打包這個環節。

  我們的GPU是超長指令字架構,編譯器需要把多條獨立的指令捆成一個執行束才能充分利用流處理單元,但是捆指令這件事非常依賴輸入代碼的結構。」

  馬文在投影儀上調出另一張PPT,上面是幾段用紅色標出來的代碼。

  「如果是比較規整的計算密集型內核,我們的後端能在百分之七十到八十的指令槽上填滿。但一旦內核里有複雜的分支或者非連續的全局內存訪問,填充率會掉到百分之四十以下。」

  蘇尼爾補充道:「我們現在的思路是分兩步走。第一步,給全局內存訪問模式識別加一個預分析。第二步,在超長指令調度器里加一個啟發式算法。」

  陳一然看著屏幕沒有馬上說話,實際上是在和茉莉討論。

  【( >ρ < 」)怪不得AMD不行,這都是啥啥啥啊。】

  四個人看陳一然沒插話,自顧自地在那討論了半天,一副非常有想法的樣子。

  陳一然實在忍不住了,捂著臉問:「你們的AMD IL中間語言那一層,是自己寫的還是沿用之前ATI的?」

  馬文看了一眼林,林是團隊裡唯一一個ATI出身的人,是在ATI被收購後順勢來的AMD。

  「是從ATI時代繼承下來的。我們做過幾輪重構,但骨架沒變。」

  「中間表示有多少個操作碼。」

  「大概四百多個。」

  「裡面有多少個是你們現在實際用到的。」

  林想了想說:「大概一半多一點。」

  陳一然喝了口可樂說:「四百多個操作碼,用到的就兩百個。我記得ATI是1985年建立的對吧,然後2006年被AMD收購的,「鬼知道這些操作碼在裡面堆了多少年了。

  你們現在的編譯流水線四層。每一層有自己的數據結構,每一層有自己的優化規則,每一層往下一層傳的時候要做格式轉換。


  你們說的都是經典方法,但現在的問題不在方法上。

  是中間表示太臃腫,會導致層間轉換丟失信息,打包階段可能根本沒有足夠的依賴信息來做最優調度。。

  這太垃圾了,我來從頭重新寫一個吧。」

  四個工程師多少有點不服氣,但是陳一然的技術權威性太強,而且一直傳說他技術涉獵異常廣泛,他們也不敢反駁。

  陳一然沒管他們,自顧自地說:「超長指令指令打包不是必須放在最後的,如果編譯器在它生成的時候就已經知道了每條指令的依賴關係和數據通路,它完全可以在生成的時候就標好哪些指令可以並行。」

  馬文推了下眼鏡:「是可以的,但意味著AMD IL中間語言那層要推倒。」

  「有問題?」

  馬文不敢貿然說話,想了一下說:「我需要上報,首先如果真要這麼做,我們的項目組需要更多人支援。其次,相關的適配工作可能也很龐大。我需要上報,這件事難度很大。」

  陳一然點點頭:「你去上報就好了,我就不管你們了,我先回家了。我的狗子不在邊上,會影響我的工作效率,我回家去開始工作了。」

  【(๑•̀ㅂ•́)و✧讓我們回去開始吧,是時候給他們展示一下什麼叫真正的技術了!給我一周,我就嚇死他們。】

章節目錄