>>" />

99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ARM發(fā)布最新Compute Library

pmkA_arm_china ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-10-09 13:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開心了這么多天,該“收心”好好干活了,正好Arm有一個(gè)好消息要告訴大家,最新一季的Compute Library公開發(fā)行版(版本 17.9)現(xiàn)已推出,讓我們一起來看看重點(diǎn)新增的一些特性和函數(shù)吧。

新的特性

此發(fā)行版主要增添了以下特性:

  • 多個(gè)新的面向 Arm CPU 和 Mali GPU機(jī)器學(xué)習(xí)函數(shù)

  • 支持新的數(shù)據(jù)類型和精度(重點(diǎn)支持低精度數(shù)據(jù)類型)

  • 支持利用 Arm-v8.2 CPU 架構(gòu)的新指令實(shí)現(xiàn) FP16 加速

  • 針對(duì)關(guān)鍵的機(jī)器學(xué)習(xí)函數(shù)進(jìn)行微架構(gòu)優(yōu)化

  • 降低復(fù)雜網(wǎng)絡(luò)內(nèi)存開銷的內(nèi)存管理工具

  • 用于基本測試的基礎(chǔ)結(jié)構(gòu)框架

新的函數(shù)

我們添加了許多新的函數(shù),滿足以 Arm 型平臺(tái)為目標(biāo)的開發(fā)人員的需求。這些新例程采用 OpenCL C 和 C(利用NEONIntrinsics)編寫。

OpenCL C(針對(duì)Mali GPU):

  • Bounded ReLu

  • Depth wise卷積(在 mobileNet 中使用)

  • 反量化

  • Direct卷積 1x1

  • Direct卷積 3x3

  • Direct卷積 5x5

  • 3D 張量展平

  • 向下取整

  • 全局池化(在 SqueezeNet 中使用)

  • Leaky ReLu

  • 量化

  • Reduction 運(yùn)算

  • ROI 池化

CPU (NEON):

  • Bounded ReLu

  • Direct卷積 5x5

  • 反量化

  • 向下取整

  • Leaky ReLu

  • 量化

  • 具有定點(diǎn)加速的新函數(shù)

Direct卷積是在經(jīng)典滑動(dòng)窗口基礎(chǔ)上執(zhí)行卷積層的一種替代方法。在Mali GPU Bifrost 架構(gòu)的實(shí)現(xiàn)中,使用Direct卷積對(duì)于改進(jìn)我們 CNN 的性能很有幫助(我們觀察到,對(duì) AlexNet 使用Direct卷積時(shí)性能最多可提升 1.5 倍)。

支持低精度

在許多機(jī)器學(xué)習(xí)應(yīng)用場景中,可以通過降低計(jì)算精度來提升效率和性能。這是我們工程師上一季度的重點(diǎn)關(guān)注領(lǐng)域。我們利用低精度實(shí)施了現(xiàn)有函數(shù)的新版本,如 8 位和 16 位定點(diǎn),這同時(shí)適用于 CPU 和 GPU。

GPU (OpenCL) - 8 位定點(diǎn)

  • Direct卷積 1x1

  • Direct卷積 3x3

  • Direct卷積 5x5

GPU (OpenCL) - 16 位定點(diǎn)

  • 算術(shù)加法、減法和乘法

  • 深度轉(zhuǎn)換

  • 深度連接(concatenate)

  • 深度卷積

  • GEMM

  • 卷積層

  • 全連接層

  • 池化層

  • Softmax 層

NEON - 16 位定點(diǎn)

  • 算術(shù)加法、減法和乘法

  • 卷積層

  • 深度連接(concatenate)

  • 深度轉(zhuǎn)換

  • Direct卷積 1x1

  • 全連接層

  • GEMM

  • Softmax 層

微架構(gòu)優(yōu)化

