TEngine性能全面超越ncnn
5 人贊了文章
綜述
TEngine是由OPEN AI LAB開發的一款輕量級模塊化的高性能神經網路推理引擎,專門針對Arm嵌入式設備優化,提供超過所有已知開源框架的無與倫比的性能,並且無需依賴第三方庫,可跨平台使用支持Android,Liunx。
OPEN AI LAB是Arm發起的,旨在推動Arm嵌入式智能機器的產業發展,為智能機器應用場景構建嵌入式SoC基礎計算框架,推動晶元、硬體、演算法軟體整個產業鏈的深度協作,實現有計算的地方就有人工智慧。
TEngine介紹
TEngine支持各類常見卷積神經網路,包括SqueezeNet,MobileNet,AlexNet,ResNet等,支持層融合、8位量化等優化策略。並且通過調用針對不同CPU微構架優化的HCL庫,將Arm CPU的性能充分挖掘出來。例如在RK3399平台Cortex-A72單線程運行移動端常用的MobileNet一次只需要111ms,比NCNN快50%以上1。TEngine目前已經適配Cortex-A7/A17,Cortex-A53/A72/A73,後續還將適配Arm最新構架CPU Cortex-A55/A75,並且支持8位點積指令和半精度浮點指令,大幅度提升推理性能。
除了對單核性能的挖掘,TEngine在多線程加速上也針對Arm SoC系統構架做了專門的優化,並且通過優化調度,雙線程加速比達到170%,四線程加速比達到270%。
為了滿足嵌入式應用場景對低功耗、小內存的需求,TEngine在內存也做了深度優化,輕鬆運行極度消耗內存的VGG16網路,並且通過增加緩存利用率減少不必要的內存訪問,從而降低功耗。
TEngine開放生態
TEngine平台不僅性能指標非常優秀,而且使用非常方便。TEngine可以以wrapper的形式支持Caffe API,原本基於caffe開發的應用只需要簡單的重新編譯就能在TEngine上二次部署,後續TEngine還將支持Tensorflow API。
作為一款開放計算平台,TEngine的擴展能力非常強,除了支持自帶的HCL庫以外,還支持業界常見的Openblas, Arm Compute Library庫。客戶還可以很容易拓展自己的運算元庫,給用戶自由的選擇。除此之外,TEngine還能適配晶元上GPU等各類硬體資源甚至是DLA硬體加速器。只需要簡單的在TEngine上註冊設備並掛載上驅動,就能充分利用晶元上的硬體資源提升計算能力。
TEngine PK ncnn
TEngine提供開源版本僅支持Arm v8構架,32位浮點計算和部分功能,鏈接為https://github.com/OAID/TEngine。如下是基於RK3399對比測試 ncnn 和 TEngine的性能圖表。ncnn為2018年6月16日版本。
結論:在單核單線程測試mobilnet,
TEngine的性能是NCNN的2.19~1.93倍。
結論:在多核多線程測試mobilnet,
TEngine的性能是NCNN的2.26~1.92倍。
http://weixin.qq.com/r/6SqRiRvEekYFrV-q93-7 (二維碼自動識別)
OPEN AI LAB 由Arm發起,核心團隊來自Arm, Broadcom, Intel等公司。旨在推動Arm嵌入式智能機器的產業發展,為智能機器應用場景構建嵌入式SoC基礎計算框架,並整合應用場景服務介面。致力於推動晶元、硬體、演算法軟體整個產業鏈的深度協作,一起實現萬物智能。
推薦閱讀:
※【願景學成】24小時AI熱點新聞的匯總(2018/05/10)
※阿里AI界的新夥伴,1秒鐘自動生成20000條文案
※電話響起,人工?AI?智能語音機器人真的來了
※我們離真實的《西部世界》還有多遠?