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

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

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

移動(dòng)GPU經(jīng)典的Rogue架構(gòu)淺析 人工智能的新戰(zhàn)場(chǎng)

SSDFans ? 2018-09-22 22:43 ? 次閱讀

隨著人工智能的飛速發(fā)展,和業(yè)界對(duì)人工智能項(xiàng)目落地的巨大需求,移動(dòng)端GPU的競(jìng)爭(zhēng)也日益激烈,除了來(lái)自各GPU廠(chǎng)商之間的競(jìng)爭(zhēng)之外,也要與專(zhuān)用芯片展開(kāi)競(jìng)爭(zhēng)(例如寒武紀(jì)的NPU等),可謂群雄逐鹿。

在之前的一篇淺析移動(dòng)端GPU的文章中介紹過(guò)移動(dòng)端GPU領(lǐng)域主要的三家廠(chǎng)商。隨著蘋(píng)果棄用PowerVR,在手機(jī)領(lǐng)域Mali和Adreno有著絕對(duì)的優(yōu)勢(shì),而在物聯(lián)網(wǎng)自動(dòng)駕駛領(lǐng)域,三家都并未建立起完整的生態(tài)。這兩個(gè)領(lǐng)域除了GPU,也有一些專(zhuān)用芯片廠(chǎng)商入局,隨著物聯(lián)網(wǎng)和自動(dòng)駕駛的發(fā)展,競(jìng)爭(zhēng)將更加激烈。相對(duì)于其他移動(dòng)廠(chǎng)商,PowerVR在GPU的技術(shù)方面披露的比較多,其中比較經(jīng)典當(dāng)屬Rogue架構(gòu)。Rogue架構(gòu)采用的是延后式分塊渲染架構(gòu)(TBDR),憑借該技術(shù),Rogue架構(gòu)曾一直是移動(dòng)端GPU的標(biāo)桿。作為蘋(píng)果移動(dòng)端GPU的獨(dú)家供應(yīng)商,也曾風(fēng)光無(wú)限。本文就對(duì)Rogue架構(gòu)進(jìn)行一些分析,歡迎高手點(diǎn)評(píng)斧正。

架構(gòu)概述

Rogue架構(gòu)是一種可編程的架構(gòu),能夠支持通用計(jì)算和圖形渲染。Rogue架構(gòu)針對(duì)頂點(diǎn)和像素的傳輸、計(jì)算數(shù)據(jù)在內(nèi)存之間的傳輸以及數(shù)據(jù)和計(jì)算核心之間的交互等提供了不同的硬件。本文將側(cè)重于通用計(jì)算方面的特性。

如上圖所示,Rogue架構(gòu)中通用計(jì)算相關(guān)的部件有計(jì)算數(shù)據(jù)控制器(Compute Data Master,CDM),粗粒度調(diào)度器(Coarse Grain Scheduler,CGS),統(tǒng)一渲染集群(Unified Shading Clusters),L1混合緩存(L1 Mixed Cache)。

GPU的整個(gè)計(jì)算流程是,CDM負(fù)責(zé)將CPU分配的單個(gè)任務(wù)拆分為多個(gè)子任務(wù),然后傳遞給CGS,由CGS將多個(gè)獨(dú)立的子任務(wù)部署到USC上去執(zhí)行。只有計(jì)算任務(wù)是由CDM處理的,所以CDM是計(jì)算任務(wù)專(zhuān)用的通道。

每個(gè)USC pair包含兩個(gè)USCs和一個(gè)紋理處理單元(Texture Processing Unit,TPU),這樣可以有效的平衡紋理訪(fǎng)問(wèn)和計(jì)算。USC是Rogue架構(gòu)中的主要計(jì)算單元。TPU是一種專(zhuān)門(mén)加速內(nèi)核代碼中訪(fǎng)問(wèn)圖像和紋理的硬件,它擁有獨(dú)立的緩存,能夠加速處理器對(duì)圖像數(shù)據(jù)的訪(fǎng)問(wèn)。對(duì)于一些需要對(duì)圖像進(jìn)行專(zhuān)門(mén)訪(fǎng)問(wèn)的算法和一些大尺寸的圖像,TPU可以提供很好的加速效果。