在 Compute Library 項(xiàng)目啟動(dòng)之初,我們的宗旨主要是共享計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)的一整套底層函數(shù),要保障性能良好,最為重要的是要可靠且可移植。Compute Library 能夠?yàn)橹塾?Arm 處理器的開發(fā)人員和合作伙伴節(jié)省時(shí)間和成本;同時(shí),Compute Library 在我們合作伙伴實(shí)施的許多系統(tǒng)配置中也有出色的表現(xiàn)。這也是我們將NEONintrinsic和 OpenCL C 作為目標(biāo)語言的原因。但在某些情形中,必須要充分發(fā)揮硬件的所有性能。因此,我們也著眼于在 Compute Library 中增加底層原語,這些底層原語利用專為目標(biāo) CPU 微架構(gòu)定制的手工匯編進(jìn)行了優(yōu)化。

在決定我們應(yīng)將重點(diǎn)放在哪些函數(shù)時(shí),我們的研發(fā)團(tuán)隊(duì)研究了利用 Caffe 框架的機(jī)器學(xué)習(xí)工作負(fù)載。

所用的三種工作負(fù)載為:

  • AlexNet,將圖像目標(biāo)分類到1000個(gè)可能類別的 大型網(wǎng)絡(luò)

  • LeNet,將手寫數(shù)字分類到10個(gè)可能類別的 中型網(wǎng)絡(luò)

  • ConvNet,將圖像分類到10個(gè)可能類別的 小型網(wǎng)絡(luò)

下圖顯示了這些工作負(fù)載的指令使用情況:

我們的團(tuán)隊(duì)發(fā)現(xiàn),這些網(wǎng)絡(luò)大約有 50-80% 的計(jì)算在 SGEMM 函數(shù)內(nèi)發(fā)生,這個(gè)函數(shù)是將兩個(gè)浮點(diǎn)矩陣相乘。還有其他幾個(gè)函數(shù)也比較突出,例如冪函數(shù)和轉(zhuǎn)換矩陣維度的函數(shù)。其余的計(jì)算則分散在一個(gè)長尾分布中。

您可以發(fā)現(xiàn)這樣的一個(gè)趨勢,SGEMM 所占的比例隨著網(wǎng)絡(luò)規(guī)模變大而升高,但這種趨勢更有可能是因?yàn)閷拥呐渲盟拢皇桥c大小相關(guān)。從中我們可以意識(shí)到,矩陣乘法對(duì)神經(jīng)網(wǎng)絡(luò)確實(shí)非常重要。如果說哪個(gè)目標(biāo)函數(shù)最需要優(yōu)化,應(yīng)該就是它了。

在此發(fā)行版的庫中,我們?cè)黾恿嗣嫦駽ortex-A53和Cortex-A72處理器的 CPU 匯編優(yōu)化版 SGEMM (FP32)。這些例程的性能視平臺(tái)而異,但我們?cè)跍y試中看到總體性能有大幅提升。例如,我們對(duì) Firefly 開發(fā)板(64 位,多線程)進(jìn)行了 AlexNet 基準(zhǔn)測試,在 Cortex-A72 上測量到性能提升了約 1.6 倍。

下表顯示了我們?cè)谙嗤脚_(tái)上使用新的優(yōu)化例程的一組基準(zhǔn)測試結(jié)果。

在 Armv8.2 CPU 上支持 FP16

在關(guān)于17.6 發(fā)行版的介紹中(Arm計(jì)算庫第二個(gè)公開版本正式發(fā)布,這些廠商一直在用其進(jìn)行開發(fā)!),Arm計(jì)劃在 CPU 中支持用于機(jī)器學(xué)習(xí)的新架構(gòu)功能,而第一步就是在 Armv8.2 CPU 中支持 FP16。目前,庫中增加了面向 Armv8.2 FP16 的新函數(shù):

  • 激活層

  • 算術(shù)加法、減法和乘法

  • 批量歸一化(Batch Normalization)

  • 卷積層(基于 GEMM)

  • 卷積層(Direct卷積)

  • 局部連接

  • 歸一化

  • 池化層

  • Softmax 層

雖然我們沒有對(duì)這些函數(shù)做一些激進(jìn)的優(yōu)化(這些函數(shù)采用 NEON intrinsic而非手工優(yōu)化的匯編語言編寫),但與使用 FP32 且必須在不同格式之間轉(zhuǎn)換相比,性能有了大幅提升。下表比較了一些工作負(fù)載,從中可以看出,借助 v8.2 CPU 指令,可以減少計(jì)算所需的周期數(shù)。

面向 Bifrost 架構(gòu)的 GPU 優(yōu)化

