日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

异构计算编程

發(fā)布時(shí)間:2023/11/28 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 异构计算编程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

異構(gòu)計(jì)算編程
異構(gòu)計(jì)算系統(tǒng)通常由通用處理器和許多特定于域的處理器組成:通用處理器作為控制設(shè)備(稱為主機(jī)),用于復(fù)雜的控制和調(diào)度;特定于域的處理器作為子設(shè)備(稱為MLU),用于大規(guī)模并行計(jì)算和特定于域的計(jì)算任務(wù)。主機(jī)和MLU合作完成計(jì)算任務(wù)。對于異構(gòu)計(jì)算系統(tǒng),原始的同構(gòu)并行編程模型不再適用。因此,異構(gòu)并行編程模型在學(xué)術(shù)界和工業(yè)界受到越來越多的關(guān)注。本文簡要介紹了MLU異構(gòu)編程。
編譯鏈接過程
異構(gòu)編程包括Host和MLU。對于主機(jī),主要包括設(shè)備獲取,數(shù)據(jù)/參數(shù)準(zhǔn)備,執(zhí)行流創(chuàng)建,任務(wù)描述,內(nèi)核啟動(dòng),輸出獲取等。Entry函數(shù)是MLU上的程序項(xiàng),可以調(diào)用MLU函數(shù)。MLU程序使用異構(gòu)編程模型的C / C ++語言擴(kuò)展。二進(jìn)制文件由MLU的指定編譯器編譯。

MLU異構(gòu)程序的編譯和鏈接過程
MLU異構(gòu)程序如圖2所示。MLU異構(gòu)程序。采用單獨(dú)的編程方法,即主機(jī)程序和MLU程序位于不同的文件(即主機(jī)文件和內(nèi)核文件)中。Host程序和MLU程序的異構(gòu)并行程序需要由編譯器進(jìn)行編譯。
主機(jī)程序是常見的C / C ++程序,用戶可以使用任何C / C ++編譯器,例如GCC,CLANG等。MLU程序是基于C / C ++語言的擴(kuò)展,可以通過以下方式進(jìn)行編譯: Cambricon提供的指定編譯器CNCC。主機(jī)鏈接器通過鏈接主機(jī)和MLU中的兩個(gè)目標(biāo)文件,Runtime庫和其他文件來形成可執(zhí)行程序。
平行模型
執(zhí)行模型
啟動(dòng)執(zhí)行任務(wù)時(shí),MLU270根據(jù)taskDimX以1個(gè)單元的并行度發(fā)出并執(zhí)行指令,即最小并行粒度為taskDimX = clusterDim * coreDim。對于MLU270,coreDim = 4,用戶可以通過指定Union類型來控制并行最小粒度taskDimX。下表中顯示了此限制。當(dāng)用戶指定聯(lián)合類型時(shí),如果指定的taskDimX不是clusterDim * coreDim的正整數(shù)倍,則CNRTRuntime將引發(fā)錯(cuò)誤。
限制MLU的軟件和硬件并行大小

MLU270并行執(zhí)行模型
如圖所示,主機(jī)上有三種不同的內(nèi)核功能,這些功能被傳輸?shù)組LU270設(shè)備以執(zhí)行。

總結(jié)

以上是生活随笔為你收集整理的异构计算编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。