L1混合緩存是Rogue架構(gòu)的主要緩存,所有對(duì)內(nèi)存的訪(fǎng)問(wèn)都會(huì)首先在這里緩存。當(dāng)數(shù)據(jù)讀取不能使用該緩存的時(shí)候,則會(huì)使用系統(tǒng)級(jí)緩存。系統(tǒng)級(jí)的高速緩存直接與系統(tǒng)RAM交互,也是數(shù)據(jù)命中緩存的最后機(jī)會(huì)。

統(tǒng)一渲染集群(USC)

Rogue架構(gòu)中負(fù)責(zé)計(jì)算的核心部件是USC,是一個(gè)可編程的標(biāo)量SIMD處理器,通常包含16個(gè)ALU Pilelines,用來(lái)執(zhí)行計(jì)算內(nèi)核中代碼。下圖為Rogue架構(gòu)中的USC示意圖。

圖中包含多種部件,我們只關(guān)心兩種,一種是內(nèi)存,一種是ALU。USC內(nèi)部的內(nèi)存空間主要包括兩個(gè)寄存器組,一個(gè)是Common Store,由整個(gè)USC共享;一個(gè)是Unified Store,每4個(gè)ALU 管線(xiàn)(Pipelines)共享一塊。

Unified Store是USC中4個(gè)小的由寄存器組成的存儲(chǔ)體,每個(gè)存儲(chǔ)體被4個(gè)ALU Pipes所共享,對(duì)應(yīng)于OpenCL中的私有存儲(chǔ)。每個(gè)Unified store包含1280個(gè)128-bit的寄存器,也就是說(shuō),每個(gè)ALU管線(xiàn)平均擁有320個(gè)寄存器。例如,如果每個(gè)線(xiàn)程申請(qǐng)10個(gè)寄存器,那么,每個(gè)USC上只能執(zhí)行512個(gè)線(xiàn)程(每個(gè)ALU管線(xiàn)執(zhí)行32個(gè)線(xiàn)程,需要320個(gè)寄存器),這也是達(dá)到推薦占有率所需最小的線(xiàn)程數(shù)。由于每個(gè)線(xiàn)程擁有獨(dú)立的寄存器等資源,所以可以實(shí)現(xiàn)0開(kāi)銷(xiāo)的warp切換,切換的時(shí)候不需要進(jìn)行中間數(shù)據(jù)轉(zhuǎn)存。當(dāng)然在具體計(jì)算中,每個(gè)線(xiàn)程即OpenCL的WorkItem所能擁有的寄存器,與多種因素有關(guān)。

這128位的寄存器可以像4個(gè)32位寄存器一樣,被內(nèi)核有效的訪(fǎng)問(wèn),所以?xún)?nèi)核最多可以使用40個(gè)32位寄存器,達(dá)到推薦的利用率。如果一個(gè)給定的內(nèi)核需要的寄存器不止這些,此時(shí)駐留的任務(wù)就會(huì)減少,減少執(zhí)行每個(gè)任務(wù)的線(xiàn)程數(shù)量,這樣每個(gè)線(xiàn)程就會(huì)獲得更多的寄存器空間。Imagination的編譯器只會(huì)降低利用率,因?yàn)檎加新蕦?duì)于隱藏線(xiàn)程中的延遲是至關(guān)重要的。

USC利用率(USC/Multiprocessor utilization),是指USC執(zhí)行活動(dòng)的warp所用的時(shí)間與被阻斷的時(shí)間之比。如下圖所示,其利用率為75%。

USC的占有率是指駐留的warps與可用的駐留槽的比率。如下圖所示,展示了駐留的warps和可用warps的示意圖。駐留槽的數(shù)量與具體產(chǎn)品有關(guān),大多是16個(gè)。圖中的占有率為6/16。