如今,許多移動(dòng)合作伙伴正在利用 Mali GPU 來加快機(jī)器學(xué)習(xí)工作負(fù)載的速度。根據(jù)這些合作伙伴的反饋,我們?cè)谶@個(gè)領(lǐng)域做了針對(duì)性的優(yōu)化。

新的Direct卷積 3x3 和 5x5 函數(shù)針對(duì) Bifrost 架構(gòu)進(jìn)行了優(yōu)化,性能與上一發(fā)行版 (17.06) 中的例程相比有了顯著提升。在部分測試平臺(tái)上使用這些新例程時(shí),我們發(fā)現(xiàn)性能普遍提高約 2.5 倍。此外,在 AlexNet 的多批量工作負(fù)載中,GEMM 中引入的新優(yōu)化幫助我們獲得了 3.5 倍的性能提升。性能因平臺(tái)和實(shí)現(xiàn)方法而異,但總體而言,我們預(yù)計(jì)這些優(yōu)化能夠在 Bifrost GPU 上顯著提升性能。

下圖顯示了在華為 Mate 9 智能手機(jī)上的一些測試結(jié)果,測試中禁用了 DVFS,取 10 次運(yùn)行中最短的執(zhí)行時(shí)間作為結(jié)果。由此可見,新例程在性能上優(yōu)于舊版本。

內(nèi)存管理器

復(fù)雜工作負(fù)載(大型網(wǎng)絡(luò))會(huì)需要大量內(nèi)存,對(duì)于嵌入式平臺(tái)和移動(dòng)平臺(tái)而言,這正是影響性能的癥結(jié)所在。我們聽取了合作伙伴的反饋,決定在庫的運(yùn)行時(shí)組件中添加一個(gè)“內(nèi)存管理器”功能。內(nèi)存管理器通過循環(huán)利用臨時(shí)緩沖區(qū)降低通用算法/模型的內(nèi)存要求。

內(nèi)存管理器包含一個(gè)生命周期管理器(用于跟蹤注冊(cè)對(duì)象的生命周期)和一個(gè)池管理器(用于管理內(nèi)存池)。當(dāng)開發(fā)人員配置函數(shù)時(shí),運(yùn)行時(shí)組件會(huì)跟蹤內(nèi)存要求。例如,一些張量可能僅僅是暫時(shí)的,所以只分配所需的內(nèi)存。內(nèi)存管理器的配置應(yīng)從單一線程循序執(zhí)行,以便提高內(nèi)存利用率。

下表顯示了在使用內(nèi)存管理器時(shí)在我們測試平臺(tái)上測量到的內(nèi)存節(jié)省情況。結(jié)果因平臺(tái)、工作負(fù)載和配置而異??傮w而言,我們認(rèn)為內(nèi)存管理器能夠幫助開發(fā)人員節(jié)省內(nèi)存。

接下來,我們計(jì)劃繼續(xù)根據(jù)合作伙伴和開發(fā)人員的需求,進(jìn)行具體的優(yōu)化。此外,我們還將重視與機(jī)器學(xué)習(xí)框架的集成,并與 Google Android NN 等新的 API 保持同步。

我們的目標(biāo)不是涵蓋所有數(shù)據(jù)類型和函數(shù),而是根據(jù)開發(fā)人員和合作伙伴的反饋,精選出最需要實(shí)施的函數(shù)。所以,我們期待著聽到您的聲音!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9353

    瀏覽量

    377763

原文標(biāo)題:節(jié)后第一個(gè)好消息就它了——Compute Library 17.9 正式發(fā)布!

