国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法_2

      文檔序號(hào):8298924閱讀:來(lái)源:國(guó)知局
      int Source, unsigned intSMAddr, unsigned int Size) (4)
      [0036]void—gr_MemcpyStoG(int SMId, unsigned int Destinat1n, unsigned intSMAddr, unsigned int Size) (5)
      [0037]參數(shù)SMId為一個(gè)RPU中的共享內(nèi)存標(biāo)記號(hào)(0_3),SMAddr是指共享內(nèi)存中起始地址,Source和Destinat1n是指DDR中的起始地址,Size是指拷貝的數(shù)據(jù)塊的大小(字節(jié)數(shù))。
      [0038]4)同步擴(kuò)展:任務(wù)函數(shù)與子任務(wù)函數(shù)的異步調(diào)用方式將會(huì)使程序的正確性難以維護(hù),因此需要一種同步機(jī)制來(lái)維護(hù)這種正確性。為了保持與ANSI C語(yǔ)法的兼容性,本發(fā)明提出以函數(shù)的形式來(lái)進(jìn)行同步。在普通函數(shù)中的同步函數(shù)與在任務(wù)函數(shù)中的同步函數(shù)分別如公式(6)和公式(7)所示:
      [0039]void—gr_syn () ; (6)
      [0040]void—gr_syntask () ; (7)
      [0041]同步函數(shù)—gr_syn()只能被普通函數(shù)調(diào)用,其功能是同步RPU,等待所有RPU執(zhí)行完后普通函數(shù)才能繼續(xù)往下執(zhí)行。同步函數(shù)—gr_syntaskO只能被任務(wù)函數(shù)調(diào)用,其功能是同步協(xié)控制器所進(jìn)行的所有異步操作,這些異步操作包括了異步調(diào)用PEA與異步進(jìn)行PEA相關(guān)的內(nèi)存操作,等待所有這些異步操作完成后子任務(wù)函數(shù)才能繼續(xù)往下執(zhí)行。
      [0042]以下結(jié)合圖2和圖3對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
      [0043]圖2是本發(fā)明的一個(gè)簡(jiǎn)單程序示例圖,程序完成的功能是將數(shù)組A與數(shù)據(jù)B進(jìn)行相加計(jì)算,計(jì)算結(jié)果存入數(shù)組C中。
      [0044]函數(shù)201是普通的ANSI C函數(shù),其將會(huì)在主控制器上運(yùn)行。這些普通函數(shù)會(huì)進(jìn)行一些不適合映射到RPU的串行計(jì)算,同時(shí)還可進(jìn)行任務(wù)函數(shù)的調(diào)用與同步。
      [0045]函數(shù)202是任務(wù)函數(shù)的定義,其將會(huì)在RPU的協(xié)控制器上運(yùn)行,主要是來(lái)進(jìn)行PEA計(jì)算的輸入輸出數(shù)據(jù)搬運(yùn)、配置信息搬運(yùn)以及PEA的調(diào)度工作等。對(duì)PEA的調(diào)用是通過(guò)子任務(wù)函數(shù)調(diào)用來(lái)實(shí)現(xiàn)的。通過(guò)同步函數(shù)與子任務(wù)函數(shù)的調(diào)用,以及子任務(wù)與數(shù)據(jù)的合理劃分可以實(shí)現(xiàn)復(fù)雜的并行模式,如流處理模式。
      [0046]函數(shù)203是子任務(wù)函數(shù)的定義,其將被編譯成配置信息映射到PEA上進(jìn)行可重構(gòu)計(jì)算。
      [0047]圖3是本發(fā)明的程序在所面向的粗粒度可重構(gòu)處理器上的一個(gè)簡(jiǎn)單的執(zhí)行過(guò)程。
      [0048]在步驟301中,程序一開(kāi)始加載到主存儲(chǔ)器中,然后在主控制器上進(jìn)行一些串行運(yùn)算,接著執(zhí)行步驟302 ;
      [0049]在步驟302中,程序通過(guò)任務(wù)函數(shù)調(diào)用語(yǔ)句來(lái)進(jìn)行RPU的調(diào)用,這個(gè)函數(shù)調(diào)用過(guò)程在正真執(zhí)行時(shí)包含了四部分操作。首先程序會(huì)通過(guò)上層驅(qū)動(dòng)來(lái)進(jìn)行RPU資源的申請(qǐng),如果沒(méi)有空閑RPU則會(huì)等待,如果有可用RPU則會(huì)開(kāi)始調(diào)用該RPU ;接著便會(huì)將任務(wù)函數(shù)的實(shí)參從主存儲(chǔ)器傳遞到對(duì)應(yīng)RPU的協(xié)控制器內(nèi)存中;然后將任務(wù)函數(shù)對(duì)應(yīng)的二進(jìn)制可執(zhí)行文件從主存儲(chǔ)器拷貝至協(xié)控制器內(nèi)存中;最后啟動(dòng)協(xié)控制器,協(xié)控制器執(zhí)行過(guò)程如步驟305。調(diào)用完任務(wù)函數(shù)后,主控制器將繼續(xù)執(zhí)行步驟303 ;
      [0050]在步驟303中,使用同步機(jī)制來(lái)進(jìn)行同步,主控制器會(huì)處于掛起等待狀態(tài)。步驟302的任務(wù)函數(shù)調(diào)用是異步調(diào)用,當(dāng)主控制器調(diào)用完成后可以進(jìn)行其他計(jì)算,但如果在后續(xù)的步驟中需要使用RPU計(jì)算結(jié)果,則需要使用同步機(jī)制來(lái)進(jìn)行同步,等待所有RPU執(zhí)行完成后繼續(xù)執(zhí)行步驟304 ;
      [0051]在步驟304中,主控制繼續(xù)執(zhí)行相關(guān)計(jì)算;
      [0052]在步驟305中,任務(wù)函數(shù)開(kāi)始在協(xié)控制器上執(zhí)行任務(wù),經(jīng)過(guò)開(kāi)始的簡(jiǎn)短計(jì)算后,進(jìn)入步驟306 ;
      [0053]在步驟306中,任務(wù)函數(shù)通過(guò)調(diào)用內(nèi)存操作函數(shù)來(lái)控制協(xié)控制器將PEA計(jì)算所需的輸入數(shù)據(jù)從主控制器拷貝到PEA的共享存儲(chǔ)器中,然后執(zhí)行步驟307 ;
      [0054]在步驟307中,任務(wù)函數(shù)通過(guò)調(diào)用同步函數(shù)來(lái)等待PEA數(shù)據(jù)傳輸完成。內(nèi)存操作函數(shù)的執(zhí)行是異步的,為了等待其執(zhí)行完成,需要調(diào)用同步函數(shù)。當(dāng)PEA輸入數(shù)據(jù)傳輸完成后,執(zhí)彳丁步驟308 ;
      [0055]在步驟308中,任務(wù)函數(shù)將會(huì)通過(guò)子任務(wù)函數(shù)的調(diào)用來(lái)進(jìn)行PEA的可重構(gòu)計(jì)算。協(xié)控制器通過(guò)調(diào)用子任務(wù)函數(shù)來(lái)調(diào)用PEA計(jì)算,這個(gè)調(diào)用過(guò)程包括四部分操作。首先協(xié)控制器會(huì)等待該P(yáng)EA執(zhí)行完成;然后將子任務(wù)函數(shù)的實(shí)參從協(xié)控制器的內(nèi)存空間拷貝到PEA的共享內(nèi)存中;接著會(huì)將配置信息從主存儲(chǔ)器拷貝到PEA的相應(yīng)位置;最后異步啟動(dòng)PEA,PEA計(jì)算入步驟312。子任務(wù)函數(shù)調(diào)用完成后,任務(wù)函數(shù)將進(jìn)入步驟309 ;
      [0056]在步驟309中,任務(wù)函數(shù)可以進(jìn)行一些其他的不相關(guān)計(jì)算,但如果后續(xù)操作要使用PEA的計(jì)算結(jié)果,則需要通過(guò)同步函數(shù)調(diào)用來(lái)等待PEA的計(jì)算完成,然后進(jìn)入步驟310 ;
      [0057]在步驟310中,PEA計(jì)算完成,任務(wù)函數(shù)通過(guò)內(nèi)存操作函數(shù)將計(jì)算結(jié)果從共享存儲(chǔ)器拷貝至主存儲(chǔ)器,拷貝過(guò)程為異步的,然后執(zhí)行步驟311 ;
      [0058]在步驟311中,任務(wù)函數(shù)會(huì)等待拷貝完成,然后進(jìn)行其他相關(guān)計(jì)算;
      [0059]在步驟312中,PEA將通過(guò)子任務(wù)函數(shù)對(duì)應(yīng)的配置信息進(jìn)行可重構(gòu)計(jì)算。
      [0060]與現(xiàn)有技術(shù)相比,本發(fā)明的可重構(gòu)架構(gòu)及其并行擴(kuò)展方法包括以下創(chuàng)新點(diǎn)及有益效果:
      [0061]1、本發(fā)明的并行標(biāo)記方法是面向本發(fā)明的可重構(gòu)架構(gòu),即三層次異構(gòu)粗粒度可重構(gòu)處理器而進(jìn)行設(shè)計(jì)的,將ANSI C函數(shù)分為三類,普通函數(shù)、任務(wù)函數(shù)與子任務(wù)函數(shù),相互之間能實(shí)現(xiàn)靈活調(diào)用,因此能充分實(shí)現(xiàn)復(fù)雜的并行模式,有效挖掘該可重構(gòu)架構(gòu)的并行計(jì)算能力。
      [0062]2、本發(fā)明基于ANSI C進(jìn)行原語(yǔ)言的擴(kuò)展,擴(kuò)展包括了函數(shù)定義、函數(shù)調(diào)用、內(nèi)存操作擴(kuò)展與同步擴(kuò)展,這些擴(kuò)展方式都盡可能保持與ANSI C語(yǔ)法一致,因此與原有代碼的兼容性好、對(duì)程序員非常友好,同時(shí)其編譯器也可在原有ANSI C編譯器基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),極大減小編譯器開(kāi)發(fā)難度。
      [0063]3、本發(fā)明的并行標(biāo)記方法對(duì)可重構(gòu)單元與處理單元陣列的調(diào)用方式都是以函數(shù)調(diào)用的方式來(lái)進(jìn)行,函數(shù)調(diào)用過(guò)程實(shí)際包括了資源申請(qǐng)、函數(shù)實(shí)參傳遞、指令與配置信息傳遞以及計(jì)算模塊啟動(dòng)等四部分操作。這四部分操作可由簡(jiǎn)單的函數(shù)調(diào)用過(guò)程來(lái)實(shí)現(xiàn),使程序可讀性強(qiáng),對(duì)程序員非常友好。
      [0064]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包括這些改動(dòng)和變型在內(nèi)。
      【主權(quán)項(xiàng)】
      1.一種基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其中,所述基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)包括用于可重構(gòu)計(jì)算的處理單元陣列、用于控制所述處理單元陣列的協(xié)控制器,以及用于調(diào)度、啟動(dòng)與運(yùn)行所述協(xié)控制器的主控制器,其特征在于,包括 分別定義運(yùn)行于所述主控制器上的普通函數(shù)、運(yùn)行于所述協(xié)控制器上的任務(wù)函數(shù)以及運(yùn)行于所述處理單元陣列上的子任務(wù)函數(shù),其中所述任務(wù)函數(shù)由所述普通函數(shù)調(diào)用,所述子任務(wù)函數(shù)由所述協(xié)控制器調(diào)用。
      2.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述擴(kuò)展方法是在ANSI C語(yǔ)言的基礎(chǔ)上進(jìn)行原語(yǔ)言級(jí)的擴(kuò)展。
      3.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述函數(shù)的定義方法通過(guò)添加關(guān)鍵字的形式來(lái)實(shí)現(xiàn)。
      4.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,任務(wù)函數(shù)的調(diào)用在程序執(zhí)行過(guò)程中包括資源申請(qǐng)、實(shí)參傳遞、可執(zhí)行文件傳遞以及協(xié)控制器啟動(dòng)控制等步驟。
      5.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,子任務(wù)函數(shù)的調(diào)用在程序執(zhí)行過(guò)程中包括資源申請(qǐng)、實(shí)參傳遞、配置信息傳遞以及處理單元啟動(dòng)控制等步驟。
      6.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述主控制器、協(xié)控制器以及處理單元陣列的內(nèi)存互相獨(dú)立。
      7.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述任務(wù)函數(shù)和子任務(wù)函數(shù)的實(shí)參傳遞為隱式傳遞。
      8.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述主存儲(chǔ)器與所述共享存儲(chǔ)器之間實(shí)際操作數(shù)據(jù)與計(jì)算結(jié)果的傳遞為顯式傳遞。
      9.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述任務(wù)函數(shù)與所述子任務(wù)函數(shù)的調(diào)用為異步調(diào)用。
      10.如權(quán)利要求1所述的基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其特征在于,所述普通函數(shù)與所述任務(wù)函數(shù)中均包含同步函數(shù),分別用于同步所述協(xié)控制器與所述處理單元陣列進(jìn)行的異步操作。
      【專利摘要】本發(fā)明提供一種基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)的并行擴(kuò)展方法,其中所述基于多層次異構(gòu)結(jié)構(gòu)的可重構(gòu)架構(gòu)包括用于可重構(gòu)計(jì)算的處理單元陣列、用于控制所述處理單元陣列的協(xié)控制器,以及用于調(diào)度、啟動(dòng)與運(yùn)行所述協(xié)控制器的主控制器,面向上述可重構(gòu)架構(gòu),本發(fā)明的擴(kuò)展方法在ANSI C基礎(chǔ)上擴(kuò)展并定義三類函數(shù):普通函數(shù)、任務(wù)函數(shù)與子任務(wù)函數(shù),相互之間能實(shí)現(xiàn)靈活調(diào)用,因此能充分實(shí)現(xiàn)復(fù)雜的并行模式,有效挖掘多層次異構(gòu)結(jié)構(gòu)可重構(gòu)架構(gòu)的并行計(jì)算能力。
      【IPC分類】G06F9-48
      【公開(kāi)號(hào)】CN104615496
      【申請(qǐng)?zhí)枴緾N201510052052
      【發(fā)明人】樓杰超, 繩偉光, 何衛(wèi)鋒, 景乃鋒, 蔣劍飛, 毛志剛
      【申請(qǐng)人】上海交通大學(xué)
      【公開(kāi)日】2015年5月13日
      【申請(qǐng)日】2015年1月30日
      當(dāng)前第2頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1