第336章 中科院計算所!FPGA調研!硬體加速方案!
四月十號,周六。
下午一點半。
林遠騎著自行車,從北大出發,往中關村方向騎。
中科院計算技術研究所。中關村科學院南路。
上次來是十一月——863項目立項答辯。那時候他剛拿下WatchGuard的第一單,剛和周明哲建立合作。半年過去,遠望工作室變成了遠望科技,年營收從十幾萬變成了十七萬美元。
但今天不是談863。是談FPGA。
兩點差五分。計算所大門。
陳偉東已經在門口等著。
"林遠,來了。"
"陳博士。"林遠停好車,"上次說的FPGA調研——"
"走,先帶你看看實驗室。"陳偉東領著他往裡走,"FPGA實驗室的劉教授在等我們。"
計算所三樓。FPGA實驗室。
推開門,裡面擺著幾排工作檯。示波器、邏輯分析儀、開發板——密密麻麻的儀器和線纜。
一個五十多歲的男人站在中央工作檯前,頭髮花白,戴著金絲眼鏡。
"劉教授。"陳偉東介紹,"這位是林遠,北大的學生,也是我之前提到的CTIN引擎的開發者。"
劉教授轉過身,打量了一下林遠。"你就是林遠?聽說你二十歲?"
"是。"
"二十歲做安全引擎,又搞北斗硬體加速——年輕人,涉獵很廣啊。"
"劉教授過獎。"林遠說,"今天來是想請教FPGA的問題。"
"好。先看看我們的東西。"
劉教授走到工作檯前,指著一塊電路板。
"這是Xilinx的Virtex-II Pro,FPGA加PowerPC硬核。邏輯單元三萬三千個,嵌入式PowerPC 405核心,主頻三百兆。"
林遠湊近看了看。板子上密密麻麻的晶片和焊點,旁邊連著一根調試器接口下載線。
"我們在上面跑過一個DES加密的並行實現。"劉教授說,"純軟體在Pentium 4上跑,一秒鐘一萬次。換到FPGA上——八十萬次。八十倍。"
八十倍。
林遠心裡算了一下。如果FPGA能提升五十到八十倍——那就是四萬七千到七萬五千次每秒。
遠超甲方的五千次指標。
【寫到這裡我希望讀者記一下我們域名 TW 看書網解無聊,🅢🅗🅤.🅣🅦超方便 】
"功耗呢?"林遠問。
"板級功耗大概十五瓦。"劉教授說,"比DSP低,但比ASIC高。不過FPGA的優勢是可重構——算法改了,重新燒錄就行。ASIC做不到。"
"開發周期呢?"
"看項目複雜度。簡單的兩三個月,複雜的半年以上。你們要做什麼?"
林遠從背包里拿出筆記本電腦,打開一份文檔。
"這是我們的需求。"
屏幕上是一份技術規格書。
項目:北斗定位數據高速處理加速
當前瓶頸:
• ARM XScale PXA255,主頻400MHz
• 基準測試:943次/秒
• 甲方指標:5000次/秒
• 差距:5.3倍
目標:
• 用FPGA實現核心算法的硬體加速
• 目標性能:5000次/秒以上
• 功耗限制:≤10瓦(車載設備散熱限制)
• 體積限制:PCB面積≤50cm²
劉教授看了看文檔,眉頭微皺。
"北斗的定位數據處理——你們的算法是自己寫的?"
"是。"林遠說,"CTIN引擎的核心算法,包括路徑積分、坐標轉換、誤差校正。"
"算法複雜度呢?"
"核心循環是矩陣運算加浮點疊代。單精度,每次處理需要大約兩百萬次浮點運算。"
劉教授點了點頭。"如果是矩陣運算——FPGA很適合。但浮點運算在FPGA上比較麻煩,資源消耗大。"
"所以我們考慮用DSP slice。"林遠說,"Virtex-II Pro有嵌入式DSP塊,專門做乘加運算。"
"對。"劉教授說,"Xilinx的DSP48塊,18×18乘法器加48位累加器,一個周期完成一次乘加。你們的算法需要多少次乘加?"
"核心循環大約八千次乘加。"
"八千次。"劉教授算了一下,"如果用一個DSP48塊,八千個周期,三百兆主頻——一秒可以跑三萬七千次。遠超你們的五千次指標。"
"但功耗呢?"陳偉東問。
"單個DSP48塊的功耗大約五十毫瓦。加上邏輯和控制——板級功耗應該能控制在十瓦以內。"
十瓦以內。符合車載設備的散熱限制。
林遠心裡有數了。
"劉教授,如果我們要做這個項目——計算所能提供什麼支持?"
劉教授坐下來,示意他們也坐。
"兩個方案。"
"第一,你們租用我們的FPGA開發板。板子借你用,實驗室的環境隨便用。我們派研究生協助調試。費用——一個月五千塊。"
"第二,聯合申報課題。你們出應用場景和算法,我們出硬體平台和人力。課題經費走863或者自然科學基金。成果共享——論文你們一作,專利共同申請。"
林遠看了看陳偉東。
陳偉東點頭:"第二個方案更適合你們。863項目剛立項,可以掛靠在周明哲的課題下面。經費不是問題。"
"但時間——"林遠說,"我們六月之前要出原型。"
"兩個月。"劉教授想了想,"緊,但可以做。你們先把算法整理成RTL可描述的形式,我們負責硬體實現。一個月出初版,一個月聯調。"
"好。"林遠說,"第二個方案。"
從計算所出來,已經是下午五點。
夕陽把中關村的街道染成金色。
林遠推著自行車,走在科學院南路的人行道上。
FPGA方案確認了。計算所出硬體和人力,遠望出算法和應用場景。聯合申報863子課題,經費走周明哲的項目。
ARM的瓶頸——終於可以突破了。
943次每秒到5000次每秒,差五倍。FPGA可以做到五十倍以上。
甲方的指標,不再是遙不可及的目標。
但前提是——四標準平台必須先做出來。
德勤的deadline是六月。FPGA原型可以在七月完成。兩條線的時間窗口剛好錯開。
林遠拿出手機,給陳偉東發了條簡訊。
"陳博士,今天謝謝。下周一我把算法規格書發給您。"
陳偉東回覆:"好。我讓劉教授安排一個研究生對接。另外,周明哲那邊我會溝通,863子課題的事下周定。"
"好的。"
林遠騎上自行車,往北大方向騎。
風從耳邊掠過。四月的北京,氣溫剛好。
兩個月。四標準平台。
兩個月。FPGA原型。
兩條線同時推進。六月底,見分曉。
下午一點半。
林遠騎著自行車,從北大出發,往中關村方向騎。
中科院計算技術研究所。中關村科學院南路。
上次來是十一月——863項目立項答辯。那時候他剛拿下WatchGuard的第一單,剛和周明哲建立合作。半年過去,遠望工作室變成了遠望科技,年營收從十幾萬變成了十七萬美元。
但今天不是談863。是談FPGA。
兩點差五分。計算所大門。
陳偉東已經在門口等著。
"林遠,來了。"
"陳博士。"林遠停好車,"上次說的FPGA調研——"
"走,先帶你看看實驗室。"陳偉東領著他往裡走,"FPGA實驗室的劉教授在等我們。"
計算所三樓。FPGA實驗室。
推開門,裡面擺著幾排工作檯。示波器、邏輯分析儀、開發板——密密麻麻的儀器和線纜。
一個五十多歲的男人站在中央工作檯前,頭髮花白,戴著金絲眼鏡。
"劉教授。"陳偉東介紹,"這位是林遠,北大的學生,也是我之前提到的CTIN引擎的開發者。"
劉教授轉過身,打量了一下林遠。"你就是林遠?聽說你二十歲?"
"是。"
"二十歲做安全引擎,又搞北斗硬體加速——年輕人,涉獵很廣啊。"
"劉教授過獎。"林遠說,"今天來是想請教FPGA的問題。"
"好。先看看我們的東西。"
劉教授走到工作檯前,指著一塊電路板。
"這是Xilinx的Virtex-II Pro,FPGA加PowerPC硬核。邏輯單元三萬三千個,嵌入式PowerPC 405核心,主頻三百兆。"
林遠湊近看了看。板子上密密麻麻的晶片和焊點,旁邊連著一根調試器接口下載線。
"我們在上面跑過一個DES加密的並行實現。"劉教授說,"純軟體在Pentium 4上跑,一秒鐘一萬次。換到FPGA上——八十萬次。八十倍。"
八十倍。
林遠心裡算了一下。如果FPGA能提升五十到八十倍——那就是四萬七千到七萬五千次每秒。
遠超甲方的五千次指標。
【寫到這裡我希望讀者記一下我們域名 TW 看書網解無聊,🅢🅗🅤.🅣🅦超方便 】
"功耗呢?"林遠問。
"板級功耗大概十五瓦。"劉教授說,"比DSP低,但比ASIC高。不過FPGA的優勢是可重構——算法改了,重新燒錄就行。ASIC做不到。"
"開發周期呢?"
"看項目複雜度。簡單的兩三個月,複雜的半年以上。你們要做什麼?"
林遠從背包里拿出筆記本電腦,打開一份文檔。
"這是我們的需求。"
屏幕上是一份技術規格書。
項目:北斗定位數據高速處理加速
當前瓶頸:
• ARM XScale PXA255,主頻400MHz
• 基準測試:943次/秒
• 甲方指標:5000次/秒
• 差距:5.3倍
目標:
• 用FPGA實現核心算法的硬體加速
• 目標性能:5000次/秒以上
• 功耗限制:≤10瓦(車載設備散熱限制)
• 體積限制:PCB面積≤50cm²
劉教授看了看文檔,眉頭微皺。
"北斗的定位數據處理——你們的算法是自己寫的?"
"是。"林遠說,"CTIN引擎的核心算法,包括路徑積分、坐標轉換、誤差校正。"
"算法複雜度呢?"
"核心循環是矩陣運算加浮點疊代。單精度,每次處理需要大約兩百萬次浮點運算。"
劉教授點了點頭。"如果是矩陣運算——FPGA很適合。但浮點運算在FPGA上比較麻煩,資源消耗大。"
"所以我們考慮用DSP slice。"林遠說,"Virtex-II Pro有嵌入式DSP塊,專門做乘加運算。"
"對。"劉教授說,"Xilinx的DSP48塊,18×18乘法器加48位累加器,一個周期完成一次乘加。你們的算法需要多少次乘加?"
"核心循環大約八千次乘加。"
"八千次。"劉教授算了一下,"如果用一個DSP48塊,八千個周期,三百兆主頻——一秒可以跑三萬七千次。遠超你們的五千次指標。"
"但功耗呢?"陳偉東問。
"單個DSP48塊的功耗大約五十毫瓦。加上邏輯和控制——板級功耗應該能控制在十瓦以內。"
十瓦以內。符合車載設備的散熱限制。
林遠心裡有數了。
"劉教授,如果我們要做這個項目——計算所能提供什麼支持?"
劉教授坐下來,示意他們也坐。
"兩個方案。"
"第一,你們租用我們的FPGA開發板。板子借你用,實驗室的環境隨便用。我們派研究生協助調試。費用——一個月五千塊。"
"第二,聯合申報課題。你們出應用場景和算法,我們出硬體平台和人力。課題經費走863或者自然科學基金。成果共享——論文你們一作,專利共同申請。"
林遠看了看陳偉東。
陳偉東點頭:"第二個方案更適合你們。863項目剛立項,可以掛靠在周明哲的課題下面。經費不是問題。"
"但時間——"林遠說,"我們六月之前要出原型。"
"兩個月。"劉教授想了想,"緊,但可以做。你們先把算法整理成RTL可描述的形式,我們負責硬體實現。一個月出初版,一個月聯調。"
"好。"林遠說,"第二個方案。"
從計算所出來,已經是下午五點。
夕陽把中關村的街道染成金色。
林遠推著自行車,走在科學院南路的人行道上。
FPGA方案確認了。計算所出硬體和人力,遠望出算法和應用場景。聯合申報863子課題,經費走周明哲的項目。
ARM的瓶頸——終於可以突破了。
943次每秒到5000次每秒,差五倍。FPGA可以做到五十倍以上。
甲方的指標,不再是遙不可及的目標。
但前提是——四標準平台必須先做出來。
德勤的deadline是六月。FPGA原型可以在七月完成。兩條線的時間窗口剛好錯開。
林遠拿出手機,給陳偉東發了條簡訊。
"陳博士,今天謝謝。下周一我把算法規格書發給您。"
陳偉東回覆:"好。我讓劉教授安排一個研究生對接。另外,周明哲那邊我會溝通,863子課題的事下周定。"
"好的。"
林遠騎上自行車,往北大方向騎。
風從耳邊掠過。四月的北京,氣溫剛好。
兩個月。四標準平台。
兩個月。FPGA原型。
兩條線同時推進。六月底,見分曉。