文章出處:【微信號(hào):arm_china,微信公眾號(hào):Arm芯聞】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    W5500 ARM mbed 庫發(fā)布

    本帖最后由 Katrina_WIZnet 于 2014-6-24 15:40 編輯 WIZnet 是 ARM mbed(http://mbed.org/teams/WIZnet/)的官方
    發(fā)表于 06-24 15:39

    PRI Compute Module – 樹莓派的繼任者

    問題,樹莓派基金會(huì)又發(fā)布了一塊新的板卡 - “Compute Module”(以下簡稱Compute)。Compute是一塊長得像小型SODIMM內(nèi)存條的電路板,尺寸大概是樹莓派的四分
    發(fā)表于 09-30 13:21

    請(qǐng)問C2000支持IEC60730的library發(fā)布了嗎?

    想問一下,28035支持IEC60730, class B 的library 發(fā)布了嗎?最新的library是不是集成在ROM中?
    發(fā)表于 08-19 07:05

    使用CRL“ARM CMSIS SIN COS”和SW4STM32發(fā)布構(gòu)建simulink項(xiàng)目代碼報(bào)錯(cuò)怎么解決?

    /arm_cos_f32.o" "C:/MATLAB/STM32-MAT/STM32/STM32demos/MotorControl/FOC/PMSM_FOC_Compute
    發(fā)表于 01-16 07:32

    VHDL Library of Arithmetic Uni

    VHDL Library of Arithmetic Units A comprehensive library of arithmetic units written
    發(fā)表于 06-14 09:08 ?26次下載

    VHDL Library of Arithmetic Uni

    VHDL Library of Arithmetic Units fdl A comprehensive library of arithmetic units written
    發(fā)表于 06-14 09:09 ?17次下載

    ADS_FSL_LIBRARY

    ADS_FSL_LIBRARY
    發(fā)表于 09-13 10:41 ?0次下載

    FX3 Wrapper Library

    FX3 Wrapper Library
    發(fā)表于 01-29 11:55 ?6次下載
    FX3 Wrapper <b class='flag-5'>Library</b>

    ADM1266 Python Library

    ADM1266 Python Library
    發(fā)表于 02-02 10:40 ?1次下載
    ADM1266 Python <b class='flag-5'>Library</b>

    ADM1266 Python Library

    ADM1266 Python Library
    發(fā)表于 03-05 11:16 ?10次下載
    ADM1266 Python <b class='flag-5'>Library</b>

    ARM系列—機(jī)密計(jì)算

    今天來看一個(gè)ARM中的新東西,機(jī)密計(jì)算架構(gòu)(Confidential Compute Architecture,CCA)。CCA是ARM公司在2021年發(fā)布的,屬于Armv9-A的關(guān)鍵
    發(fā)表于 05-24 15:25 ?1892次閱讀
    <b class='flag-5'>ARM</b>系列—機(jī)密計(jì)算

    Arm RAN 加速庫(RAN Acceleration Library, RAL)通過采用 BSD 開源許可證將代碼庫正式開源

    Arm RAN 加速庫(RAN Acceleration Library, RAL)通過采用 BSD 開源許可證將代碼庫正式開源 作為 RAN 軟件中最重要的模塊,Arm RAN 加速庫(RAN
    的頭像 發(fā)表于 07-20 17:31 ?2234次閱讀

    RL78系列 Data Flash Library Type04軟件包3.0版發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《RL78系列 Data Flash Library Type04軟件包3.0版發(fā)布說明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 10:06 ?0次下載
    RL78系列 Data Flash <b class='flag-5'>Library</b> Type04軟件包3.0版<b class='flag-5'>發(fā)布</b>說明

    利用Arm Kleidi技術(shù)實(shí)現(xiàn)PyTorch優(yōu)化

    Neoverse 平臺(tái)上的 PyTorch 推理表現(xiàn)。Kleidi 技術(shù)可以通過 Arm Compute Library (ACL) 和 KleidiAI 庫獲取。
    的頭像 發(fā)表于 12-23 09:19 ?1072次閱讀
    利用<b class='flag-5'>Arm</b> Kleidi技術(shù)實(shí)現(xiàn)PyTorch優(yōu)化

    Arm Neoverse CMN S3 推動(dòng)Compute Express Link (CXL) 存儲(chǔ)創(chuàng)新

    高性能、可擴(kuò)展且高效的解決方案。Arm Neoverse CMN S3 能夠無縫管理一致性通信和內(nèi)存共享,是適合現(xiàn)代存儲(chǔ)架構(gòu)的變革性解決方案,其專為支持 Compute Express Link
    發(fā)表于 04-09 18:19 ?569次閱讀
    <b class='flag-5'>Arm</b> Neoverse CMN S3 推動(dòng)<b class='flag-5'>Compute</b> Express Link (CXL) 存儲(chǔ)創(chuàng)新