午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種基于mic平臺實現(xiàn)gmres算法并行加速的方法

文檔序號:6632083閱讀:577來源:國知局
一種基于mic平臺實現(xiàn)gmres算法并行加速的方法
【專利摘要】本發(fā)明公開了一種基于MIC平臺實現(xiàn)GMRES算法并行加速的方法,屬于GMRES算法【技術領域】,本發(fā)明要解決如何通過MIC加速GMRES算法求解大規(guī)模線性方程組的技術問題,技術方案為:CPU端負責數(shù)據(jù)讀取,程序串行部分的計算,邏輯控制,同時設定內核的線程執(zhí)行配置,啟動MIC端計算,并接受MIC端的迭代結果;MIC端根據(jù)內核線程執(zhí)行配置啟用相應的線程對程序中的并行部分實施計算;GMRES算法進行并行性分析,定位熱點與性能瓶頸;根據(jù)并行性及熱點分析,實現(xiàn)基于CPU端的OpenMP并行程序版本;根據(jù)GMRES算法的特點,基于CPU端或者MIC端異構平臺進行整體任務分配設計;根據(jù)整體任務分配設計,將CPU端的OpenMP版本移植到MIC端。
【專利說明】-種基于MIC平臺實現(xiàn)GMRES算法并行加速的方法

【技術領域】
[0001] 本發(fā)明涉及一種GMRES算法【技術領域】,具體地說是一種基于MIC平臺實現(xiàn)GMRES 算法并行加速的方法。

【背景技術】
[0002] (1)數(shù)學物理模型的求解是眾多工程生產(chǎn)與科研領域必不可少的工作之一。隨著 計算機的發(fā)展,有限差分、有限元、邊界元、無網(wǎng)格方法等一系列的數(shù)值計算方法相繼誕生。 這些數(shù)值計算方法具有一個相同之處:將實際問題導出的數(shù)學物理模型通過特定的方式離 散成一個線性代數(shù)方程組。然而,隨著問題規(guī)模的增大,線性方程組的求解成為工程生產(chǎn)和 科研中的一大瓶頸。對于大規(guī)模乃至超大規(guī)模的線性方程組,求解變得十分困難。特別當 稀疏矩陣非對稱且無特定結構時,求解幾乎不可能完成。
[0003] (2) GMRES算法(廣義極小殘量法)是求解非對稱的稀疏矩陣的常 用方法,也是Krylov子空間中經(jīng)典算法之一,它是通過Krylov子空間矢 量的最小殘量來迭代求解,收斂速度快,穩(wěn)定性好的優(yōu)點。對線性方程組

