• 正文
    • 1. 理解多深度網(wǎng)絡(luò)生成和執(zhí)行的上下文
    • 2. 深度神經(jīng)網(wǎng)絡(luò)DNN在NPU上調(diào)度的目標(biāo)和挑戰(zhàn)
    • 3. 多深度神經(jīng)網(wǎng)絡(luò)DNN在NPU上的調(diào)度優(yōu)化策略
    • 總結(jié)
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

多深度神經(jīng)網(wǎng)絡(luò)的調(diào)度機(jī)制研究

2023/01/28
669
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

自動(dòng)駕駛系統(tǒng)依賴于人工智能深度神經(jīng)網(wǎng)絡(luò)(deep neural networks, DNN)算法來(lái)執(zhí)行感知、決策和控制等復(fù)雜任務(wù)。

近年來(lái),針對(duì)于自動(dòng)駕的深度神經(jīng)網(wǎng)絡(luò)算法的精度有了顯著提高。然而,汽車在行駛過(guò)程中,除了要保證自動(dòng)駕駛系統(tǒng)的輸出和決策是準(zhǔn)確的之外,其時(shí)機(jī)也必須是確定性的,因?yàn)榧词箿?zhǔn)確但過(guò)晚的輸出可能導(dǎo)致汽車撞上障礙物從而發(fā)生事故。因此準(zhǔn)確性和實(shí)時(shí)性都是安全系統(tǒng)中需要考慮的關(guān)鍵因素。

深入理解自動(dòng)駕駛系統(tǒng)中的深度神經(jīng)網(wǎng)絡(luò)模型的工作負(fù)載的多樣性和有效的端到端執(zhí)行,為準(zhǔn)確和實(shí)時(shí)的執(zhí)行提供硬件軟件機(jī)制是保障自動(dòng)駕駛安全和有效的基礎(chǔ)。

考慮到自動(dòng)駕駛系統(tǒng)當(dāng)中有多深度神經(jīng)網(wǎng)絡(luò)模型需要同時(shí)運(yùn)行,每個(gè)模型的工作負(fù)載的多樣性以及特殊安全性需求等等挑戰(zhàn),如何能夠設(shè)計(jì)一個(gè)高效可靠且能適配于神經(jīng)網(wǎng)絡(luò)處理器(Neural Network Processing unit, NPU)硬件架構(gòu)的多深度神經(jīng)網(wǎng)絡(luò)DNN的調(diào)度機(jī)制越來(lái)越成為自動(dòng)駕駛領(lǐng)域內(nèi)各方關(guān)注重點(diǎn)和研究對(duì)象。

1. 理解多深度網(wǎng)絡(luò)生成和執(zhí)行的上下文

1. 1 深度神經(jīng)網(wǎng)絡(luò)工作負(fù)載的生成

深度神經(jīng)網(wǎng)絡(luò)DNN的可執(zhí)行文件的生成通常包含以下幾個(gè)步驟:

首先是在Pytorch、Tensorflow等AI框架下開(kāi)發(fā)和訓(xùn)練得到的模型,也可以進(jìn)一步將模型轉(zhuǎn)換成ONNX格式。

通常模型在訓(xùn)練完之后,還會(huì)通過(guò)模型壓縮工具進(jìn)一步進(jìn)行壓縮和轉(zhuǎn)換,這包括量化、稀疏以及剪枝等等,這些方法可以大大地提升模型運(yùn)行的效率,并節(jié)約硬件中存儲(chǔ)等資源,這一步驟是可選的。

被轉(zhuǎn)換后的模型通過(guò)AI編譯器進(jìn)行編譯,通常AI編譯器至少分成前端和后端兩個(gè)部分,前端將模型進(jìn)行多層融合和算子對(duì)應(yīng)并生成圖形表達(dá),后端則是負(fù)責(zé)將高階的模型表達(dá)形式轉(zhuǎn)換成低階的張量或者算子層級(jí)的表達(dá),并完成到硬件資源的映射和存儲(chǔ)分配,生成機(jī)器代碼,最終編譯器將輸出可執(zhí)行文件,以支持在NPU硬件中執(zhí)行。

有的編譯器可以支持單個(gè)或者多個(gè)模型同時(shí)處理,并且將他們聯(lián)合進(jìn)行編譯乘多種輸出形式的二進(jìn)制文件,包括單個(gè)模型在單個(gè)stream中,多個(gè)模型分成多個(gè)stream,以及多個(gè)模型混合在同一個(gè)stream當(dāng)中。

