中文題目:ScalFrag:面向GPU的高效自適應(yīng)啟動(dòng)與分塊MTTKPRP方法
論文題目:ScalFrag: Efficient Tiled-MTTKRP with Adaptive Launching on GPUs
錄用期刊/會(huì)議:IEEE International Conference on Cluster Computing (CCF-B類(lèi)會(huì)議)
原文DOI:10.1109/CLUSTER59578.2024.00036
原文鏈接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10740878
錄用/見(jiàn)刊時(shí)間:07 November 2024
作者列表:
1) 林文清 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 本21
2) 王赫萌 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 先進(jìn)科學(xué)與工程計(jì)算 博23
3) 鄧昊東 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)技術(shù) 碩24
4) 孫慶驍 中國(guó)石油大學(xué)(北京)人工智能學(xué)院 計(jì)算機(jī)系教師
摘要:
本文旨在加速稀疏張量的MTTKRP(矩陣化張量乘以Khatri-Rao積)計(jì)算,首先在GPU平臺(tái)上動(dòng)態(tài)選擇最佳的內(nèi)核啟動(dòng)配置,以適應(yīng)輸入張量的獨(dú)特特征;再通過(guò)共享內(nèi)存減少數(shù)據(jù)訪(fǎng)問(wèn)時(shí)間,采用流水線(xiàn)并行技術(shù)允許多個(gè)計(jì)算任務(wù)并行執(zhí)行,從而降低整體計(jì)算時(shí)間。ScalFrag緩解了稀疏張量模式不規(guī)則造成的瓶頸和數(shù)據(jù)計(jì)算等待時(shí)間過(guò)長(zhǎng)的問(wèn)題,在處理不同特征的稀疏張量時(shí)表現(xiàn)優(yōu)于先進(jìn)庫(kù)ParTI,且在較小的張量上,性能提升更為顯著。實(shí)驗(yàn)結(jié)果表明,MTTKRP的性能提高了1.2倍至2.2倍。
背景與動(dòng)機(jī):
張量分解是從大量高維稀疏數(shù)據(jù)集中挖掘潛在模式的關(guān)鍵技術(shù),在揭示復(fù)雜數(shù)據(jù)中的潛在結(jié)構(gòu)方面發(fā)揮著至關(guān)重要的作用。在張量分解的各種方法中,張量典范分解(CPD)因其在捕捉多元線(xiàn)性關(guān)系方面的有效性,在眾多科學(xué)學(xué)科和實(shí)際應(yīng)用中被廣泛采用。然而,CPD的計(jì)算效率由MTTKRP(矩陣化張量乘以Khatri-Rao積)所主導(dǎo)。由于張量數(shù)據(jù)的多樣性和復(fù)雜性,以及計(jì)算環(huán)境的多變性,幾乎不可能為MTTKRP計(jì)算找到一組通用且最優(yōu)的參數(shù)配置。且現(xiàn)實(shí)世界的張量數(shù)據(jù)通常很大,從主機(jī)到設(shè)備傳輸數(shù)據(jù)會(huì)花費(fèi)大量時(shí)間。本文旨在加速GPU平臺(tái)上的稀疏MTTKRP計(jì)算,通過(guò)自調(diào)優(yōu)啟動(dòng)策略和流水線(xiàn)并行策略,緩解稀疏張量模式不規(guī)則性相關(guān)的瓶頸。
設(shè)計(jì)與實(shí)現(xiàn):
一、自調(diào)優(yōu)啟動(dòng)策略:
該策略的核心在于動(dòng)態(tài)選擇最優(yōu)的參數(shù)組合,以適應(yīng)不同特征的矩陣化張量。通過(guò)分析張量的維度和分布特征,提取張量的關(guān)鍵特征參數(shù),包括張量的全局特征和局部特征,以預(yù)測(cè)MTTKRP操作的執(zhí)行情況。利用提取的特征參數(shù),通過(guò)機(jī)器學(xué)習(xí)訓(xùn)練不同的啟動(dòng)參數(shù)選擇模型,輸出張量啟動(dòng)參數(shù)的最優(yōu)組合。在內(nèi)核計(jì)算過(guò)程中,將頻繁訪(fǎng)問(wèn)的數(shù)據(jù)和中間結(jié)果存儲(chǔ)在共享內(nèi)存中,以減少數(shù)據(jù)訪(fǎng)問(wèn)的延遲。
圖1 自調(diào)優(yōu)啟動(dòng)參數(shù)選擇策略
二、流水線(xiàn)策略:
該策略首先對(duì)COO格式的稀疏張量進(jìn)行分段,每個(gè)分段包含一部分非零元素及其相應(yīng)的坐標(biāo)信息。然后根據(jù)GPU的性能和內(nèi)存容量以及段的數(shù)量創(chuàng)建不同數(shù)量的CUDA流,每個(gè)流負(fù)責(zé)傳輸和處理一個(gè)或多個(gè)特定的數(shù)據(jù)段。當(dāng)一個(gè)數(shù)據(jù)段從CPU傳輸?shù)紾PU時(shí),GPU可以處理之前已經(jīng)傳輸完成的數(shù)據(jù)段,從而減少等待時(shí)間,提高資源利用率。
圖2 用于MTTKRP計(jì)算的流水線(xiàn)并行策略
實(shí)驗(yàn)結(jié)果及分析:
一、MTTKRP內(nèi)核性能對(duì)比
使用ScalFrag后,稀疏張量MTTKRP的平均加速比為1.2倍(最高為2.2倍)。對(duì)于較小的稀疏張量,性能加速更為明顯,因?yàn)樗鼈冊(cè)趦H非零元素的數(shù)量上就存在顯著差異。實(shí)驗(yàn)表明,固定參數(shù)GFlops并不總能達(dá)到最佳計(jì)算性能。ScalFrag通過(guò)為每個(gè)輸入稀疏張量選擇最佳啟動(dòng)設(shè)置,有效提高了MTTKRP的計(jì)算效率。

