CN106020773A - 异构众核架构中有限差分算法的优化方法 - Google Patents
异构众核架构中有限差分算法的优化方法 Download PDFInfo
- Publication number
- CN106020773A CN106020773A CN201610320899.4A CN201610320899A CN106020773A CN 106020773 A CN106020773 A CN 106020773A CN 201610320899 A CN201610320899 A CN 201610320899A CN 106020773 A CN106020773 A CN 106020773A
- Authority
- CN
- China
- Prior art keywords
- mic
- cpu
- data
- core
- optimization method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 50
- 238000005457 optimization Methods 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 230000000750 progressive effect Effects 0.000 claims abstract description 9
- 230000009286 beneficial effect Effects 0.000 claims abstract description 5
- 230000008030 elimination Effects 0.000 claims abstract description 5
- 238000003379 elimination reaction Methods 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 16
- 241001269238 Data Species 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 7
- 238000003491 array Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000007667 floating Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 230000003313 weakening effect Effects 0.000 abstract 1
- 238000004088 simulation Methods 0.000 description 7
- 230000000903 blocking effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006049 ring expansion reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明属于高性能计算技术领域,具体的涉及一种异构众核架构中有限差分算法的优化方法,在基于众核加速器(MIC)与多核通用处理器(CPU)相结合的混合异构高性能计算机系统中,对有限差分算法使用三步递进优化法进行优化:主要包括基本优化法、并行优化法和异构协同优化法。本发明的有益效果是:应用三步递进优化法解决有限差分算法从多核系统到异构众核系统时由跨越式访存、可并行执行绪不足带来的计算性能低、并行效果差的问题,是一种具有高效性、可扩展性的优化方法,通过分支消除、循环展开、不变量外提等基本优化法削减计算强度并为向量化扫除障碍;通过分析数据依赖,循环分块,使用向量指令集改写核心算法等并行优化法,充分利用众核处理器多线程、长向量的机制。
Description
技术领域
本发明属于高性能计算技术领域,具体的说,属于高性能计算机领域中异构系统中的CPU与MIC协同优化技术领域,具体的涉及一种异构众核架构中有限差分算法的优化方法。
背景技术
MIC(Many Integrated Cores),即“众核架构”具有远多于CPU核心的体系结构,支持与CPU并行计算的功能。
近年来,随着大规模并行体系结构的发展,异构众核架构在超级计算领域获得了广泛应用。从每半年公布一次的超级计算机Top500榜单中可以看出,更专注于并行处理性能的MIC越来越多地被集成在高性能集群中,其中2015年11月公布的榜单中,排名第一的天河2号与排名第二的Titan均采用该体系架构。
从程序设计角度看,由于MIC和CPU使用相同的编程模型,用户程序并不需要做特别的修改就可以正常运行于MIC架构上。但是大多用户程序都是串行程序,即使用户实现了其并性版本,往往由于并行度不够,远不能发挥出MIC架构并行执行程序的高性能。MIC架构上的并行分为四个层面:(1)MIC核层面的并行:每个MIC核都配有长度超过CPU核的向量处理单元,以支持更高效率的SIMD(Single Instruction Multiple Data)并行操作,实现指令级并行。(2)单MIC卡层面的并行:每个MIC卡由多于50个核构成,每个核提供4个硬件线程,可以提供多达200多个线程,实现线程级并行。(3)MIC+CPU层面的并行:MIC和CPU异构协同,通过数据传输最小化,负载均衡,实现CPU和MIC间进程级并行。(4)MIC集群层面的并行:在集群间部署多MIC卡,通过任务划分,MPI通信模型,实现集群级并行。
有限差分数值算法用于模拟波在弹性介质中的传播,广泛应用于地震模拟、资源勘探、无损探伤等领域。该算法通过求解偏微分方程组和时间迭代模拟弹性波传播,具有简单、灵活、通用性强、易于程序实现等优点。但是有限差分存在访存跨度大,计算密度高,算法性能差等问题,往往受限于模拟范围、模拟时长的规模。利用异构众核系统的并行特性进行有限差分数值模拟,可以很好解决上述问题。
发明内容
本发明要解决的技术问题是:解决有限差分数值算法在异构众核架构运行时性能较低,受限于模拟范围和模拟时长的问题。本发明提供一种使有限差分算法高效运行于异构众核架构优化方法。
本发明的技术方案是:一种异构众核架构中有限差分算法的优化方法,有限差分算法采用三步递进优化法进行优化,所述三步递进优化法的具体步骤为:
步骤一、基本优化,提取循环不变量削减计算强度、消除循环分支以利于向量化;
步骤二、并行优化,采用OpenMP并行模型,通过在核心循环前加入编译指示,实现线程级并行,采用内建向量指令改写核心循环,实现指令级并行;
步骤三、异构协同优化,在异构众核平台下,使用offload分载模式可以将部分计算从CPU端分载至MIC端。
所述的异构众核架构中有限差分算法的优化方法,所述步骤一的具体为:通过循环展开、不变量外提基本优化法削减计算强度,变换循环变量初值及退出条件消除分支判断。所述的异构众核架构中有限差分算法的优化方法,所述步骤二具体为:循环分块后,使用OpenMP并行模型,使多线程执行算法时具有更好的空间局部性,同时,使用内建向量指令并插入数据预取指令,在充分利用MIC核指令级并行的基础上,有效缩短计算单元等待数据传输的时间。
所述的异构众核架构中有限差分算法的优化方法,所述内建向量的具体步骤为:
步骤201:将X维循环for(x=xx;x<xmax;x++)改写为for(x=xx;x<xmax;x+=16),以16个单精度浮点数为一个向量,每循环一次得到16个计算结果,循环量降为原来的1/16;
步骤202:将16个连续数据prev[x+i]...prev[x+i+15]读取至512位向量寄存器xVec中以计算FDx的第i个分量,并将结果累加至向量寄存器sumVec中,将16个连续数据prev[x+i*n1]...prev[x+i*n1+15]读取至512位向量寄存器yVec中并计算FDy的第i个分量,并将结果累加至向量寄存器sumVec中,同理将16个连续数据prev[x+i*n1n2]...prev[x+i*n1n2+15]读取至512位向量寄存器zVec中以计算FDz的第i个分量,并将结果累加至向量寄存器sumVec中;
步骤203、使用向量融合加/减指令计算next,将计算结果写回next[x]...next[x+15]。
所述的异构众核架构中有限差分算法的优化方法,所述步骤三主要包括数据传输优化和负载均衡优化。
所述的异构众核架构中有限差分算法的优化方法,所述数据传输优化具体方法为:有限差分算法主要包括next、prev和vel三个数组;三个数组的传输量均与分载给MIC的负载有关:设在X,Y,Z维度下的输入规模为N1,N2和N3,CPU与MIC的负载比例为Lc:Lm,数组vel作为只读数组,仅需首次由CPU传向MIC并由MIC保留在其内存中,传输数据量为字节,之后的迭代不再需要将vel传给MIC,使用分载模式中的nocopy技术实现;数组next和prev均为读写数组,在时间步迭代中依次轮流担任写目的地数组,因此除了需要首次将数据传输至MIC,迭代过程中还要相互交换依赖部分;首次传输数组next和prev的数据量均为字节;每次迭代结束时,CPU端与MIC端交换依赖数据:CPU端传输N1*N2*8*sizeof(float)字节的数据至MIC,同时MIC端传输N1*N2*8*sizeof(float)字节的数据至CPU;将数组next分给CPU和MIC并行计算,阴影部分数据不在计算范围,而是在当次迭代结束后由另一端传输过来;数组nextmic最后的N1*N2*8个数据由CPU端对应部分的计算结果传入,nextcpu最前的N1*N2*8个数据由MIC端对应部分的计算结果传入;数据交换结束后即可开始下次迭代,直至程序结束。所述的异构众核架构中有限差分算法的优化方法,所述负载均衡优化具体方法为:首先根据输入规模分别在CPU端和MIC端运行优化后的程序,使用分块探索工具得到最优的分块大小;然后使用在CPU和MIC上测得的程序吞吐量Tcpu和Tmic,并根据公式
Lcpu:Lmic=Tcpu:Tmic
计算得到CPU和MIC的负载Lcpu和Lmic;最后根据负载比例,将数据从CPU端分载至MIC端,使用offload分载模式中的异步计算模式在CPU和MIC端并行计算,以此做到负载均衡。
本发明的有益效果是:1、本发明异构众核系统中有限差分算法优化方法,应用三步递进优化法解决有限差分算法从多核系统到异构众核系统时由跨越式访存、可并行执行绪不足带来的计算性能低、并行效果差的问题,是一种具有高效性、可扩展性的优化方法,通过分支消除、循环展开、不变量外提等基本优化法削减计算强度并为向量化扫除障碍;通过分析数据依赖,循环分块,使用向量指令集改写核心算法等并行优化法,充分利用众核处理器多线程、长向量的机制;在异构众核平台下,通过数据传输最小化,负载均衡等异构协同优化法,实现并优化了多核处理器和众核处理器的并行计算。
2、本发明异构众核系统中有限差分算法优化方法,采用指令级预取技术解决算法由跨越式访存导致缓存脱靶从而造成计算部件等待数据加载,浪费计算资源的问题。创新地采用多级缓存预取,使基于流水线的硬件执行单元可以提前完成读数据操作,减少流水线气泡的产生,加速指令的执行。
3、本发明异构众核系统中有限差分算法优化方法,应用多层循环分块技术解决算法从多核系统到异构众核系统时可并行执行绪不足的问题,是一种灵活、可扩展的优化技术,创新地采用启发式分块探索最优块大小,使算法具有更好的局部性,更加紧密地适应异构众核系统的多级cache配置。
4、本发明异构众核系统中有限差分算法优化方法应用于众核加速器(MIC)与多核通用处理器(CPU)或其它处理器相结合的混合异构的高性能计算机系统中,通过数据传输和异构协同优化将数值计算在多核处理器与众核处理器上并行进行,同以往的多核或众核并行结构相比,利用该优化方法即可以支持异构众核系统上算法的高效执行,又可以通过PCI-E互联其他异构众核系统,使用消息传递接口(MPI)提供集群级并行,取得最大程度的加速。
附图说明
图1为有限差分(Finite Difference)算法异构协同计算原理图;
图2为有限差分算法异构数据划分及传输示意图;
具体实施方式
实施例1:结合图1-图2,一种异构众核架构中有限差分算法的优化方法,有限差分算法采用三步递进优化法进行优化,所述三步递进优化法的具体步骤为:
步骤一、基本优化,提取循环不变量削减计算强度、消除循环分支以利于向量化;具体为:通过循环展开、不变量外提基本优化法削减计算强度,变换循环变量初值及退出条件消除分支判断。
步骤二、并行优化,采用OpenMP并行模型,通过在核心循环前加入编译指示,实现线程级并行,采用内建向量指令改写核心循环,实现指令级并行;具体为:循环分块后,使用OpenMP并行模型,使多线程执行算法时具有更好的空间局部性,同时,使用内建向量指令并插入数据预取指令,有效缩短计算单元等待数据传输的时间;内建向量的具体步骤为:步骤201:将X维循环for(x=xx;x<xmax;x++)改写为for(x=xx;x<xmax;x+=16),以16个单精度浮点数为一个向量,每循环一次得到16个计算结果,循环量降为原来的1/16;
步骤202:将16个连续数据prev[x+i]...prev[x+i+15]读取至512位向量寄存器xVec中以计算FDx的第i个分量,并将结果累加至向量寄存器sumVec中,将16个连续数据prev[x+i*n1]...prev[x+i*n1+15]读取至512位向量寄存器yVec中并计算FDy的第i个分量,并将结果累加至向量寄存器sumVec中,同理将16个连续数据prev[x+i*n1n2]...prev[x+i*n1n2+15]读取至512位向量寄存器zVec中以计算FDz的第i个分量,并将结果累加至向量寄存器sumVec中;
步骤203、使用向量融合加/减指令计算next,将计算结果写回next[x]...next[x+15]。
步骤三、异构协同优化,在异构众核平台下,使用offload分载模式可以将部分计算从CPU端分载至MIC端。主要包括数据传输优化和负载均衡优化。
数据传输优化具体方法为:有限差分算法主要包括next、prev和vel三个数组;三个数组的传输量均与分载给MIC的负载有关:设在X,Y,Z维度下的输入规模为N1,N2和N3,CPU与MIC的负载比例为Lc:Lm,数组vel作为只读数组,仅需首次由CPU传向MIC并由MIC保留在其内存中,传输数据量为字节,之后的迭代不再需要将vel传给MIC,使用分载模式中的nocopy技术实现;数组next和prev均为读写数组,在时间步迭代中依次轮流担任写目的地数组,因此除了需要首次将数据传输至MIC,迭代过程中还要相互交换依赖部分;首次传输数组next和prev的数据量均为字节;每次迭代结束时,CPU端与MIC端交换依赖数据:CPU端传输N1*N2*8*sizeof(float)字节的数据至MIC,同时MIC端传输N1*N2*8*sizeof(float)字节的数据至CPU;将数组next分给CPU和MIC并行计算,阴影部分数据不在计算范围,而是在当次迭代结束后由另一端传输过来;数组nextmic最后的N1*N2*8个数据由CPU端对应部分的计算结果传入,nextcpu最前的N1*N2*8个数据由MIC端对应部分的计算结果传入;数据交换结束后即可开始下次迭代,直至程序结束。负载均衡优化具体方法为:首先根据输入规模分别在CPU端和MIC端运行优化后的程序,使用分块探索工具得到最优的分块大小;然后使用在CPU和MIC上测得的程序吞吐量Tcpu和Tmic,并根据公式
Lcpu:Lmic=Tcpu:Tmic
计算得到CPU和MIC的负载Lcpu和Lmic;最后根据负载比例,将数据从CPU端分载至MIC端,使用offload分载模式中的异步计算模式在CPU和MIC端并行计算,以此做到负载均衡。
具体实施例2:结合图1-图2,参见图1、图2,本发明异构众核系统中有限差分数值算法优化方法,在基于众核加速器(MIC)与多核通用处理器(CPU)相结合的混合异构高性能计算机系统中,通过变换循环变量初值及退出条件消除分支判断,因为处理器在处理条件分支时,分支预测逻辑单元在计算结果可用之前就会采用基于统计的方法对该计算结果进行预测,一旦分支预测失误,指令流水线将重新回到该分支位置,产生流水线气泡,造成时钟周期的浪费。此外,分支预测失败后,编译器也就不能继续进行循环展开或SIMD向量化等后续优化,影响程序性能;通过在核心循环前加入编译指示,实现线程级并行,采用多层循环分块的方法对算法的三层循环进行分块,将算法核心的三重循环局部于块内,同时使用OpenMP编译指示collapse子句压缩分块后的循环以提供充足的可并行执行绪;由于程序存在跨越式数据访存,存在访存不连续现象,因此加入多级缓存预取指令_mm_prefetch以降低由于缓存脱靶所产生的延迟:在每次读取一个维度的向量数据之后,调用_mm_prefetch将下一循环所需要的同维度向量数据预取至L0Cache,同时将距离DIST的向量数据预取至L1Cache,其中DIST需要通过测试获得。
通过CPU与MIC协同并行进一步提高程序效率。使用offload分载模式可以将部分计算从CPU端分载至MIC端,需要指出,由于CPU和MIC不共享物理内存,对有限差分算法进行异构协同优化时,分载至MIC端的计算所依赖的数据也要从CPU的内存空间传输至MIC的内存空间,因此会产生额外的通信开销;另一方面,由于程序并行运行在CPU和MIC上,两端硬件结构的差异势必造成程序在两端运行时的性能差异。因此需要对数据传输进行优化以最小化数据交换,以及按照CPU和MIC的计算能力合理地分配负载。在负载均衡优化中,首先根据输入规模分别在CPU端和MIC端运行优化后的程序,使用自动测试工具得到最优的分块大小;然后使用在CPU和MIC上测得的程序吞吐量(单位时间内处理浮点数的数据量)Tcpu和Tmic计算得到CPU和MIC的负载Lcpu和Lmic。最后根据负载比例,将数据从CPU端分载至MIC端,使用offload分载模式中的异步计算模式在CPU和MIC端并行计算,以此做到负载均衡。
Claims (7)
1.一种异构众核架构中有限差分算法的优化方法,其特征在于:有限差分算法采用三步递进优化法进行优化,所述三步递进优化法的具体步骤为:
步骤一、基本优化,提取循环不变量削减计算强度、消除循环分支以利于向量化;
步骤二、并行优化,采用OpenMP并行模型,通过在核心循环前加入编译指示,实现线程级并行,采用内建向量指令改写核心循环,实现指令级并行;
步骤三、异构协同优化,在异构众核平台下,使用offload分载模式可以将部分计算从CPU端分载至MIC端。
2.根据权利要求1所述的异构众核架构中有限差分算法的优化方法,其特征在于:所述步骤一的具体为:通过循环展开、不变量外提基本优化法削减计算强度,变换循环变量初值及退出条件消除分支判断。
3.根据权利要求1所述的异构众核架构中有限差分算法的优化方法,其特征在于:所述步骤二具体为:通过分析数据依赖,使用内建向量指令改写算法,进行循环分块,然后使用OpenMP并行模型,使多线程执行算法时具有更好的空间局部性,同时,使用内建向量指令并插入数据预取指令,有效缩短计算单元等待数据传输的时间。
4.根据权利要求3所述的异构众核架构中有限差分算法的优化方法,其特征在于:所述内建向量的具体步骤为:
步骤201:将X维循环for(x=xx;x<xmax;x++)改写为for(x=xx;x<xmax;x+=16),以16个单精度浮点数为一个向量,每循环一次得到16个计算结果,循环量降为原来的1/16;
步骤202:将16个连续数据prev[x+i]...prev[x+i+15]读取至512位向量寄存器xVec中以计算FDx的第i个分量,并将结果累加至向量寄存器sumVec中,将16个连续数据prev[x+i*n1]...prev[x+i*n1+15]读取至512位向量寄存器yVec中并计算FDy的第i个分量,并将结果累加至向量寄存器sumVec中,同理将16个连续数据prev[x+i*n1n2]...prev[x+i*n1n2+15]读取至512位向量寄存器zVec中以计算FDz的第i个分量,并将结果累加至向量寄存器sumVec中;
步骤203、使用向量融合加/减指令计算next,将计算结果写回next[x]...next[x+15]。
5.根据权利要求1所述的异构众核架构中有限差分算法的优化方法,其特征在于:所述步骤三主要包括数据传输优化和负载均衡优化。
6.根据权利要求5所述的异构众核架构中有限差分算法的优化方法,其特征在于:所述数据传输优化具体方法为:有限差分算法主要包括next、prev和vel三个数组;三个数组的传输量均与分载给MIC的负载有关:设在X,Y,Z维度下的输入规模为N1,N2和N3,CPU与MIC的负载比例为Lc:Lm,数组vel作为只读数组,仅需首次由CPU传向MIC并由MIC保留在其内存中,传输数据量为字节,之后的迭代不再需要将vel传给MIC,使用分载模式中的nocopy技术实现;数组next和prev均为读写数组,在时间步迭代中依次轮流担任写目的地数组,因此除了需要首次将数据传输至MIC,迭代过程中还要相互交换依赖部分;首次传输数组next和prev的数据量均为字节;每次迭代结束时,CPU端与MIC端交换依赖数据:CPU端传输N1*N2*8*sizeof(float)字节的数据至MIC,同时MIC端传输N1*N2*8*sizeof(float)字节的数据至CPU;将数组next分给CPU和MIC并行计算,阴影部分数据不在计算范围,而是在当次迭代结束后由另一端传输过来;数组nextmic最后的N1*N2*8个数据由CPU端对应部分的计算结果传入,nextcpu最前的N1*N2*8个数据由MIC端对应部分的计算结果传入;数据交换结束后即可开始下次迭代,直至程序结束。
7.根据权利要求5所述的异构众核架构中有限差分算法的优化方法,其特征在于:所述负载均衡优化具体方法为:首先根据输入规模分别在CPU端和MIC端运行优化后的程序,使用分块探索工具得到最优的分块大小;然后使用在CPU和MIC上测得的程序吞吐量Tcpu和Tmic,并根据公式:
Lcpu:Lmic=Tcpu:Tmic
计算得到CPU和MIC的负载Lcpu和Lmic;最后根据负载比例,将数据从CPU端分载至MIC端,使用offload分载模式中的异步计算模式在CPU和MIC端并行计算,以此做到负载均衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610320899.4A CN106020773B (zh) | 2016-05-13 | 2016-05-13 | 异构众核架构中有限差分算法的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610320899.4A CN106020773B (zh) | 2016-05-13 | 2016-05-13 | 异构众核架构中有限差分算法的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020773A true CN106020773A (zh) | 2016-10-12 |
CN106020773B CN106020773B (zh) | 2018-09-18 |
Family
ID=57098083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610320899.4A Expired - Fee Related CN106020773B (zh) | 2016-05-13 | 2016-05-13 | 异构众核架构中有限差分算法的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020773B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301081A (zh) * | 2017-07-04 | 2017-10-27 | 广东工业大学 | 一种VaR计量方法及系统 |
CN107908477A (zh) * | 2017-11-17 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种用于射电天文数据的数据处理方法及装置 |
CN109002659A (zh) * | 2018-09-07 | 2018-12-14 | 西安交通大学 | 一种基于超级计算机的流体机械仿真程序优化方法 |
CN112559952A (zh) * | 2019-09-26 | 2021-03-26 | 无锡江南计算技术研究所 | 基于序列分层的异构众核快速傅里叶变换方法 |
CN113076135A (zh) * | 2021-04-06 | 2021-07-06 | 谷芯(广州)技术有限公司 | 一种针对专用指令集处理器的逻辑资源共享方法 |
CN113741567A (zh) * | 2021-11-08 | 2021-12-03 | 广东省新一代通信与网络创新研究院 | 矢量加速器及其控制方法、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225483A1 (en) * | 2003-02-24 | 2004-11-11 | Michal Okoniewski | Fdtd hardware acceleration system |
CN103278848A (zh) * | 2013-04-22 | 2013-09-04 | 中山大学 | 基于mpi并行预条件迭代的地震成像正演方法 |
CN103544356A (zh) * | 2013-10-30 | 2014-01-29 | 中冶南方(武汉)信息技术工程有限公司 | 一种基于gpu的热处理炉加热模型计算方法 |
-
2016
- 2016-05-13 CN CN201610320899.4A patent/CN106020773B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225483A1 (en) * | 2003-02-24 | 2004-11-11 | Michal Okoniewski | Fdtd hardware acceleration system |
CN103278848A (zh) * | 2013-04-22 | 2013-09-04 | 中山大学 | 基于mpi并行预条件迭代的地震成像正演方法 |
CN103544356A (zh) * | 2013-10-30 | 2014-01-29 | 中冶南方(武汉)信息技术工程有限公司 | 一种基于gpu的热处理炉加热模型计算方法 |
Non-Patent Citations (1)
Title |
---|
杨静: "基于有限差分的心电模型模拟在CPU与多MIC协处理器平台的并行与优化", 《万方数据 知识服务平台》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301081A (zh) * | 2017-07-04 | 2017-10-27 | 广东工业大学 | 一种VaR计量方法及系统 |
CN107908477A (zh) * | 2017-11-17 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种用于射电天文数据的数据处理方法及装置 |
CN109002659A (zh) * | 2018-09-07 | 2018-12-14 | 西安交通大学 | 一种基于超级计算机的流体机械仿真程序优化方法 |
CN109002659B (zh) * | 2018-09-07 | 2020-08-28 | 西安交通大学 | 一种基于超级计算机的流体机械仿真程序优化方法 |
CN112559952A (zh) * | 2019-09-26 | 2021-03-26 | 无锡江南计算技术研究所 | 基于序列分层的异构众核快速傅里叶变换方法 |
CN112559952B (zh) * | 2019-09-26 | 2023-07-07 | 无锡江南计算技术研究所 | 基于序列分层的异构众核快速傅里叶变换方法 |
CN113076135A (zh) * | 2021-04-06 | 2021-07-06 | 谷芯(广州)技术有限公司 | 一种针对专用指令集处理器的逻辑资源共享方法 |
CN113076135B (zh) * | 2021-04-06 | 2023-12-26 | 谷芯(广州)技术有限公司 | 一种针对专用指令集处理器的逻辑资源共享方法 |
CN113741567A (zh) * | 2021-11-08 | 2021-12-03 | 广东省新一代通信与网络创新研究院 | 矢量加速器及其控制方法、装置 |
CN113741567B (zh) * | 2021-11-08 | 2022-03-29 | 广东省新一代通信与网络创新研究院 | 矢量加速器及其控制方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106020773B (zh) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020773B (zh) | 异构众核架构中有限差分算法的优化方法 | |
Fang et al. | swdnn: A library for accelerating deep learning applications on sunway taihulight | |
Choquette et al. | Volta: Performance and programmability | |
Agrawal et al. | A many-core architecture for in-memory data processing | |
Castro et al. | GPU computing for shallow water flow simulation based on finite volume schemes | |
Krueger et al. | Hardware/software co-design for energy-efficient seismic modeling | |
CN102750133B (zh) | 支持simd的32位三发射的数字信号处理器 | |
CN109002659A (zh) | 一种基于超级计算机的流体机械仿真程序优化方法 | |
CN103049384A (zh) | 一种基于众核的多线程极限能耗测试源程序自动生成框架 | |
CN106575279B (zh) | 可编程平台上的加速器架构 | |
Loi et al. | Exploring multi-banked shared-L1 program cache on ultra-low power, tightly coupled processor clusters | |
Xu et al. | Optimizing finite volume method solvers on Nvidia GPUs | |
Liu et al. | Scratchpad memory architectures and allocation algorithms for hard real-time multicore processors | |
Kirtzic et al. | A parallel algorithm development model for the GPU architecture | |
Wang et al. | A fast tridiagonal solver for Intel MIC architecture | |
Hung et al. | A platform-oblivious approach for heterogeneous computing: A case study with monte carlo-based simulation for medical applications | |
CN106227684B (zh) | 一种高性能dsp访存流水线电路及其实现方法 | |
Ortigosa et al. | Evaluation of 3d rtm on hpc platforms | |
Lo et al. | GPU-accelerated Monte Carlo simulation for photodynamic therapy treatment planning | |
Meng et al. | A reconfigurable simulator for large-scale heterogeneous multicore architectures | |
Hernández et al. | Evaluation of the 3-D finite difference implementation of the acoustic diffusion equation model on massively parallel architectures | |
Bhuiyan | Performance analysis and fitness of gpgpu and multicore architectures for scientific applications | |
Li et al. | HW/SW co-optimization for stencil computation: Beginning with a customizable core | |
Wang | Optimization of Monte Carlo Neutron Transport Simulations with Emerging Architectures | |
Mudalige et al. | Predictive modeling and analysis of OP2 on distributed memory GPU clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180918 Termination date: 20190513 |