1.2 深度神經(jīng)網(wǎng)絡(luò)工作負(fù)載的執(zhí)行

上一節(jié)介紹了深度神經(jīng)網(wǎng)絡(luò)DNN,接下來(lái)再理解下深度神經(jīng)網(wǎng)絡(luò)DNN是如何在硬件中執(zhí)行的。

DNN的執(zhí)行大體上也可以分為幾個(gè)層級(jí),最頂層的是應(yīng)用層,正如之前提到的,編譯器可以將多個(gè)神經(jīng)網(wǎng)絡(luò)模型分布單個(gè)或者多個(gè)stream當(dāng)中,在中間層的調(diào)度負(fù)責(zé)將具體的任務(wù)負(fù)載從各個(gè)stream中提取出來(lái)放到調(diào)度隊(duì)列當(dāng)中,然后由底層驅(qū)動(dòng)和運(yùn)行時(shí)調(diào)度器將任務(wù)分配到NPU硬件中進(jìn)行執(zhí)行。

負(fù)責(zé)執(zhí)行深度神經(jīng)網(wǎng)絡(luò)的硬件架構(gòu)有多種形式,從單個(gè)計(jì)算核心到多個(gè)簇(Cluster)以及異構(gòu)架構(gòu)等等。一般來(lái)說(shuō)計(jì)算核心是由調(diào)度器以及處理單元(Processing Element,PE)陣列組成,而cluster則有多個(gè)計(jì)算核心組成。在異構(gòu)架構(gòu)中除了有PE陣列單元負(fù)責(zé)卷積以及矩陣操作之外,還有支持向量運(yùn)算的向量計(jì)算單元等等。

2. 深度神經(jīng)網(wǎng)絡(luò)DNN在NPU上調(diào)度的目標(biāo)和挑戰(zhàn)

2.1 深度神經(jīng)網(wǎng)絡(luò)DNN在NPU上調(diào)度的挑戰(zhàn)

01、多深度神經(jīng)網(wǎng)絡(luò)DNNS的實(shí)時(shí)性要求

各個(gè)模型需要執(zhí)行的開(kāi)始時(shí)間不同,同時(shí)各個(gè)模型的任務(wù)截止時(shí)間也不相同。另外優(yōu)先級(jí)高的模型任務(wù)需要得到優(yōu)先調(diào)度,甚至有的時(shí)候需要搶占式來(lái)保證高優(yōu)先級(jí)的任務(wù)模型立即執(zhí)行。最后還要滿足模型的服務(wù)質(zhì)量(quality of service,QOS)的要求等等。

02、深度神經(jīng)網(wǎng)絡(luò)的負(fù)載多樣性

深度神經(jīng)網(wǎng)絡(luò)由多個(gè)層級(jí)組成的結(jié)構(gòu),其負(fù)載實(shí)質(zhì)上就是其中不同層級(jí)中的算子操作。這些算子的計(jì)算強(qiáng)度各不相同,計(jì)算強(qiáng)度是由計(jì)算量除以訪存量就可以得到的,它表示此模型在計(jì)算過(guò)程中,每個(gè)字節(jié)內(nèi)存交換到底用于進(jìn)行多少次浮點(diǎn)運(yùn)算,其單位是字節(jié)每秒浮點(diǎn)運(yùn)算次數(shù)(FPLOPs)/字節(jié)(Byte),算子計(jì)算強(qiáng)度越大,其內(nèi)存使用效率越高。根據(jù)計(jì)算強(qiáng)度我們可以把不同的算子其分為計(jì)算受限(computing-bound)以及存儲(chǔ)受限(memory-bound)兩種類型。

對(duì)于計(jì)算受限的算子,它們通常對(duì)相同的數(shù)據(jù)執(zhí)行多個(gè)操作,因此可以充分利用加速器中的處理元素。但是,它們不需要經(jīng)常從內(nèi)存中獲取數(shù)據(jù),而不需要充分利用內(nèi)存緩沖區(qū)和帶寬。這是卷積算子的情況。