圖3 ScalFrag和ParTi的MTTKRP內(nèi)核性能對(duì)比
二、MTTKRP端到端性能對(duì)比實(shí)驗(yàn)表明,大多數(shù)張量都能通過(guò)流水線(xiàn)并行實(shí)現(xiàn)性能提升,平均加速比為1.5倍,最大加速比約為2.0倍。輸入的稀疏張量越小,流水線(xiàn)能覆蓋的傳輸時(shí)間就越多,性能加速就越明顯,ScalFrag緩解了前文提到的數(shù)據(jù)計(jì)算等待時(shí)間過(guò)長(zhǎng)的問(wèn)題。
圖4 ScalFrag和ParTi的MTTKRP端到端性能對(duì)比
結(jié)論:
本文深入探討了針對(duì)GPU平臺(tái)的MTTKRP優(yōu)化方法,并設(shè)計(jì)了一種自適應(yīng)啟動(dòng)策略,該策略根據(jù)張量的稀疏特征動(dòng)態(tài)選擇最佳的啟動(dòng)參數(shù)組合,以確保充分利用GPU的計(jì)算資源。本文還引入了一種流水線(xiàn)并行技術(shù),通過(guò)優(yōu)化任務(wù)之間的依賴(lài)關(guān)系,使多個(gè)計(jì)算任務(wù)能夠并行執(zhí)行,從而顯著減少總體計(jì)算時(shí)間。實(shí)驗(yàn)結(jié)果表明,ScalFrag比先進(jìn)庫(kù)ParTI表現(xiàn)更好,并且能夠在短時(shí)間內(nèi)找到更合適的內(nèi)核啟動(dòng)參數(shù)配置。
通訊作者簡(jiǎn)介:
孫慶驍,中國(guó)石油大學(xué)(北京)計(jì)算機(jī)系副教授,碩士生導(dǎo)師,CCF體系結(jié)構(gòu)專(zhuān)委會(huì)執(zhí)行委員,CCF高性能計(jì)算專(zhuān)委會(huì)執(zhí)行委員。2023年博士畢業(yè)于北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,入選首屆“CCF體系結(jié)構(gòu)優(yōu)秀博士學(xué)位論文激勵(lì)計(jì)劃”,獲得“ACM SIGHPC China優(yōu)秀博士學(xué)位論文”。從事任務(wù)運(yùn)行時(shí)系統(tǒng)、深度學(xué)習(xí)系統(tǒng)和性能建模調(diào)優(yōu)等方面的研究,主持國(guó)家自然科學(xué)基金青年項(xiàng)目和國(guó)家重點(diǎn)研發(fā)計(jì)劃子課題各1項(xiàng)。以第一作者及通訊作者在SC、IPDPS、TC、TPDS等高水平國(guó)際會(huì)議和期刊上發(fā)表論文10余篇,獲得IEEE Computer亮點(diǎn)論文和CLUSTER’21會(huì)議最佳論文提名。擔(dān)任IEEE TC/TPDS/TCC、ACM Computing Survey、Springer SUPE/FCS、CCF THPC、計(jì)算機(jī)工程與科學(xué)等國(guó)內(nèi)外期刊的審稿人。
聯(lián)系方式:[email protected]