成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CANN黑科技解密?昇騰Ascend C編程語言 — 極簡易用的算子開發體驗?

開發 后端
人工智能蓬勃發展,算法創新層出不窮。?昇騰Ascend編程語言通過易上手、高性能、易調測的優勢,為開發者的創新算法更輕松高效地運行奠定了基石,讓基于?昇騰的AI創新更加簡單。?

AI應用的大腦是神經網絡而構成神經網絡的基石是一個個算子。為了讓開發者的網絡在騰硬件上高效運行,騰異構計算架構CANN(Compute Architecture for Neural Networks)提供了豐富的高性能算子庫,包括神經網絡庫、線性代數計算庫等,高性能算子數量達到1400+。有了高性能算子庫的支撐,主流神經網絡可輕松在騰硬件上高效運行。


但隨著人工智能的爆發式增長,算法更新層出不窮,固定的高性能算子庫可能無法完全滿足開發者的多樣化創新需求,為了讓開發者提出的創新算法能夠在硬件上運行起來自定義算子開發的能力必不可少。

但算子開發是個復雜的工程,需要考慮眾多因素,包括語言學習成本、功能邏輯的實現、硬件指令的適配、以及算子運行精度與性能的達標等等。往往一個經驗豐富的算法專家開發一個高性能的算子都要耗時數周甚至更長的時間。


算子開發總體流程

為提升算子開發效率,降低算子開發成本,騰推出了面向算子開發場景的騰Ascend編程語言。騰Ascend編程語言原生支持C和C++標準規范,最大化匹配用戶開發習慣;通過多層接口抽象,屏蔽了底層硬件差異;通過自動并行計算等關鍵技術保證性能的同時大大降低算子開發門檻另外,騰Ascend提供了孿生調試功能,大大縮短了算子調測時間。


昇騰Ascend C編程語言在異構計算架構CANN中的位置


多層級高性能類庫接口

工欲善其事,必先利其器。為簡化開發邏輯,騰Ascend支持結構化核函數編程,提供了面向不同場景的高性能類庫接口。開發者僅需通過類庫接口的組裝調用,即可輕松實現高性能算子。


昇騰Ascend C提供的類庫接口

AI應用領域廣泛,開發者的背景與需求也各不相同。為滿足不同層級開發者的訴求,騰Ascend針對計算接口和數據搬移接口,進行了分層分級,讓開發者可以根據自身需求選擇合適的接口。

針對計算類接口,當前Ascend支持三個層級,其中級數越低,自由度越高,更易于表達復雜場景所需功能;級數越高,接口的封裝度越高,更易于表達常用語義,使用起來也更簡單。


計算接口分層分級與示例

針對搬移類接口,Ascend C將不同類型物理內存間的數據搬移抽象為一個統一的數據搬運接口通過參數控制不同的搬運級別,從而滿足不同數據搬運場景的需求。


數據搬運接口分層分級與示例

另外多層級的類庫接口封裝,可以更好地屏蔽不同型號硬件間的差異,輕松實現算子代碼對不同硬件的兼容。


自動并行計算

多層級的類庫接口可以讓開發者輕松實現算子的算法邏輯,達成預期功能。但一個好的算子,計算效率也是必須考慮的重要指標。眾所周知,將任務并行處理是提高計算效率的關鍵手段,但AI處理器的內存層次結構比較復雜、數據通路多,數據之間的依賴關系復雜,這種場景下,并行計算之間的流水如何排布,各任務間的數據同步如何實現,往往是比較困難的。

為了方便開發者實現高效的并行計算,Ascend采用SPMDSingle-Program Multiple-Data)并行模式,開發者僅需關注一個計算核心上的算子程序實現,程序調用時,可自動啟動N個運行實例(我們稱之為Block),每個實例都可部署到不同的計算核心上執行。由此,大大簡化了開發者在多個計算核心上的并行編程邏輯。


單程序多數據SPMD并行計算