對(duì)于存儲(chǔ)受限的算子,它們的數(shù)據(jù)可重用性很低。因此,他們需要非常頻繁地獲取數(shù)據(jù),計(jì)算資源沒(méi)有得到充分利用,等待更多的數(shù)據(jù)。池化(Pooling)、全連接層(full connection)、激活函數(shù)(activation function)等算子以及自注意力(self-attention)等算子都是受內(nèi)存限制類型的。

正是由于計(jì)算受限和存儲(chǔ)受限的算子對(duì)于資源的訴求不同,因?yàn)檎{(diào)度器需要根據(jù)將被執(zhí)行的算子的特性進(jìn)行不同的調(diào)度策略和資源分配才能達(dá)到實(shí)時(shí)性和高效率的要求。

03、特殊安全和可靠性需求

一些負(fù)載由于要滿足特殊安全性的需求,需要通過(guò)硬件資源與其他的負(fù)載進(jìn)行分離以達(dá)到確保的安全性和實(shí)時(shí)性。

04、硬件靈活性帶來(lái)的映射空間巨大

NPU的架構(gòu)形式非常豐富,而不同的硬件架構(gòu)形式又決定了NPU可以支持的調(diào)度的靈活性。

硬件支持的調(diào)度靈活性通??梢苑譃樗膫€(gè)維度:

T 即數(shù)據(jù)切塊大小(Tile sizes):改變張量數(shù)據(jù)結(jié)構(gòu)在多層次結(jié)構(gòu)的緩沖區(qū)的每個(gè)級(jí)別中的數(shù)據(jù)切塊的邊界和寬高比。

O 即循環(huán)順序(Loop order):改變每個(gè)數(shù)據(jù)切塊的循環(huán)計(jì)算結(jié)構(gòu)中循環(huán)執(zhí)行順序。

P 即循環(huán)并行化(Loop parallelization):改變每個(gè)數(shù)據(jù)切塊的計(jì)算中從哪個(gè)張量維度(長(zhǎng)、寬或者通道)進(jìn)行并行化調(diào)度,這實(shí)際代表著數(shù)據(jù)的空間劃分(例如跨多個(gè)PE劃分)。

S 即數(shù)組形狀(Array shape):改變加速器硬件資源即PE陣列的邏輯形狀和集群方式。這決定了數(shù)據(jù)切塊的數(shù)量和在PE陣列上映射的張量維度的最大切塊尺寸。

每一種靈活性都會(huì)帶來(lái)多余的硬件面積,因此絕大多數(shù)NPU硬件架構(gòu)只能支持以上幾個(gè)維度當(dāng)中的一個(gè)或幾個(gè), 但是也會(huì)形成一個(gè)巨大的硬件映射空間,而針對(duì)于一個(gè)特定任務(wù)負(fù)載的每一個(gè)調(diào)度的決策在這個(gè)映射空間都是一個(gè)點(diǎn),其結(jié)果都會(huì)得到不同的延時(shí)以及硬件利用率等性能。這些因素都給調(diào)度器和編譯器帶來(lái)了相當(dāng)?shù)膹?fù)雜度。

2.2 多深度神經(jīng)網(wǎng)絡(luò)DNN調(diào)度的目標(biāo)和指標(biāo)

在多個(gè)DNN工作負(fù)載運(yùn)行時(shí),對(duì)于調(diào)度機(jī)制來(lái)說(shuō)有多個(gè)而不是單一的優(yōu)化目標(biāo),包括滿足不同DNN網(wǎng)絡(luò)的實(shí)時(shí)性要求,高效的硬件映射以及調(diào)度的開(kāi)銷/收益的平衡等等。

在評(píng)估調(diào)度方法時(shí),常見(jiàn)具體使用性能指標(biāo)以及計(jì)算公式如下公式所示:系統(tǒng)吞吐量(STP),度量在多程序執(zhí)行下,每個(gè)任務(wù)的性能下降的程度:

標(biāo)準(zhǔn)化周轉(zhuǎn)時(shí)間(NTT),用來(lái)度量單一任務(wù)執(zhí)行的時(shí)間是否比多個(gè)任務(wù)執(zhí)行時(shí)放緩:

NTT的算術(shù)平均值(ANTT),即NTT的算數(shù)平均值:

公平性(Fairness),在多任務(wù)環(huán)境下,相對(duì)于任務(wù)的孤立執(zhí)行,衡量任務(wù)進(jìn)度的平等程度:

上述式子中,Cisingle表示僅有第i個(gè)深度神經(jīng)網(wǎng)絡(luò)DNN在NPU中執(zhí)行所需的時(shí)間,Cimulti表示有n個(gè)深度神經(jīng)網(wǎng)絡(luò)DNN在NPU中執(zhí)行時(shí),第i個(gè)深度神經(jīng)網(wǎng)絡(luò)DNN執(zhí)行所需要的時(shí)間,而PPi的表示如下式所示:

3. 多深度神經(jīng)網(wǎng)絡(luò)DNN在NPU上的調(diào)度優(yōu)化策略

3.1 單個(gè)深度神經(jīng)網(wǎng)絡(luò)DNN調(diào)度優(yōu)化方案

傳統(tǒng)上優(yōu)化DNN調(diào)度的問(wèn)題主要就是關(guān)注在單個(gè)核心NPU或GPU中調(diào)度單個(gè)模型到達(dá)最低的時(shí)延和最高的硬件利用率。

在DNN的運(yùn)行分層從上到下使用了幾種優(yōu)化技術(shù),:

服務(wù)層級(jí)編排(orchestration):它發(fā)生在軟件層級(jí),當(dāng)云服務(wù)接收數(shù)百萬(wàn)DNN任務(wù)并將其分發(fā)到多個(gè)服務(wù)器時(shí)。

圖級(jí)并行化:在DNN編譯器中通常使用有向無(wú)環(huán)圖(Directed Acyclic Graph, DAG),其中節(jié)點(diǎn)表示深度神經(jīng)網(wǎng)絡(luò)中的算子,邊表示張量。這一級(jí)別的優(yōu)化旨在充分實(shí)現(xiàn)圖中的并行性提高計(jì)算效率,因此通常是在軟件的編譯器中進(jìn)行優(yōu)化。

運(yùn)行時(shí)級(jí)調(diào)度:旨在使用負(fù)載平衡和并發(fā)方式來(lái)優(yōu)化算子之間的并行性上。在單一DNN模型推理中,這僅限于模型內(nèi)的并行性, 而在多個(gè)DNN模型推理中,則可以是跨模型的并發(fā)。

算子級(jí)別:通過(guò)循環(huán)平鋪和緩沖區(qū)管理等機(jī)制來(lái)加速算子執(zhí)行,以達(dá)到充分利用NPU計(jì)算和內(nèi)存資源。在GPU中,這通常是作為內(nèi)核級(jí)的調(diào)優(yōu)完成,而在NPU中,則是由編譯器完成的。

3.2 多個(gè)深度神經(jīng)網(wǎng)絡(luò)DNN調(diào)度優(yōu)化策略

01、時(shí)分復(fù)用(time multiplex)

時(shí)分復(fù)用是一種常用的多神經(jīng)網(wǎng)路調(diào)度的策略是時(shí)分多路復(fù)用。

在這種策略中,單個(gè)DNN模型使用整個(gè)加速器,然后轉(zhuǎn)換到另一個(gè)DNN網(wǎng)絡(luò)模型。這通常是通過(guò)每個(gè)DNN在不同的stream中來(lái)進(jìn)行管理的。

時(shí)分多路復(fù)用調(diào)度策略也可以采用多種多樣的形式,例如可以是基于FIFO的、固定時(shí)間的、貪婪的或計(jì)算-存儲(chǔ)平衡的等等策略。其中計(jì)算-內(nèi)存平衡調(diào)度器的目標(biāo)是提高硬件利用率并降低總體延遲,當(dāng)內(nèi)存資源被完全占用時(shí),它們會(huì)調(diào)度計(jì)算受限(computing-bounding)的算子到硬件中執(zhí)行,而當(dāng)計(jì)算能力被充分利用時(shí),則調(diào)度內(nèi)存受限(memory-bounding)的算子到硬件資源中執(zhí)行。

02、共部(co-location)

在多個(gè)同一類的網(wǎng)絡(luò)模型共享使用同一個(gè)硬件資源的方式叫做共部(Co-location),這可以通過(guò)在硬件架構(gòu)中使用不同處理器模塊專用于多個(gè)同一類的網(wǎng)絡(luò)模型來(lái)實(shí)現(xiàn)。

例如在FPGA模型開(kāi)發(fā)研究中,通常每個(gè)網(wǎng)絡(luò)或每種網(wǎng)絡(luò)類型都有一個(gè)專門(mén)的處理器模塊。但是共部(Co-location)不僅局限于FPGA上的專用處理器模塊,在具有多核的NPU硬件架構(gòu)中,也可以將每個(gè)核都分配一個(gè)網(wǎng)絡(luò)模型。

