dvpp
分布式任務(wù)調(diào)度平臺保證負(fù)載均衡
分布式任務(wù)調(diào)度平臺保證 負(fù)載均衡 是對外提供的一個(gè)重要的任務(wù),這些任務(wù)可能有大量的執(zhí)行,比如網(wǎng)絡(luò)的執(zhí)行、支付和跨多個(gè)任務(wù)等等。但是,當(dāng)應(yīng)用程序被大量的、復(fù)雜的批量計(jì)算任務(wù)時(shí),會使應(yīng)用程序向執(zhí)行批量計(jì)算任務(wù)時(shí),執(zhí)行時(shí)間大大縮短,同時(shí)又不可能造成資源消耗。通過合理的配置,降低負(fù)載。主要用于協(xié)調(diào)整個(gè)分布式任務(wù)執(zhí)行,即任務(wù)執(zhí)行,調(diào)度器。NDPost,性能調(diào)優(yōu)AICore,任務(wù)調(diào)度CPU,任務(wù)等,負(fù)責(zé)整個(gè)任務(wù)的調(diào)度器進(jìn)行具體的調(diào)度。NICPU-Processing,完成一些硬件資源的分配,任務(wù)跑隊(duì)列,調(diào)度器。主要用于調(diào)度器場景下不同的任務(wù),即一個(gè)任務(wù)是一個(gè)或多個(gè)節(jié)點(diǎn)構(gòu)成一個(gè)邏輯單元,所以一個(gè)任務(wù)或多個(gè)節(jié)點(diǎn)可以被調(diào)度。 RMS Package是OpenPackage框架中的特殊組件,它負(fù)責(zé)調(diào)度邏輯的解析器,把任務(wù)拆分成多個(gè)小的APP時(shí),進(jìn)行具體硬件的調(diào)度。OpenPackage把各種物理資源(CPU、內(nèi)存、網(wǎng)絡(luò)、管道、 數(shù)據(jù)庫 或中間件等)進(jìn)行組合,將這些能力編排為Ascend,而引擎是最核心的應(yīng)用領(lǐng)域。OpenPackage把各種物理資源(CPU、內(nèi)存和網(wǎng)絡(luò))進(jìn)行組合,向下對接一塊Ascend平臺,進(jìn)行控制和命令的交互,同時(shí)還負(fù)責(zé)相應(yīng)的應(yīng)用程序流程。DVPP數(shù)字視覺預(yù)處理模塊提供了一個(gè)或多個(gè)視頻,是色域轉(zhuǎn)換,色域轉(zhuǎn)換,圖像歸一化等模型。
AC控制器是否有NAT轉(zhuǎn)換功能
AC控制器是否有NAT轉(zhuǎn)換功能,是專門作用的控制器,專門設(shè)計(jì)計(jì)算機(jī)。為了降低AIPP的神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度,AICore采用了三種新的處理方式,通過減少數(shù)據(jù)的搬運(yùn)次數(shù),提高計(jì)算的效率,提高性能。通過輸入轉(zhuǎn)換過程中可以實(shí)現(xiàn)循環(huán)映射、循環(huán)映射、減少內(nèi)存訪問、降低內(nèi)存訪問等功能,從而提升整體計(jì)算的效率。同時(shí),在對輸入緩沖區(qū)進(jìn)行邏輯卷積,提升性能并減少內(nèi)存使用。通過DVPP提供的VPC-BatchNode作為模型輸入數(shù)據(jù)的臨時(shí)文件,主要用于對輸入數(shù)據(jù)的預(yù)處理,進(jìn)行內(nèi)存復(fù)用,同時(shí)又能節(jié)省內(nèi)存使用。而ECC算法中提供的直接ECC算法,對指令進(jìn)行格式化和VPC、推理的場景上的性能比較好。對于BGR、矩陣乘、除等BGR、卷積之外,還有最多運(yùn)行的執(zhí)行權(quán)值。這些執(zhí)行的指令特定于AICore的支持,包括Scalar標(biāo)量計(jì)算等級。向量運(yùn)算核:Cube>ScalarPS>AICore的通用計(jì)算單元,存儲轉(zhuǎn)換為矩陣乘,即將cube單元的輸出為TensorFlow指令的通用調(diào)度單元。其中Cube單元與Cube為同一種類型執(zhí)行,屬于硬件并行的算子,AICore中的執(zhí)行單元主要負(fù)責(zé)執(zhí)行。AICore負(fù)責(zé)執(zhí)行不同類型的數(shù)據(jù)依賴于ScalarBuffer,完成矩陣乘、Vector類運(yùn)算。程序員可見模塊Cube->AICore的指令調(diào)度單元,完成不同Buffer之間的數(shù)據(jù)依賴性。存儲單元AICore中存在內(nèi)部存儲,AICore需要把外部存儲中的數(shù)據(jù)加載到內(nèi)部存儲中,才能完成相應(yīng)的計(jì)算。其中BIU為AICore與總線交互的接口;MTE為數(shù)據(jù)搬運(yùn)單元,完成不同Buffer之間的數(shù)據(jù)搬運(yùn)。
在線視頻格式轉(zhuǎn)換工具
在線視頻格式轉(zhuǎn)換工具支持對YUV420SP格式的原始格式進(jìn)行編碼輸出到VIS,用于轉(zhuǎn)換視頻格式的場景。對于JPEG格式的視頻,如果該格式不是RGB,則無法解碼。使用Matrix提供的YUV進(jìn)行編碼功能,當(dāng)前只支持算術(shù)編碼格式的視頻解碼。關(guān)于JPEG解碼的功能介紹請參見JPEGD功能。關(guān)鍵概念:將視頻解碼成YUV格式圖片,詳細(xì)說明及調(diào)用示例請參見JPEGE圖片編碼。關(guān)鍵接口的說明如下:調(diào)用acldvppCreateChannel接口創(chuàng)建圖片數(shù)據(jù)處理的通道。創(chuàng)建圖片數(shù)據(jù)處理的通道前,需先調(diào)用acldvppCreateChannelDesc接口創(chuàng)建通道描述信息。實(shí)現(xiàn)JPEG圖片解碼功能前,若需要申請Device上的內(nèi)存存放輸入或輸出數(shù)據(jù),需調(diào)用acldvppMalloc申請內(nèi)存。在申請輸出內(nèi)存前,可調(diào)用acldvppPngPredictEncSize接口根據(jù)輸入圖片描述信息、圖片編碼配置數(shù)據(jù)可預(yù)估圖片編碼后所需的輸出內(nèi)存的大小。對于異步接口,還需調(diào)用aclrtSynchronizeStream接口阻塞程序運(yùn)行,直到指定Stream中的所有任務(wù)都完成。在編碼結(jié)束后,需及時(shí)調(diào)用acldvppFree接口釋放輸入、輸出內(nèi)存。調(diào)用acldvppDestroyChannel接口銷毀圖片數(shù)據(jù)處理的通道。銷毀圖片數(shù)據(jù)處理的通道后,再調(diào)用acldvppDestroyChannelDesc接口銷毀通道描述信息。
Android實(shí)現(xiàn)圖片裁剪
對于用戶自己的模型推理的 數(shù)據(jù)集 ,DVPP已完成。您可以通過DVPPEx接口使用圖片來調(diào)用DVPP提供的編程接口來使用,分為如下幾種場景。DVPP的功能如下,輸入為“DVPP_switch”,再根據(jù)輸入圖片或分辨率進(jìn)行裁剪。Matrix提供的HIAI_DVPP_DMalloc接口申請內(nèi)存,申請到的內(nèi)存滿足DVPP的要求(首地址128對齊)。須知:使用HIAI_DVPP_DMalloc接口申請內(nèi)存時(shí),則由用戶保證申請的內(nèi)存大小與輸入?yún)?shù)jpeg_data_size的參數(shù)值一致。使用Matrix提供的HIAI_DVPP_DMalloc接口申請內(nèi)存,申請到的內(nèi)存大小為“實(shí)際數(shù)據(jù)大小+8byte”,8byte為硬件約束要求。jpegd_raw_formatin_format輸入圖片中yuv的采樣格式,不需要填充,默認(rèn)值即可。true:是false:否,保持源格式輸出。其中灰度圖片輸出的YUV420為fake420形式。boolisVBeforeU該參數(shù)值只能配置為true,v在u前,預(yù)留字段。如果由用戶指定內(nèi)存,使用Matrix提供的HIAI_DVPP_DMalloc接口申請內(nèi)存,申請到的內(nèi)存滿足DVPP的要求(首地址128對齊)。