所以,當(dāng)寄存器不夠用的時(shí)候,編譯器會(huì)犧牲利用率,保證占有率,有利于隱藏延遲。如果寄存器溢出嚴(yán)重,利用率不會(huì)無(wú)限制降低,會(huì)達(dá)到一個(gè)限度后,將溢出的寄存器分配到主存儲(chǔ)器中,也就是全局存儲(chǔ)(global memory),這樣會(huì)造成很高的帶寬和延遲成本,大幅度降低程序的性能。當(dāng)然,這種調(diào)度是有軟件控制的,所以不同的設(shè)備之間會(huì)有區(qū)別。

Common Store就是通常意義上的共享內(nèi)存,它是對(duì)一個(gè)USC中的所有ALU Pipelines可見(jiàn)的,主要用于線(xiàn)程之間的數(shù)據(jù)交換,任何共享的內(nèi)存都存儲(chǔ)在這個(gè)位置,例如OpenCL的local memory,OpenGL的share memory。它也用于存儲(chǔ)對(duì)象句柄,例如圖像,紋理和采樣器狀態(tài)等。

Common Store被分配在4個(gè)存儲(chǔ)體中,每個(gè)存儲(chǔ)體可看作是一個(gè)128位寬的數(shù)列,如下圖所示。

在Common Store中,可以同時(shí)從4個(gè)存儲(chǔ)體中獲取數(shù)據(jù),整個(gè)數(shù)據(jù)行可以在單周期內(nèi)讀取,例如一個(gè)任務(wù)中的16個(gè)線(xiàn)程從同一行獲取連續(xù)數(shù)據(jù)(綠色部分),那么每個(gè)線(xiàn)程可以在一個(gè)周期內(nèi)獲取32位值。但是,如果多于一個(gè)線(xiàn)程試圖從同一列訪(fǎng)問(wèn)數(shù)據(jù)(紅色部分),則會(huì)導(dǎo)致存儲(chǔ)體沖突,因?yàn)槊總€(gè)周期,存儲(chǔ)體只能提供一次訪(fǎng)問(wèn)請(qǐng)求,因此請(qǐng)求將被序列化,大大降低訪(fǎng)問(wèn)性能。為了避免存儲(chǔ)體沖突,Common Store中的數(shù)據(jù)應(yīng)該跨行訪(fǎng)問(wèn),每周期訪(fǎng)問(wèn)不同存儲(chǔ)體中的4個(gè)128位寄存器。

ALU Pipelines是USC中的計(jì)算單元,結(jié)構(gòu)圖如下圖所示。這是Series7XT ALUs示意圖。Rogue架構(gòu)中每個(gè)USC包含16個(gè)ALU Pipelines,每個(gè)ALU中包含有FP16,F(xiàn)P32等核心用于計(jì)算。不同型號(hào)的GPU包含的ALU core類(lèi)型不同,數(shù)量也不同。例如在Series7XT Plus GPU中增加了Integer Pipelines,能夠支持Int8和Int16等整數(shù)類(lèi)型,可以大幅度提升GPU性能,在Series7XT GPU中增加了FP64。FP16核心也不是Rogue架構(gòu)的標(biāo)配,早期型號(hào)也是沒(méi)有的。

根據(jù)ALU core的數(shù)量和時(shí)鐘頻率,可以很方便的計(jì)算出GPU的理論峰值??刹捎萌缦鹿剑?/p>

例如Series7XT系列中的GT7600包含6個(gè)USC,一共有192個(gè)FP32 core or 384個(gè)FP16 core。時(shí)鐘頻率有三種可定制,分別為650MHz, 800MHz和1GHz。以650MHz為例,其峰值性能為:

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

    關(guān)注

    27

    文章

    4632

    瀏覽量

    128448
  • 人工智能
    +關(guān)注

    關(guān)注

    1789

    文章

    46348

    瀏覽量

    236517
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    505

    瀏覽量

    25422
  • 寒武紀(jì)
    +關(guān)注

    關(guān)注

    11

    文章

    185

    瀏覽量

    73835