03、混合調(diào)度

共地址的調(diào)度方式也可以與時(shí)分多路復(fù)用方法相結(jié)合。如下圖所示,在NPU架構(gòu)中有4個(gè)計(jì)算核心,其中左邊三個(gè)核心支持分時(shí)復(fù)用的調(diào)度策略,而最右側(cè)的核心則實(shí)現(xiàn)了共部調(diào)度策略;在這種情況下,調(diào)度可以獲得一些模型的時(shí)間復(fù)用優(yōu)勢(shì),同時(shí)保持一個(gè)模型的專用核心。這可能是決定論或安全性所需要的。

不同的方法需要不同的硬件和軟件來(lái)支持它們,這取決于不同的場(chǎng)景的需求,在設(shè)計(jì)中考慮運(yùn)行時(shí)哪項(xiàng)指標(biāo)是最重要的:吞吐量、延遲、公平性或確定性。

3.3多核架構(gòu)NPU的調(diào)度策略

多核架構(gòu)NPU的調(diào)度策略主要有:

基于幀的分割: 同一個(gè)深度神經(jīng)網(wǎng)絡(luò)DNN模型推理時(shí),可以并行處理多幀數(shù)據(jù)的推理,而不同幀則由不同的計(jì)算核心同時(shí)處理,模型參數(shù)可以在核心之間共享。

基于層的分割: 在運(yùn)行深度神經(jīng)網(wǎng)絡(luò)DNN對(duì)某一幀數(shù)據(jù)進(jìn)行推理的時(shí)候,將DNN模型按照層進(jìn)行分割后在多個(gè)計(jì)算核并行處理。這種方法提高了吞吐量,但是需要一個(gè)很好的平衡策略使整個(gè)網(wǎng)絡(luò)模型能夠恰好地分割到所有核心,否則會(huì)出現(xiàn)部分計(jì)算核心處于空閑狀態(tài),從而降低了硬件領(lǐng)用率和推理時(shí)延。

共享輸入特征的特征映射分區(qū):在這種方法中,通過(guò)將深度神經(jīng)網(wǎng)絡(luò)DNN中的每一層的輸入特征(input feature)劃分到不同的核心并行運(yùn)行??紤]到數(shù)據(jù)可以廣播,因此帶寬顯著減少。由于每次只在每個(gè)核上處理輸入特征的一部分,因此在最后要做一些后處理來(lái)考慮邊緣對(duì)齊。

共享權(quán)重的特征映射分區(qū):和前一種方式類似,只是劃分的對(duì)象變成了權(quán)重而非輸入特性。在深度神經(jīng)網(wǎng)絡(luò)DNN中的每一層通過(guò)在不同計(jì)算核心中劃分權(quán)重來(lái)在多個(gè)計(jì)算核心中并行運(yùn)行,同時(shí)帶寬會(huì)顯著減少。

總結(jié)

深度神經(jīng)網(wǎng)絡(luò)模型DNN正以令人眼花繚亂的速度演進(jìn)發(fā)展,隨著算法多樣性和更高算力的需求推動(dòng)著NPU的硬件架構(gòu)朝著規(guī)模越來(lái)越大,核心的數(shù)量也越來(lái)越多,而硬件的設(shè)計(jì)和驗(yàn)證時(shí)間相比軟件更費(fèi)時(shí)費(fèi)力,這使得處于模型算法和硬件之間的調(diào)度系統(tǒng)變得越來(lái)越重要。

如何在硬件加速器上高效地運(yùn)行多個(gè)DNN模型的策略選擇有很多,許多新的優(yōu)化機(jī)會(huì)還在不斷涌現(xiàn)中。

然而,這些優(yōu)化是有代價(jià)的,目前看起來(lái)最有前景的調(diào)度策略都需要硬件支持,如搶占表、權(quán)重的內(nèi)存直接訪問(wèn)(Direct Memory Access,DMA)、輸入特征的DMA或硬件運(yùn)行時(shí)調(diào)度模塊。

