All Programmable 器件的靈活性
賽靈思器件經(jīng)過精心設(shè)計(jì),能滿足多種高性能終端系統(tǒng)的計(jì)算、效率、成本和靈活性需求。賽靈思將硬件可編程資源(例如邏輯、走線和 I/O)與靈活、獨(dú)立的集成內(nèi)核模塊(例如 DSP Slice 和 UltraRAM)組合在一起,全部構(gòu)建在領(lǐng)先的工藝技術(shù)上,例如臺(tái)積電 (TSMC) 的 16nm FinFET 工藝技術(shù),從而達(dá)到這種平衡。
賽靈思器件具備硬件可編程性和靈活性,意味著底層硬件通過配置可滿足給定工作負(fù)載的需求。隨后,甚至在運(yùn)行時(shí)也可通過部分重配置功能方便地重新配置數(shù)據(jù)路徑 [ 參考資料 35]。圖 4 試圖捕捉賽靈思 All Programmable 器件提供的部分靈活性,但是賽靈思器件的真正靈活性無法通過單張圖片來體現(xiàn)。內(nèi)核(或用戶設(shè)計(jì)元素)可以直接連接可編程 I/O、任意其它內(nèi)核、LUTRAM、block RAM 和UltraRAM、外部存儲(chǔ)器等。
?
圖 4 :All Programmable 數(shù)據(jù)路徑和任意到任意 I/O
賽靈思器件具有獨(dú)特的硬件可編程性,意味著它們不存在特定局限性,例如 SIMT 或固定數(shù)據(jù)路徑。無論是大規(guī)模并行、適度并行、流水線連續(xù)或者混合形式,都能獲得賽靈思器件的計(jì)算能力和效率。此外,如果底層算法改變(例如機(jī)器學(xué)習(xí)網(wǎng)絡(luò)的發(fā)展),則平臺(tái)也能相應(yīng)調(diào)整。
很多系統(tǒng)和工作負(fù)載中都能看到賽靈思器件發(fā)揮靈活性優(yōu)勢。其中一種工作負(fù)載就是機(jī)器學(xué)習(xí)推斷。機(jī)器學(xué)習(xí)推斷的趨勢之一是向稀疏網(wǎng)絡(luò)過渡。賽靈思器件的用戶已經(jīng)在利用這種趨勢。英偉達(dá)公司本身就是這些用戶中的一個(gè)。在最近與英偉達(dá)聯(lián)合編寫的關(guān)于語音辨識的一篇文章中,通過使用賽靈思FPGA,相對 CPU 實(shí)現(xiàn)了 43 倍速度提升和 40 倍效率提升,相對 NVidia GPU 實(shí)現(xiàn)了 3 倍速度提升和11.5 倍效率提升 [ 參考資料 36]??删幊虜?shù)據(jù)路徑還減少了賽靈思 FPGA 批處理需求。批處理是系統(tǒng)的時(shí)延 vs 實(shí)時(shí)性能的重要決定因素。
從大數(shù)據(jù)角度看,賽靈思器件的靈活性也展現(xiàn)出明顯優(yōu)勢。賽靈思 FPGA 在處理 SQL 工作負(fù)載時(shí)非常高效和快速,包括具有復(fù)雜數(shù)據(jù)(例如可變長度字符串)的情況。百度利用基于賽靈思 Kintex?UltraScale ? KU115 器件的加速卡實(shí)現(xiàn)了 25 倍以上的提速。該加速卡的功耗僅 50W。百度該解決方案的效率比 GPU 方案快 4 倍 [ 參考資料 37]。對于文本和圖案匹配工作負(fù)載,研究表明基于賽靈思的RegEx 方案比 CPU 方案快 14.5–18 倍,比 GPU 方案快了將近 3 倍 [ 參考資料 38][ 參考資料 39]。
基因組分析是另一個(gè)切實(shí)的實(shí)例。有人已經(jīng)利用 GPU 來加速基因組分析,可相較于 Intel Xeon CPU 方案提速 6–10 倍 [ 參考資料 40]。不過,賽靈思 FPGA 的提速效果要高得多,相較于同等 CPU 可提速 80倍 [ 參考資料 41]。
賽靈思器件的靈活性還使其成為云服務(wù)提供商的理想選擇,可作為計(jì)算平臺(tái)即服務(wù)的一部分。多種類型的軟件即服務(wù)都可以利用賽靈思器件的優(yōu)勢。
最后,對于正在努力研發(fā)自動(dòng)駕駛功能的汽車系統(tǒng)設(shè)計(jì)人員來說,賽靈思器件的靈活性能夠?yàn)樗麄兲峁┛蓴U(kuò)展的平臺(tái),用以滿足完全自動(dòng)駕駛道路上的各種美國汽車工程師學(xué)會(huì) (SAE) 標(biāo)準(zhǔn)。如需了解關(guān)于SAE 標(biāo)準(zhǔn)的更多信息 , 敬請?jiān)L問 SAE 網(wǎng)站。賽靈思器件可以高效處理來自各種源頭的傳感器數(shù)據(jù),例如雷達(dá)、照相機(jī)和超聲波,同時(shí)保持系統(tǒng)的實(shí)時(shí) / 時(shí)延目標(biāo)。
任意到任意 I/O 靈活性
除了器件計(jì)算資源的靈活性,賽靈思的任意到任意 I/O 靈活性能夠確保器件可無縫集成到現(xiàn)有的基礎(chǔ)架構(gòu),例如直接連接到網(wǎng)絡(luò)或存儲(chǔ)設(shè)備,無需使用主機(jī) CPU [ 參考資料 42]。I/O 靈活性還允許平臺(tái)針對基礎(chǔ)架構(gòu)的變化或更新進(jìn)行調(diào)整。
片上存儲(chǔ)器
如表 2 所示,賽靈思器件提供業(yè)界領(lǐng)先的靈活、高帶寬、低時(shí)延的 500Mb 片上存儲(chǔ)器 [ 參考資料 44]。如此大的片上存儲(chǔ)器緩存意味著工作負(fù)載的很大一部分存儲(chǔ)器要求都能通過片上存儲(chǔ)器來滿足,從而減小外部存儲(chǔ)器訪問帶來的存儲(chǔ)器瓶頸問題,以及高存儲(chǔ)器帶寬解決方案(例如 HBM2)的功耗和成本問題。例如,針對大多數(shù)深度學(xué)習(xí)網(wǎng)絡(luò)技術(shù)(例如 GoogLeNet)的系數(shù) / 特性圖都可存在片上存儲(chǔ)器中,以提高計(jì)算效率和降低成本。
表 2 :器件片上存儲(chǔ)器大小
片上存儲(chǔ)能消除片外存儲(chǔ)器訪問引起的巨大時(shí)延問題,將系統(tǒng)的實(shí)時(shí)性能最大化。
封裝內(nèi)的 HBM
針對需要高帶寬存儲(chǔ)器的情況,賽靈思在部分 Virtex UltraScale+ 器件中提供 HBM。除了封裝內(nèi) HBM堆棧的 460GB/s 存儲(chǔ)器帶寬,賽靈思 HBM 存儲(chǔ)器控制器還增加更大的靈活性,以便將工作負(fù)載高效映射到器件和可用存儲(chǔ)器帶寬,將效率和計(jì)算效率最大化。
功能安全性
賽靈思長期以來能夠滿足各種功能安全性,包括工業(yè)自動(dòng)化以及最近的 ADAS。賽靈思工具和器件經(jīng)過重新設(shè)計(jì),以便支持功能安全性應(yīng)用,并達(dá)到相應(yīng)認(rèn)證等級 [ 參考資料 45]。
因此,多家汽車制造商在安全關(guān)鍵型 ADAS 應(yīng)用中采用 Zynq?-7000 All Programmable SoC 量產(chǎn)器件。Zynq UltraScale+ MPSoC 還進(jìn)一步擴(kuò)大對功能安全應(yīng)用的支持。
結(jié)論
系統(tǒng)設(shè)計(jì)人員在這個(gè)新的計(jì)算時(shí)代面對不同選擇。賽靈思 FPGA 和 SoC 為系統(tǒng)設(shè)計(jì)人員提供最低風(fēng)險(xiǎn),幫助其滿足未來系統(tǒng)的核心要求與挑戰(zhàn),同時(shí)提供足夠的靈活性以確保平臺(tái)在未來不會(huì)落伍。
在深度學(xué)習(xí)領(lǐng)域,UltraScale 架構(gòu)中的 DSP 架構(gòu)內(nèi)在的并行性能夠針對具有可伸縮 INT8 向量點(diǎn)積性能的神經(jīng)網(wǎng)絡(luò)加強(qiáng)卷積和矩陣乘法計(jì)算量。這能為深度學(xué)習(xí)推斷實(shí)現(xiàn)更低時(shí)延??焖?DSP 陣列、最高效的block RAM 存儲(chǔ)器層級以及 UltraRAM 存儲(chǔ)器陣列可實(shí)現(xiàn)最佳功率效率。
現(xiàn)在,利用xilinx官網(wǎng)中的開發(fā)套件,以及多種設(shè)計(jì)輸入工具,例如 HLS、SDSoC 和 SDAccel 工具,用戶可發(fā)揮賽靈思器件的諸多優(yōu)勢。
參考資料
1. ZDNET."Vision and neural nets drive demand for more powerful chips."Accessed April 6, 2017.
.
2. NVidia Corporation. .
3. MJ Misic, DM Durdevic, MV Tomasevic."Evolution and trends in GPU computing" MIPRO, 2012 Proceedings of the 35th International Convention, 289-294. .
4. Nicole Hemsoth."FPGAs Focal Point for Efficient Neural Network Inference."Last accessed on April 6,
2017. https://www.nextplatform.com/2017/01/26/fpgas-focal-point-efficient-neur... ce/ .
5. .
6. Babak Falsafi, Bill Dally, Desh Singh, Derek Chiou, Joshua J. Yi, Resit Sendag, "FPGAs versus GPUs in Datacenters," IEEE Micro, vol. 37, no. 1, pp. 60-72, Jan 2017. ?arnumber=7866802 .
7. Richard Vuduc, Aparna Chandramowlishwaran, Jee Choi, Murat Guney, Aashay Shringarpure. "On the limits of GPU acceleration."HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism.Pages 13-13.Berkeley, CA.June 14–15, 2010.
8. Fowers, J., Ovtcharov, K., Strauss, K., Chung, E.S., Stitt, G.:A High Memory Bandwidth FPGA Accelerator for Sparse Matrix-Vector Multiplication.In:IEEE Int. Symp. on Field-Programmable Custom Computing Machines (2014). ?arnumber=6861585
9. B. Liu, M. Wang, H. Foroosh, M. Tappen, and M. Pensky."Sparse Convolutional Neural Networks."Computer Vision and Pattern Recognition (CVPR), 2015 IEEE Conference. .
10. Yaman Umuroglu, et al."Random Access Schemes for Efficient FPGA SpMV Acceleration."Microprocessors & Microsystems Volume 47 Issue PB, November 2016 Pages 321-332. (figure 4 - shows utilization)
11. Sparsh Mittal, Jeffrey S. Vetter."A Survey of CPU-GPU Heterogeneous Computing Techniques."ACM Computing Surveys (CSUR) Volume 47 Issue 4, July 2015 Article No. 69.
12. Xilinx white paper, "Reduce Power and Cost by Converting from Floating Point to Fixed Point." Last accessed April 6, 2017.
https://www.xilinx.com/support/documentation/white_papers/wp491-floating... .
13. Marc Baboulin et al."Accelerating Scientific Computations with Mixed Precision Algorithms."Computer Physics Communications 180 (2009) 2526-2533. .
14. Suyog Gupta et al."Deep Learning with Limited Numerical Precision."ICML'15 Proceedings of the 32nd International Conference on International Conference on Machine Learning - Volume 37 Pages1737-1746. https://arxiv.org/pdf/1502.02551.pdf .
15. William Dally."High-Performance Hardware for Machine Learning."Last accessed April 6, 2017. https://media.nips.cc/Conferences/2015/tutorialslides/Dally-NIPS-Tutoria... .
16. NVidia Corporation."NVIDIA TensorRT."Last accessed April 6, 2017.
https://developer.nvidia.com/tensorrt .
17. Xinxin Mei, Xiaowen Chu."Dissecting GPU Memory Hierarchy through Microbenchmarking." IEEE Transactions on Parallel and Distributed Systems Volume:28, Issue:1, Page 72-86, Jan. 1 2017.
https://arxiv.org/pdf/1509.02308.pdf .
18. NVidia Corporation."Cuda C Programming Guide" Last accessed on April 6, 2017.
.
19. Mark Gebhart et al."Unifying Primary Cache, Scratch, and Register File Memories in a Throughput Processor."MICRO-45 Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, Pages 96-106, Vancouver, B.C., CANADA - December 01–05, 2012.
https://research.nvidia.com/sites/default/files/publications/Gebhart_MIC... .
20. Chris Edwards."Minimize Memory Moves for Greener Data Centers" Last accessed April 6, 2017.
.
21. Vincent Vanhouckehttps et al."Improving the Speed of Neural Networks on CPUs" Proc.Deep Learning and Unsupervised Feature Learning NIPS Workshop 2011 [online] Available: .
22. Christian Szegedy et al."Going Deeper with Convolutions" Proceedings Computer Vision and Pattern Recognition (CVPR).Pages 1–9, 2015.
.
23. Funding Universe."Xilinx, Inc. History" Last accessed April 6, 2017.
.
24. Xilinx Inc. "Software Zone."Last accessed April 6, 2017.
https://www.xilinx.com/products/design-tools/software-zone.html .
25. Xilinx Inc. "Acceleration Zone."Last accessed April 6, 2017.
.
26. ANANDTECH."NVIDIA Announces Tesla P40 & Tesla P4 - Neural Network Inference."Last accessed April 6, 2017.
27. Xilinx white paper, ''Deep Learning with INT8 Optimization on Xilinx Devices."Last accessed April 6,2017.
https://www.xilinx.com/support/documentation/white_papers/wp486-deep-lea... .
28. Philipp Gysel et al."Hardware-Oriented Approximation of Convolutional Neural networks."ICLR2016.
https://arxiv.org/pdf/1604.03168v3.pdf .
29. Chenzhuo Zhu et al."Trained ternary quantization."ICLR 2017.https://arxiv.org/pdf/1612.01064.pdf.
30. Yaman Umuroglu et al."FINN:A Framework for Fast, Scalable Binarized Neural Network Inference."25th International Symposium on FPGAs, February 2017.
https://arxiv.org/pdf/1612.07119.pdf .
31. Wonyong Sunget et al."Resiliency of Deep Neural Networks under Quantization."ICLR 2016.
https://arxiv.org/pdf/1511.06488v3.pdf .
32. Nicholas J. Fraser et al."Scaling Binarized Neural Networks on Reconfigurable Logic."HiPEAC 2017.
https://arxiv.org/abs/1701.03400 .
33. Cl′ement Farabet, Yann LeCun, Koray Kavukcuoglu, Eugenio Culurciello, Berin Martini, Polina Akselrod, Selcuk Talay.Large-Scale FPGA-based Convolutional Networks.
34. C. Zhang, P. Li, G. Sun, Y. Guan, B. Xiao, and J. Cong.Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks.ACM/SIGDA ISFPGA, pages 161–170.ACM, 2015.
https://pdfs.semanticscholar.org/2ffc/74bec88d8762a613256589891ff323123e...
35. Xilinx, Inc. "Partial Reconfiguration in the Vivado Design Suite."Last accessed April 6, 2017.
https://www.xilinx.com/products/design-tools/vivado/implementation/parti... .
36. Song Han et al."ESE:Efficient Speech Recognition Engine with Sparse LSTM on FPGA."International Symposium on FPGA 2017.
https://arxiv.org/pdf/1612.00694.pdf .
37. Jian Ouyang et al."SDA:Software-Defined Accelerator for General-Purpose Big Data Analysis System."Hotchip 2014.
.
38. Shreyas G Singapura et al."FPGA Based Accelerator for Pattern Matching in YARA Framework."CENG 2015. %20CENG-2015-05.pdf .
39. Yuichiro Utan et al."A GPGPU Implementation of Approximate String Matching with Regular Expression Operators and Comparison with Its FPGA Implementation."PDPTA 2012.
https://pdfs.semanticscholar.org/2667/ac95d36ab63ae6eeb4b352f4c20dc46344... .
40. BarraCUDA."The BarraCUDA Project."Last accessed April 6, 2017.
.
41. Edico Genome."DRAGEN Genome Pipeline."Last accessed April 6, 2017. .
42. Microsoft paper, "A Cloud-Scale Acceleration Architecture."Last accessed April 6, 2017.
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/10/Clou... .
43. Xilinx, Inc. "UltraScale Architecture."Last accessed April 6, 2017.
https://www.xilinx.com/support/documentation/white_papers/wp470-ultrasca... .
44. Xilinx white paper, “UltraRAM:Breakthrough Embedded Memory Integration on UltraScale+Devices.”Last accessed April 6, 2017.
https://www.xilinx.com/support/documentation/white_papers/wp477-ultraram... .
45. Xilinx white paper, "Xilinx Reduces Risk and Increases Efficiency for IEC61508 and ISO26262 Certified Safety Applications."Last accessed April 6, 2017.
https://www.xilinx.com/support/documentation/white_papers/wp461-function...
評論
查看更多