【權利要求】
1. 一種基于MIC平臺實現(xiàn)GMRES算法并行加速的方法,其特征在于所應用到的硬件包 括CPU端與MIC端,其中:CPU端負責數(shù)據(jù)讀取,程序串行部分的計算,邏輯控制,同時設定 內核的線程執(zhí)行配置,啟動MIC端計算,并接受MIC端的迭代結果;MIC端根據(jù)內核線程執(zhí) 行配置啟用相應的線程對程序中的并行部分實施計算; 所述方法包括如下: (1) 、GMRES算法進行并行性分析,定位熱點與性能瓶頸; (2) 、根據(jù)并行性及熱點分析,實現(xiàn)基于CPU端的OpenMP并行程序版本; (3) 、根據(jù)GMRES算法的特點,基于CPU端或者MIC端異構平臺進行整體任務分配設計; (4) 、根據(jù)整體任務分配設計,將CPU端的OpenMP版本移植到MIC端。
2. 根據(jù)權利要求1所述的一種基于MIC平臺實現(xiàn)GMRES算法并行加速的方法,其特征 在于所述方法包括如下: (1) 、GMRES算法分為前期預處理、迭代部分、結果輸出三大部分,其中迭代部分為 GMRES算法的主體,前期預處理、結果輸出部分以I/O操作為主,迭代部分的單次迭代操作 流程主要包括Arnodi正交化、Givens變換求解最小二乘問題及構造近似解三部分; (2) 、Arnodi正交化過程進行OpenMP并行設計,Arnodi正交化主要由o(n)階矩陣與向 量相乘、向量內積、向量數(shù)乘以及向量減法四種運算組成,將四種運算作為內核函數(shù),基于 OpenMP開啟多線程并行; (3) 、基于內容(1),對CPU端或者MIC端異構平臺進行整體任務分配,前期預處理、 Givens變換求解最小二乘問題、構造近似解的串行部分交予CPU端計算;算法的主體部 分-Arnodi正交化生成子空間的標準正交積同時生成上Hessenberg矩陣由MIC端計 算; (4) 、根據(jù)內容(1)、(2)、(3),采用以CPU端為主,MIC端為輔的offload模式將程序移 植到MIC端上。
3. 根據(jù)權利要求1所述的一種基于MIC平臺實現(xiàn)GMRES算法并行加速的方法,其特 征在于把數(shù)據(jù)讀取、設定初始值的預處理操作以及由低階矩陣、向量運算為主的Givens變 換、近似解的構造交予CPU端處理,把Arnodi正交化過程利用OpenMP技術進行并行優(yōu)化設 計,并將程序移植到MIC端;CPU端與MIC端協(xié)同計算,最終實現(xiàn)GMRES算法的加速,具體步 驟如下: (1 )、GMRES算法進行并行性分析,定位熱點與性能瓶頸: 首先,將GMRES算法分為預處理、Arnodi正交換生成Krylov子空間與上Hessenberg矩 陣、求解最小二乘問題、構造近似解、后處理五部分; 其次,利用較大規(guī)模的線性方程組求解測試; 最后,GMRES算法的熱點與瓶頸為Arnodi正交化過程; 、進行并行性及熱點分析: Arnodi正交化過程主要基于〇 (n)階矩陣、向量運算,n為大規(guī)模稀疏矩陣的階數(shù),數(shù)量 級大于1〇7,適合大規(guī)模并行;最小二乘問題求解以及構造近似解主要基于〇(m)階矩陣、向 量運算,m為Krylov子空間的維數(shù),取值通常為lOLlO2,不適合大規(guī)模并行; 、實現(xiàn)基于CPU端的OpenMP并行程序版本: Arnodi正交化過程主要由矩陣向量乘、向量內積、向量數(shù)量乘法以及向量減四種操作 構成;設置為四個OpenMP內核函數(shù),通過在循環(huán)編譯指導語句對內核函數(shù)并行; (4) 、根據(jù)GMRES算法的特點,基于CPU端或者MIC端異構平臺進行整體任務分配設計:GMRES算法整體邏輯結構采用CPU端為1顆CPU,MIC端為1塊MIC卡,CPU負責進程調 度、預處理、求解最小二乘問題、構造近似解以及后處理等操作;MIC卡負責Arnodi正交化 的過程;CPU開啟1個進程,預處理操作時可開啟Nc個線程,Nc為CPU的核數(shù),0號線程為 主線程,負責CPU多線程的控制、調度、銷毀以及控制MIC卡的計算;MIC卡計算調用內核函 數(shù)時,開啟4* (Nm-1)個線程,Nm為MIC卡核心數(shù)量,0號線程為主線程,負責MIC線程的調 度、銷毀操作;當Arnodi正交化完成后,MIC端將數(shù)據(jù)傳輸?shù)紺PU端,CPU端開啟Nc個線程 完成求解最小二乘問題、構造近似解以及判斷迭代是否停止操作;從而完成一次完整的迭 代過程; (5) 、根據(jù)整體任務分配設計,將CPU端的OpenMP版本移植到MIC端: 采用以CPU端為主,MIC端為輔的offload模式進行設計,當程序運行到并行內核程序 時,CPU端將任務卸載到MIC端上。
4.根據(jù)權利要求3所述的一種基于MIC平臺實現(xiàn)GMRES算法并行加速的方法,其特征 在于MIC端程序的并行優(yōu)化包括:數(shù)據(jù)傳輸優(yōu)化及內核優(yōu)化;其中數(shù)據(jù)傳輸優(yōu)化是為減少 CPU端與MIC端的數(shù)據(jù)傳遞帶來的花費,采用nocopy的方法來減少不必要的數(shù)據(jù)傳輸;內 核優(yōu)化是通過調節(jié)循環(huán)結構改善內核并行度與cache miss對性能的限制,通過自動向量化 方式提生MIC的處理性能。
【文檔編號】G06F17/10GK104408019SQ201410591315
【公開日】2015年3月11日 申請日期:2014年10月29日 優(yōu)先權日:2014年10月29日
【發(fā)明者】王明清, 張清, 張廣勇, 吳韶華 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1