原文標(biāo)題:移動(dòng)GPU的經(jīng)典:淺析Rogue架構(gòu)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    人工智能是什么?

    ` 人工智能是什么?什么是人工智能人工智能是未來(lái)發(fā)展的必然趨勢(shì)嗎?以后人工智能技術(shù)真的能達(dá)到電影里機(jī)器人的智能水平嗎?如果技術(shù)成熟的那一天
    發(fā)表于 09-16 15:40

    百度人工智能大神離職,人工智能的出路在哪?

    發(fā)展規(guī)劃,加快新材料、人工智能、集成電路、生物制藥、第五代移動(dòng)通信等技術(shù)研發(fā)和轉(zhuǎn)化”,這是“人工智能”首次出現(xiàn)在***工作報(bào)告中。兩會(huì)上,百度CEO李彥宏、小米董事長(zhǎng)雷軍、吉利控股集團(tuán)董事長(zhǎng)李書(shū)福等來(lái)自
    發(fā)表于 03-23 17:00

    人工智能到底用 GPU?還是用 FPGA?

    GPU 和 FPGA。有人說(shuō) GPU 好用;有人說(shuō) FPGA 靈活可編程;有人說(shuō) GPU 運(yùn)算能力強(qiáng),適合對(duì)人工智能進(jìn)行“訓(xùn)練”;有人說(shuō)做“推斷”還得靠 FPGA … 作為程序員,您
    發(fā)表于 08-23 15:42

    人工智能就業(yè)前景

    據(jù)相關(guān)招聘機(jī)構(gòu)數(shù)據(jù)顯示,2018年AI領(lǐng)域仍然是大部分資深技術(shù)人才轉(zhuǎn)崗的首選目標(biāo),在人才最緊缺的前十大職位中,時(shí)下最火的大數(shù)據(jù)、人工智能、算法類(lèi)崗位占據(jù)半壁江山。據(jù)調(diào)查指出,2017年技術(shù)研發(fā)類(lèi)崗位
    發(fā)表于 03-29 15:46

    人工智能AI經(jīng)典入門(mén)書(shū)

    人工智能AI經(jīng)典入門(mén)書(shū),很難找的噢,給喜歡的朋友
    發(fā)表于 09-12 17:13

    解讀人工智能的未來(lái)

    `已歷經(jīng)60多年的人工智能在物聯(lián)網(wǎng)以及大數(shù)據(jù)的推動(dòng)下,實(shí)現(xiàn)飛躍式的發(fā)展,并且迎來(lái)了第三個(gè)黃金周期。必優(yōu)傳感今天和大家解讀一下關(guān)于人工智能的未來(lái)。自從有了人工智能,引發(fā)了人類(lèi)的各種“未來(lái)論”。有人說(shuō)
    發(fā)表于 11-14 10:43

    人工智能醫(yī)生未來(lái)或上線(xiàn),人工智能醫(yī)療市場(chǎng)規(guī)模持續(xù)增長(zhǎng)

      導(dǎo)讀:機(jī)構(gòu)預(yù)測(cè),中國(guó)醫(yī)療人工智能的市場(chǎng)需求已達(dá)數(shù)百億元。專(zhuān)家認(rèn)為,“人工智能醫(yī)生”的應(yīng)用,有利于緩解社會(huì)老齡化帶來(lái)的醫(yī)療資源供需失衡以及地域分配不均等問(wèn)題。那么,“人工智能醫(yī)生”何時(shí)能真正
    發(fā)表于 02-24 09:29

    人工智能:超越炒作

    。對(duì)于人工智能用例在當(dāng)前物聯(lián)網(wǎng)環(huán)境中變?yōu)楝F(xiàn)實(shí),必須滿(mǎn)足三個(gè)條件:非常大的真實(shí)數(shù)據(jù)集具有重要處理能力的硬件架構(gòu)和環(huán)境開(kāi)發(fā)新的強(qiáng)大算法和人工神經(jīng)網(wǎng)絡(luò)(ANN)以充分利用上述內(nèi)容很明顯,后兩種要求相互依賴(lài),并且
    發(fā)表于 05-29 10:46

    什么是基于云計(jì)算的人工智能服務(wù)?

    如今,采用人工智能的企業(yè)遇到了一個(gè)主要障礙,那就是在內(nèi)部開(kāi)發(fā)人工智能產(chǎn)品成本高昂,因此有了外包人工智能產(chǎn)品的需求。而對(duì)于從中小企業(yè)到預(yù)算受限的大型企業(yè)來(lái)說(shuō),通過(guò)云計(jì)算來(lái)采用人工智能的成
    發(fā)表于 09-11 11:51

    人工智能芯片是人工智能發(fā)展的

    人工智能芯片是人工智能發(fā)展的 | 特倫斯謝諾夫斯基責(zé)編 | 屠敏本文內(nèi)容經(jīng)授權(quán)摘自《深度學(xué)習(xí) 智能時(shí)代的核心驅(qū)動(dòng)力量》從AlphaGo的人機(jī)對(duì)戰(zhàn),到無(wú)人駕駛汽車(chē)的上路,再到AI合成主播上崗
    發(fā)表于 07-27 07:02

    物聯(lián)網(wǎng)人工智能是什么?

    一、人工智能介紹工作以后想要拿高薪的話(huà),人工智能是你的不二之選,那么問(wèn)題來(lái)了,究竟什么是人工智能呢?又需要了解哪些才能去開(kāi)發(fā)人工智能產(chǎn)品呢?接下來(lái)小編帶領(lǐng)大家進(jìn)入
    發(fā)表于 09-09 14:12

    移動(dòng)終端人工智能技術(shù)與應(yīng)用開(kāi)發(fā)》人工智能的發(fā)展與AI技術(shù)的進(jìn)步

    人工智能的發(fā)展是隨著人類(lèi)生活需要,產(chǎn)業(yè)需求不斷提升的,其中人工智能的發(fā)展很大程度上受到了計(jì)算機(jī)算力的影響,隨著數(shù)據(jù)處理量的增大,人工智能算法對(duì)算力的要求逐年增加,而且沒(méi)過(guò)兩年算力上升一倍,因此往往
    發(fā)表于 02-17 11:00

    移動(dòng)終端人工智能技術(shù)與應(yīng)用開(kāi)發(fā)》+快速入門(mén)AI的捷徑+書(shū)中案例實(shí)操

    操作系統(tǒng)的終端應(yīng)用程序開(kāi)發(fā)經(jīng)驗(yàn)的讀者閱讀。該書(shū)從移動(dòng)終端人工智能技術(shù)應(yīng)用的現(xiàn)狀和發(fā)展態(tài)勢(shì)講起,對(duì)深度學(xué)習(xí)與軟件框架等相關(guān)基礎(chǔ)知識(shí)進(jìn)行了介紹。第2章從總體上介紹移動(dòng)終端AI技術(shù)架構(gòu),包括
    發(fā)表于 02-19 20:24

    移動(dòng)終端人工智能技術(shù)與應(yīng)用開(kāi)發(fā)》+理論學(xué)習(xí)

    收到《移動(dòng)終端人工智能技術(shù)與應(yīng)用開(kāi)發(fā)》有一段時(shí)間了,由于時(shí)間有限,加上工作原因,目前只看到第3章,前幾章主要介紹人工智能和機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),發(fā)展歷程,分類(lèi)等,重點(diǎn)說(shuō)明了,在移動(dòng)終端上
    發(fā)表于 02-27 23:28

    《通用人工智能:初心與未來(lái)》-試讀報(bào)告

    作者給出的結(jié)論。整體讀下來(lái),可以給我們關(guān)于通用人工智能全面的了解。作者也反復(fù)強(qiáng)調(diào)了通用人工智能與專(zhuān)用智能的區(qū)別。尤其是人們錯(cuò)誤的認(rèn)為一堆專(zhuān)用智能堆砌起來(lái)就是通用
    發(fā)表于 09-18 10:02