因此在為未來(lái)的深度神經(jīng)網(wǎng)絡(luò)DNN設(shè)計(jì)調(diào)度機(jī)制時(shí),最大挑戰(zhàn)是需要協(xié)同軟件和硬件在成本、性能和未來(lái)工作負(fù)載的靈活性之間保持良好的平衡。

參考文獻(xiàn):

[1] H. Kwon, P. Chatarasi, M. Pellauer, A. Parashar, V. Sarkar, and T. Krishna, ‘Understanding Reuse, Performance, and Hardware Cost of DNN Dataflows: A Data-Centric Approach Using MAESTRO’. arXiv, May 11, 2020. Accessed: Jul. 21, 2022. [Online]. Available: http://arxiv.org/abs/1805.02566

[2] L. Liu, Y. Wang, and W. Shi, ‘Understanding Time Variations of DNN Inference in Autonomous Driving’. arXiv, Sep. 12, 2022. doi: 10.48550/arXiv.2209.05487.

[3] F. Yu et al., ‘Automated Runtime-Aware Scheduling for Multi-Tenant DNN Inference on GPU’. arXiv, Nov. 28, 2021. doi: 10.48550/arXiv.2111.14255.

[4] Y. Choi and M. Rhu, ‘PREMA: A Predictive Multi-task Scheduling Algorithm For Preemptible Neural Processing Units’. arXiv, Sep. 06, 2019. Accessed: Jul. 19, 2022. [Online]. Available: http://arxiv.org/abs/1909.04548

[5] E. Baek, D. Kwon, and J. Kim, ‘A Multi-Neural Network Acceleration Architecture’, in 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), May 2020, pp. 940–953. doi: 10.1109/ISCA45697.2020.00081.

[6] J.-H. Kim, S. Yoo, S. Moon, and J.-Y. Kim, ‘Exploration of Systolic-Vector Architecture with Resource Scheduling for Dynamic ML Workloads’. arXiv, Jun. 07, 2022. Accessed: Aug. 12, 2022. [Online]. Available: http://arxiv.org/abs/2206.03060

[7] S. I. Venieris and C.-S. Bouganis, ‘f-CNNx: A Toolflow for Mapping Multiple Convolutional Neural Networks on FPGAs’, in 2018 28th International Conference on Field Programmable Logic and Applications (FPL), Dublin, Ireland, Aug. 2018, pp. 381–3817. doi: 10.1109/FPL.2018.00072.

[8] Y. H. Oh et al., ‘Layerweaver: Maximizing Resource Utilization of Neural Processing Units via Layer-Wise Scheduling’, in 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA), Seoul, Korea (South), Feb. 2021, pp. 584–597. doi: 10.1109/HPCA51647.2021.00056.

[9] F. Yu, D. Wang, L. Shangguan, M. Zhang, C. Liu, and X. Chen, ‘A Survey of Multi-Tenant Deep Learning Inference on GPU’. arXiv, May 24, 2022. Accessed: Dec. 15, 2022. [Online]. Available: http://arxiv.org/abs/2203.09040

[10] Stylianos I. Venieris, Chistos-Savvas Bouganis, Nicholas D. Lane, ‘Multi-DNN Accelerators for

Next-Generation AI Systems’. IEEE Computer Journal, 2022

[11] S.-C. Kao, H. Kwon, M. Pellauer, A. Parashar, and T. Krishna, ‘A Formalism of DNN Accelerator Flexibility’. arXiv, Jun. 06, 2022. Accessed: Aug. 17, 2022. [Online]. Available: http://arxiv.org/abs/2206.02987

作者簡(jiǎn)介

Carlos Nossa,復(fù)睿微電子英國(guó)研發(fā)中心軟件架構(gòu)師,常駐英國(guó)劍橋。曾在知名通信芯片公司參與多款物聯(lián)網(wǎng)芯片相關(guān)的開(kāi)發(fā)和研究工作,負(fù)責(zé)期平臺(tái)軟件架構(gòu)設(shè)計(jì),并通過(guò)安全認(rèn)證,實(shí)現(xiàn)海量發(fā)貨。

Shawn Ouyang,復(fù)睿微電子英國(guó)研發(fā)中心系統(tǒng)架構(gòu)師,常駐英國(guó)劍橋。曾在某頂尖通信公司的海內(nèi)外研究所從事近10年手機(jī)和物聯(lián)網(wǎng)芯片相關(guān)的開(kāi)發(fā)和研究工作。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫(xiě)文章/發(fā)需求
立即登錄