在算子邏輯實現上,Ascend C基于流水線并行的編程范式,將算子核心邏輯劃分為“搬入、計算、搬出”,開發者只需聚焦實現“搬入、計算、搬出”內容,程序運行時,系統會自動將核內數據進行分片,每一片數據都專注完成單一功能,實現計算性能最大化。

核內多片數據流水線并行調度

孿生調試

Ascend提供的多層級類庫接口以及自動并行計算功能,給開發者提供了輕松高效的編碼體驗。但在上一代算子開發的整個流程中,代碼編寫的時間往往僅占不到30%,剩下70%多的時間都在進行功能與性能調試,好的調試能力對提升端到端開發效率的重要性不言而喻。


開發時間占比示例


那為什么算子調試如此耗時呢?究其主要原因,一方面是由于NPU環境下本身調試困難,另一方面是因為編程過程隱藏了并行細節,導致同步死鎖、地址越界、數據溢出等問題難定位。

為提升算子調試效率Ascend C提供了孿生調試能力,開發者既可以在CPU域進行調試調優,又可以在NPU域進行調優驗證,通過CPU域與NPU域相結合的方式,降低調試難度,提升調試效率。

在CPU域,開發者可通過業界標準C++工具GCC編譯器進行編譯,并通過GDB通用調試工具進行單步調試,精準驗證程序執行流程是否符合預期。另外,Ascend還提供了主動Bug分析工具,方便開發者快速進行問題定位;在NPU域,Ascend C提供了仿真調試能力與上板調試能力開發者可以通過仿真調試的Profiling流水圖、指令日志以及數據日志,精準進行性能調優,也可以通過上板調試進行真實行為的驗證。孿生調試的能力,在提升算子調試效率的同時又可保證精度與性能的達標。


昇騰Ascend C孿生調試


人工智能蓬勃發展,算法創新層出不窮。騰Ascend編程語言通過易上手、高性能、易調測的優勢為開發者的創新算法更輕松高效地運行奠定了基石,讓基于騰的AI創新更加簡單。


昇騰Ascend C算子開發快速體驗

責任編輯:張誠
相關推薦

2023-08-29 12:34:51

昇騰

2024-07-18 19:19:14

2025-07-02 16:04:23

2023-02-22 16:11:41

昇騰

2025-07-01 16:04:52

2015-12-11 15:59:10

風行

2025-05-24 14:34:07

2025-05-28 11:58:29

2020-05-11 17:41:04

英特爾

2025-07-01 08:59:12

2025-02-18 11:02:49

2022-12-23 10:55:20

昇智

2025-05-28 08:51:00

大模型華為LLM

2025-06-18 13:29:42

昇騰CANN
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲第一福利网 | 国产精品久久国产愉拍 | 午夜av免费 | 国产精品视频一区二区三区四蜜臂 | 黄色香蕉视频在线观看 | 欧美日日 | 欧美性猛交一区二区三区精品 | av天天干 | 一区二区三区视频在线免费观看 | 欧美成人精品一区二区男人看 | 成人午夜视频在线观看 | www.国产一区| 暖暖日本在线视频 | 亚洲精品一区国产精品 | 免费在线观看成人 | 免费大黄视频 | 蜜桃在线一区二区三区 | 自拍 亚洲 欧美 老师 丝袜 | 久久人人爽人人爽人人片av免费 | 亚洲精品中文字幕av | 欧美日韩一区二区电影 | 欧美日韩电影一区二区 | 欧美在线亚洲 | 丁香婷婷成人 | 国产91中文 | 神马影院一区二区三区 | 国产在线精品一区二区三区 | 精品国产不卡一区二区三区 | 久久久久免费精品国产小说色大师 | 亚洲精品免费观看 | 久久精品国产v日韩v亚洲 | 久久九九免费 | 久久人人爽人人爽人人片av免费 | 色妞av| av毛片免费| 在线永久看片免费的视频 | 一级国产精品一级国产精品片 | 欧美一区二区视频 | 欧美一区二区三区四区五区无卡码 | 日韩精品一区二区三区久久 | 国产精品99久久久久久久久久久久 |