為什麼最近幾年fpga變得越發受大家重視了?
英特爾發布了帶有arria10 fpga的新一代處理器,iphone7集成了一顆fpga用於代替m7,Google也使用大量fpga用於深度學習。
本人是在校電子專業學生,學校主要教授單片機,雖然學校也開設了fpga的課程,但並未感受到對比於單片機,其優勢在什麼地方。想知道 1.fpga到底相較於傳統處理器在哪些方面更有優勢?是否類似於顯卡與cpu的關係呢? 2.fpga在未來五到十五年里的發展方向會是怎麼樣?特別是在消費電子領域會有爆發點嗎?3.對相關專業學生有什麼建議嗎?
FPGA的發明就是提高數字電路的重複利用性,通過可編程的方式實現不同的電路邏輯功能。隨著FPGA結構的不斷演變和工藝的不斷提升,在FPGA內部集成了越來多的資源,比如BRAM、PLL、DSP、Transceiver、 DDR IP以及處理器ARM等,可以說功能變得越來越強大,用來輔助CPU計算,也獲得了協處理器的名稱。
針對樓主的問題:
1)與處理器的對比:FPGA與處理器是不一樣的硬體結構,所以無法直接進行對比,FPGA是以可編程的數字電路為設計理念(通過編程改變內部電路邏輯),而CPU是以邏輯計算為設計出發點。FPGA擅長的領域是數字信號處理,兼容多電平標準的介面可以互聯各種高速電子器件,比如高速ADC和DAC、光纖收發器等,同時豐富的IP資源保證了有豐富的外設,比如SDRAM、PCIE介面、乙太網PHY、SATA介面等等。從外設上看,FPGA可搭載的外設和CPU區別的不是太大,該有的都有了。2)與GPU的對比:FPGA可以和GPU在並行計算上進行對比,更確切的說是GPGPU(通用計算GPU)。FPGA的並行處理體現在邏輯單元的並發性和流水線的處理方式上。並發性指的是各個邏輯模塊相互獨立處理,依賴各自的電路資源同時工作;流水線的處理方式就是將任務切片,同一時刻可以多任務執行(FPGA的並行優勢更多的體現於此)。此外FPGA帶有豐富的片上存儲資源,可以大大減少訪問片外存儲的延遲,提高計算性能(訪問SDRAM儲存大約是訪問寄存器存儲延遲的幾百倍以上)。GPU的並行性體現在多核上,計算任務通過編譯器編譯完成之後分配到每個計算單元,每個計算單元同時工作,計算完成之後通過多級內存管理(一般為三級,private memory, local memory和global memory,映射到FPGA可以為register file, BRAM 和外部DDR存儲)回到CPU,GPU的多核類似於CPU的多核,但是GPU的核僅僅是負責計算的核,以支持多bit的向量計算見長。
3)FPGA未來的發展:FPGA之前一直應用於高速數字信號領域和ASIC驗證,比如數字信號採集,工業控制,航天,軍工,很多人講過,不一而足。最近幾年,個人感覺從2012年伴隨著Vivada開發套件的推出(以Xilinx推出Vivado作為參考,Vivado工具支持高級語言綜合(High Level synthesis),支持C語言到RTL的映射,以及開始支持億級以上門電路的設計),FPGA作為協處理器慢慢走上正軌,有了工具的支持才使得CPU上的演算法移植到RTL語言變得的簡單,億級門電路保證了豐富的邏輯資源。現在FPGA在機器學習和硬體加速上得到越來越多的重視(2015年底 Intel收購Altera),也做出了不少具有開創性的作品,但同時也存在諸多問題,比如1)什麼樣的演算法適合FPGA進行加速,2)FPGA的加速性如何提升,是靠邏輯資源來取勝還是靠真正的演算法優化,3)FPGA能不能擺托對CPU的依賴(現在加速採用異構的方式進行,CPU作為Host,FPGA作為device),4)FPGA的編譯器能不能發生革命性的變革? 總而言之:一個越是充滿不確定性的領域,越可能是發生革命性的變革(熵很大)。
4) 建議:若想從事電子領域,應當先學好單片機,精通單片機基本可以做到窺一斑而知全豹吧。
最後附上三家公司的股票對比(近5年)
Xilinx 市值13.44 Billion(截止到2016-11-19),中規中矩--------------------------------------------------------------------------------------------------------------------
更新2016-11-22如果看Nvidia股票近5年的走勢話,和深度學習熱度十分吻合,不知誰因誰果,但我更偏向於2012年Hinton課題組拿下ImageNet比賽的冠軍,引爆了深度學習的熱潮,從而推動了GPU的發展。於此同時GPU的發展也帶來了深度學習性能的提升。既然GPU在深度學習領域如魚得水,那麼怎麼會將GPU與FPGA進行對比呢?在深度學習爆發之前為什麼沒有呢(大家各走各的陽關道)?我想期初(2012-2014)GPU在深度學習領域的地位無可撼動,可以說是拿著探照燈也找不到對手,而且那時大家是深挖深度學習的潛能出成果,無暇顧及太多。還沒吃飽自然不會想到胖。隨著深度學習的發展,功耗和硬體結構成為擺在眼前的問題,這時研究者們開始思考有沒有其他的硬體也可以進行深度學習?放眼望去,只有FPGA具有的並行性或許可以,但結構和GPU相差甚遠,完全是兩個體系。
功耗方面,電子元器件的功耗與C(寄生電容)、V(工作電壓)和f^2(工作頻率成正比),可以寫為P=CVf^2, GPU作為多核來講,可以將其功耗與Core看成是線性關係,即P=NCVf^2, 核越多功耗就越大。除此之外,GPU板卡的功耗還來自與大量訪問片外存儲SDRAM造成的功耗,這些功耗主要包括寄有功耗(Background)讀寫(Write/Read)功耗、激活(Active)功耗、刷新功耗(Refresh)、端接功耗(DQ terminal)等。
硬體結構上,大家希望可以研製出深度學習處理器,這樣在處理性能和功耗上都會是一個飛躍,所以這也是很多深度學習晶元公司紛紛成立的原因(深受VC推崇),這完全是一片藍海,很藍很廣。研製深度學習晶元離不開FPGA,但是萬一深度學習晶元研製成功了,Nvidia的股票會如何呢,FPGA又會如何呢?
現在FPGA為什麼會得到重視,就是拋開FPGA原有的領域,在深度學習領域似乎有那麼點光,有光就意味著有希望。如同2012年前,GPU只是遊戲發燒友口中的電腦配置的代名詞,時至今日,GPU從遊戲界走到了學術界,走到了工業界。說不定FPGA或者AI晶元也會,有機會就要抓住他。從來不要低估一顆冠軍的心。
FPGA的開發問題:現在已經可以在FPGA上通過OpenCL實現Caffe的framework,假以時日,會有不錯的成績(困難會被慢慢推倒)。
最後附上FPGA與GPU的對比文章(已經有人做了),文章從浮點運算能力、延遲、單位瓦特的處理能力、介面、向後兼容性、靈活性、物理尺寸、人員成本、單位美元的處理能力進行了對比。但是Flexibility上原文可能寫錯了,應該是FPGA佔優勢。
http://www.bertendsp.com/pdf/whitepaper/BWP001_GPU_vs_FPGA_Performance_Comparison_v1.0.pdf從微薄看到愛可可老師的鏈接,過來聊幾句。
我在華大讀書的時候就是做FPGA優化演算法的,當時的導師後來放著自己業界幾十年的功成名就覺得不好玩,跑去altr當工程師,過了幾年某奧就被某爾收購了。
當時我跟他讀書的時候,他已經在FPGA界做出了重大成就,還自己籌資生產了他獨創架構的可編程高性能計算晶元,當然那個時候太早了,也沒太出名,那些晶元就扔在他書桌上。
我跟他的時候,他讓我琢磨向量運算,我不是傳統意義上的好學生,凡事不是導師說了就做,而是要刨根問底先讓導師說服我,導師倒是也不煩,就說服我,說高性能計算的根本就是矩陣運算,而矩陣運算的根本就是向量運算。我憑著小時候耳濡目染的一點點數學底子,眨眨眼想明白了,就認真做。現在大家說的什麼tensor flow,裡面tensor就是張量,一維張量就是向量,二維就是傳統意義的矩陣,不管多少維,運算都是回到向量計算。
後來我做出一個演算法來,是在導師發明的演算法控制之下的,把可編程晶元的最關鍵部分:片上互聯網路的利用率提上去,然後把這種演算法的效率提高了很多,另外還把時空資源分配的事情也搞定了。這個東西出來,基本上一個可編程晶元就可以隨時變成一個超級計算機,當時還拿了一個獎。我畢業以後也在某奧做了幾年。
我導師發明的這種可編程晶元,一部分是FPGA,另外一部分是運算器件。以後FPGA的發展方向,會朝這種混合高效形式走。
回答提問者的問題:
1.FPGA的運算優勢。主要是高性能計算,高性能計算就是拼向量,向量的維度有長有短,能同時計算的維度,就是數據通路寬度。CPU的問題在於數據通路窄,phi也就是幾個維度,GPU的維度寬,FPGA的好處是可以隨時變化寬度。一個FPGA的數據通路寬度,理論上僅受限於片上的乘法器數量。FPGA另外一個優勢是能耗低,但是這個東西以後會上來的,bit per watt的理論極限在那裡,沒辦法的。2.FPGA的發展方向我看還是在人工智慧。主要是因為物聯網的大爆發,數據產生速度超過了人類能處理的能力,所以需要高性能自動化數據處理,特別是時間序列數據的處理能力。FPGA在消費類電子產品裡面雖然會有應用,但是那種主要是glue logic,注意iphone裡面的FPGA不是高性能FPGA,lattice的市場份額最多只有個位數,X和A家基本上7:3的樣子。
3.新手不要先學FPGA,那個東西目前的工具鏈還不太成熟,先把編程學好,或者偏電子專業的學Verilog / VHDL也好。
一晃已經12年過去了,摩爾定律的發展,終於走到了這一步。FPGA走上了正式的高性能計算的舞台,我導師自己忍不住,跑到第一線去玩了。哪天去問候一下,聊聊最新進展。
2017/01/10 更新終於找到導師了,跟他聊了在某爾的經歷。老師畢竟老了,對很多事情沒有太多興趣,準備退休。但是腦子依然犀利,聽我說要把FPGA用在雲端的AI裡面,導師表示這種事情interesting,也就是說客套一下其實很無聊的意思。他老人家的話我還得多琢磨琢磨。謹慎樂觀吧,主體客戶仍維持不變,部分新方向用戶傾向軟硬體融合化。
要分清幾個區別:某學科與技術在學術圈裡變成熱點、某技術在國際領先公司那裡成為新聞熱點、在國內領先公司那裡成為熱點、普通公司那裡變得普及……這幾個範圍對應的就業人群與人數是不一樣的。
比如大家耳熟能詳的幾個關於FPGA的熱點:Intel收購Altera; IBM建立Power CAPI聯盟; 微軟使用FPGA對搜索引擎進行加速; iPhone7採用Lattice FPGA; 國內BAT也將FPGA加速用在伺服器上......這些新聞讓我們很振奮,覺得FPGA的春天來了。但真想想,這些職位能有多少?國外的不談,國內的原Intel(不包含Altera)每次開放都是個位數,申請者眾多,能拿到offer的少之又少,再想想FPGA這個就業基數……
把之前寫的文章貼出來:學習FPGA將來的出路在哪裡? - Evan172 的回答 - 知乎
列了八條,現在和未來段時間的主體客戶仍然是FPGA作為產品使用和作為IC驗證平台,有些新應用範圍在擴大,比如汽車電子、eFPGA、硬體加速、消費電子、IoT等。這些新範圍未來時間內能容納多少就業人群,現在還難判斷。
有個傾向是軟硬體融合,可能有更多本來是其它領域的工程師來兼任FPGA開發,而不需要專職的FPGA工程師,比如汽車電子、消費電子等,只需要用極簡單的設計,可能是原先的工程師簡單培訓下就上手了; Lattice那塊FPGA里的bitfile是Lattice AE幫忙生成後發給客戶的(iPhone 7 為什麼集成一顆 FPGA 晶元?); eFPGA或者說類似Xilinx ZYNQ系列晶元吧,用於低端板卡控制晶元不錯,與以前的Spartan6相比還可帶個系統在裡面; 硬體加速OpenCL這塊倒是值得期待,去廠商如Intel或解決方案那裡還不錯,去用戶如BAT那裡也只是平台的一部分,類似IT,地位遠不能與核心應用相比。上面已經有很多優秀的回答來,剛好我最近在做FPGA相關課題研究,我想應該能補充一下的,如有不對,歡迎批評指正。針對題主的問題
1.FPGA到底相較於傳統處理器在哪些方面更有優勢?是否類似於顯卡與CPU的關係呢?
FPGA相對於傳統的CPU,優勢在於以下幾點: 1)更大的並行度。這個主要是通過並發和流水兩種技術實現。A)並發是指重複分配計算資源,使得多個模塊之間可以同時獨立進行計算。這一點與現在的多核和SIMD技術相似。但相對與SIMD技術,FPGA的並發可以在不同邏輯功能之間進行,而不局限於同時執行相同的功能。舉個簡單例子說就是使用SIMD 可以同時執行多個加法,而FPGA可以同時執行多個加法和乘法和任何你能設計出來的邏輯。B)流水是通過將任務分段,段與段之間同時執行。其實這一點和CPU相似,只是CPU是指令間的流水而FPGA是任務間流水或者我們可以說是線程間流水。2)可定製。FPGA 內部通過Lookup Table實現邏輯,我們可以簡單理解為是硬體電路。可定製指的是在資源允許範圍內,用戶可實現自己的邏輯電路。通常情況下任務在硬體電路上跑是比在軟體上快的,比如要比較一個64位數高32位和低32位的大小,在CPU下需要2條區數指令,兩條位與指令,一條移位指令一條比較指令和一條寫回指令,而在FPGA下只要一個比較器就行了。3)可重構。可重構指的是FPGA內部的邏輯可根據需求改變,減少開發成本。同時,使用FPGA復用資源比使用多個固定的ASIC模塊為伺服器省下更多的空間。FPGA與CPU的關係和GPU與FPGA的關係是非常類似的,我們可以認為是co-processor。但實際上FPGA/GPU和CPU之間的關係是不對等的,通常情況下FPGA/GPU是以設備形式存在。簡單說就是FPGA/GPU需要CPU管理,而且傳輸數據時需要在內存中進行一個copy操作把數據從內存拷貝到設備內存中。近年Intel的HARP和IBM的CAPI改變的這一局面,Intel將FPGA集成到CPU中,兩者通過QPI相連,而IBM的CAPI/Nvink使得FPGA/GPU與CPU共享內存,從某種意義上說改變了FPGA/GPU的角色,也就是說他們和CPU的關係是對等的(這是很重要的改變!!!)。更詳細的請關注FPL16的keynote,或者查閱IBM CAPI相關信息。2.fpga在未來五到十五年里的發展方向會是怎麼樣?特別是在消費電子領域會有爆發點嗎?
對消費電子領域研究不多,我的觀點是FPGA在消費電子上使用更多的是成本問題,FPGA還是挺貴的,除非能把成本降下來,不然用在消費電子上會增加成本,太貴的手機買的人也不多。但是FPGA在企業級應用上使用是越來越廣,比如說機器學習,大數據,資料庫,DNA匹配和檢測等。比如說現有的IBM的Netezza系統,Kickfire的Kickfire系統,Microsoft的Bing引擎等等。至於題主提到的沒感覺單片機和FPGA的區別,我猜是你跑的應用太簡單了或者說數據集太小了。如果你是比較跑馬燈或者電梯控制器在FPGA和在單片機上的區別,可以說很難看出FPGA的優勢,甚至說FPGA的開發過程會讓你覺得單片機更加方便。你可以試著跑一個複雜一點的演算法和大一點的數據集,比如說基因序列比對 smith waterman演算法。在CPU上需要運算幾十小時,在FPGA上可能只需要幾小時,在單片機上保守估計要個幾天(真沒試過,歡迎提供數據)。
3.對相關專業學生有什麼建議嗎?
我是Computer Science/Engineering的,我的建議是,哈哈哈哈,轉CS吧,轉CS吧,轉CS吧。我還是為自己N年前亂填的一個計算機科學與技術感到榮幸,現在CS真的好火,需求也廣,真是新時代民工。從我了解的FPGA的職位看來,做FPGA的有這麼幾種:1)製作FPGA,也就是做一個更好更快更符合客戶要求的FPGA晶元,這個難度很大,市場主要被Xilinx和以前的Altera佔了,而且這個更多的屬於工藝問題,類似職位能提供的應該也不多。2)使用FPGA做開發/原型驗證,或者說FPGA只是開發的平台,最後轉到ASIC上,這個做了好久,估計職位不會很多,或者你可以自己拓展新應用。3)FPGA加速,實現基於FPGA的異構系統,FPGA是直接集成到系統中運行的,是近年比較或的幾種架構之一。所以說,如果真的想做FPGA,也盡量往CS靠(不知到CS還能堅持多久),做大數據/深度學習/生物信息學相關的FPGA 加速項目。以架構師的培養方式鍛煉自己。不能局限於FPGA內部邏輯的設計,要跳出FPGA,站在系統層面上考慮FPGA的角色。比如說如何解決FPGA local memory (BRAM)太小的問題,如何解決FPGA-Memory和CPU-Memory內存帶寬不均等的問題,等等。近幾年FPGA的幾大頂會FPGA,FCCM,FPL等都在關注CPU-FPGA的異構系統架構。更讓人驚喜的是近幾年系統結構的幾大頂會(ISCA,HPCA,MICRO,ASPLOS,SC)中,FPGA相關文章也佔有一定比重,從一點角度說FPGA再次受到重視,但是可能並不是傳統的FPGA開發研究,而是如何真正在系統上用好FPGA。最後說一點,架構師的工資比普通碼農高一些。僅供參考。原因是先進位程ASIC的NRE成本在飆升。90nm工藝剛出來的時候,還有近百個設計採用,據說當時的NRE是1500萬刀,現在據說還要好幾百萬,現在14nm工藝全球可能只有6-7家企業的十幾個設計能夠支付的起了。原因是什麼,一個14nm設計,NRE需要一億刀,我就算毛利到60%,收回成本也得賣1.6億刀,再考慮盈利,風險,其他的成本(高複雜邏輯晶元會有很高的軟體開發費用),不賣個5億刀根本不考慮開14nm的ASIC項目。而市場上有這麼大市場規模的單品是很少的。市場規模不夠大,就沒法開先進ASIC;但是沒有先進ASIC就沒法完成一些高要求的工作。這就陷入了一個死循環,FPGA是打破這個死循環的利器。FPGA的NRE成本可以攤到上千個小項目上,從而讓每個項目只分擔幾十萬刀的NRE。比如開發一款14nm的FPGA,需要一億刀,他的性能可以達到45nm ASIC的水平。然後有一千個有45nm工藝要求的項目可以採用該FPGA來解決問題,他們支付不了45nm工藝數千萬刀的NRE,但是通過分攤的方式每家支付幾十萬刀還是可以得。不過我覺得FPGA會越來越重要,侵佔更多傳統上ASIC的地盤是沒錯,但是也很難大熱。未來大熱的方向上,VR/AR面臨GPU的競爭,FPGA沒什麼優勢,物聯網上FPGA這種高密度高能耗的玩意沒戲,人工智慧深度學習上很難說,我覺得類似DSP那樣特化的CPU或者一些新概念器件可能才是方向。未來大人方向里FPGA我覺得有優勢只有大數據了。總之,我覺得如果你現在是集成電路方向的數字工程師,一定要掌握FPGA相關的技能,無論是轉行還是在目前的工作中都很有用。其他人就不必太關注了。
沒有感覺
1.職位少,8年fpga工程師,現在已經轉行雲計算軟體。
2.大量硬體職位被雲計算幹掉。現在大家傾向於統一硬體,而不是專有硬體。然後雲化,虛擬化。3.公司內邏輯部門從120人,降到50左右。4.altera,xilinx活的並不好。5.工具鏈仍然不好用,開發效率太低。ps:最近小半年好像稍微好了一點,可能是最近兩年國家隊半導體投入比較大。人工智慧和機器學習可能會用到一些。雲計算加速可能會用到。從略偏CS的角度答第一問
FPGA是可編程的,一塊FPGA晶元接上電以後還可以修改邏輯功能,這一點跟處理器是比較像的。個人認為FPGA跟處理器(包括CPU、GPU等)相比優點:並行度高。沒有『一條一條依次執行指令』的限制,verilog里寫
assign a = x + y;assign b = x - y;a和b的計算自然是並行的,根本不用管線程進程什麼的。合理的設計可以讓大部分運算單元都不閑著。性能功耗比高。沒有指令解碼等控制模塊吃功耗。位運算自由。不受『一次操作8/16/32/64/etc.個bit』的限制,不用搞些奇怪的bit mask。a = (a 0xF0) | (b 0x0F);可以寫成a[3:0] &<= b[3:0];缺點:編程困難。HDL就不說了,即使現在有了opencl這樣的東西,思維方式也沒有很大的變化。算固定數據流圖的是厲害,比如FFT;遇到動態任務的,數據流圖和輸入數據有關的就很無力,比如快速排序。
(為什麼『快速傅里葉變換』不叫Quick Fourior Transform 而『快速排序』不叫Fast Sort呢?)為什麼最近幾年FPGA變得變得越發受大家重視了?這題目咋一看問得很有深度。但是很遺憾這不是事實。不過結合到題主的描述……你有這樣的感受是因為你之前沒有聽說過吧。畢竟幾年前你也不太可能知道什麼叫FPGA。一個簡單的辦法,在google Trends上把FPGA和目前真正有上升趨勢的一次辭彙對比一下搜索熱度。比如就拿Machine Learning 來比較一下就知道了。藍色的是FPGA,紅色的是Machine Learning。看出趨勢了嗎?FPGA這5年里搜索熱度是在平穩下降,而Machine Learning才是在大幅提升。什麼叫越發受大家重視?這至少從一個側面說明了問題。
我認為FPGA真正的崛起應該在物聯網時代,先把話放在這裡吧。
等著看7nm fpga與GPU之終極pk大戰
個性化需求越來越有市場
FPGA是邏輯電路,處理數字信號的。
CPU是處理數據的,沒有可比性。舉個例子。。CPU有高速緩存。。。但是緩存不能拿來直接用。FPGA可以隨便用。。所以FPGA在對於高速採集 高速處理方面 有先天優勢例如。用FPGA實現一個DDR內存控制器、實現一個x264編解碼器、實現一個HDMI採集或輸出設備、實現一個攝像頭轉USB的晶元、實現一個簡單顯卡、實現一個自定義通訊結構的高速通訊介面等等。那有人問了成本太高怎麼不用專用晶元啊,是啊成本高啊,所以FPGA一般都是用於生產驗證階段的「實驗」目的。但是如果小批量應用,總比設計一款IC成本低廉吧?而且FPGA還有個好處就是內部的數字處理邏輯可以隨便更新。例如我做了一個通訊介面,但是這個通訊協議,考慮未來要升級,那我就用FPGA作為這個通訊處理IC,以後協議要更新,我更新FPGA程序就可以。iPhone7裡面用的FPGA,可能就是這個考慮吧?未來可以隨時升級某介面的處理邏輯。簡而言之FPGA主要是做設備介面的。CPU是計算數據的。。另外我想說一點。Verilog和C語言完全是兩碼事,如果有人說,Verilog和C語言很像。。我只想說。。呵呵。像你妹,你把C語言學明白再說像不像吧。fpga成本比較高,在工業應用領域應用比較多,而且通常用作探測器驅動,高速數據採集,通訊協議介面等方面。用fpga開發演算法難度太大,要求理解熟悉具體型號的fpga硬體結構,後果就是要求開發人員不僅非常熟悉 具體fpga的硬體資源,而且要求對具體演算法有很深入的理解,這樣的人才很少的。不過近年fpga用於機器學習,也只是開始,但是 也許只有解決在線可編程和新的綜合工具出來之後 普通機器學習er 才會使用到吧。
1,不會爆發,量大都流片去了,2,高薪,學習曲線太抖,數字電路模擬電路外加演算法就夠很多人喝一壺的了,3,優勢在於,用於驗證,流片畢竟太貴。4,非從業者,搞過幾天,建議可以試試,這是一條道,咬著牙走下來吃好喝好肯定沒啥問題,掙大錢難度很大。
因為專用晶元還沒量產,明年就會是晶元的天下
多品種,小批量的產品用FPGA比較合適,批量大的消費電子一定會去流片了。FPGA是一種晶元,一般學校用不到高端的(我們常常會用到幾萬塊錢一支)。同樣的運算量,功耗較低。關於還是在演算法,用什麼東西實現其實看產品了。其實我剛剛上大學的時候有一個行業就叫嵌入式,實際這是偽行為劃分。
cpu gpu 是固化的數字電路,FPGA可以任意配置。
FPGA無法用到消費級電子產品里,所以還是別痴心妄想了吧……
可能是因為機器學習的興起吧。
FPGA可以算是專用型電路,而普通CPU是泛用性集成電路
所以說在單一功能上面,如果使用FPGA的話是比使用微處理器要快的
以前在上海上學的時候參加過一個AI的講座,一個做計算機視覺的公司使用很小的一台設備,只要一個攝像頭+演算法就能做到很高性能的實時人體識別或者人像識別而不需要類似Xbox kinect上面紅外攝影機輔助。
在伺服器上FPGA的應用領域舉個例子
比如實時圖像壓縮,WEBP格式一般被用來存儲,這個格式的壓縮過程複雜度是JPEG的十幾倍,根據騰訊雲的描述: FPGA 雲伺服器處理延時相比 CPU 伺服器降低20倍,FPGA 雲伺服器處理性能是 CPU 伺服器的6倍。
還有就是加速機器學習模型的性能,用於大規模圖像處理,社交網站經常會使用到。
對於在處理其中封裝一顆FPGA來降低CPU與FPGA通訊中的延遲好像在2014年Intel就提出來了,在2016年投入使用的似乎
這從哪搞來的結論,明明是個偽命題
推薦閱讀:
※Windows 10 如何做到全平台統一?
※德州儀器退出移動CPU領域的原因是什麼?如果德儀沒有退出,那麼現在的移動領域會有怎樣的變化?
※魅藍note的CPU帶寬夠用嗎?
※如何評價小米旗下松果電子首款自主研發處理器「澎湃S1」?
※小米為啥要自己做soc?
TAG:機器學習 | 現場可編輯邏輯門陣列FPGA | 處理器 | SoC | 深度學習DeepLearning |