CN112256623A - 一种基于异构系统的处理性能优化方法及装置 - Google Patents
一种基于异构系统的处理性能优化方法及装置 Download PDFInfo
- Publication number
- CN112256623A CN112256623A CN202011159818.XA CN202011159818A CN112256623A CN 112256623 A CN112256623 A CN 112256623A CN 202011159818 A CN202011159818 A CN 202011159818A CN 112256623 A CN112256623 A CN 112256623A
- Authority
- CN
- China
- Prior art keywords
- performance
- heterogeneous system
- binding
- cpu
- gpu
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 title claims abstract description 46
- 238000005457 optimization Methods 0.000 title claims abstract description 37
- 230000015654 memory Effects 0.000 claims abstract description 57
- 239000011159 matrix material Substances 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 29
- 238000012360 testing method Methods 0.000 claims description 23
- 238000011056 performance test Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种基于异构系统的处理性能优化方法及装置。方法包括:获取异构系统的拓扑结构信息,拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;根据拓扑结构信息生成至少一种绑定策略,并利用绑定策略对异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;基于最优绑定策略调节性能参数,获得异构系统在各性能参数下对应的性能指标;从多个性能指标中确定最优性能指标,以实现对异构系统性能的优化。本申请通过根据所述拓扑结构信息生成多种绑定策略,并确定最优绑定策略,基于最优绑定策略调节各个性能参数,从而使得异构系统发挥出较佳的性能。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于异构系统的处理性能优化方法及装置。
背景技术
随着高性能技术的发展,高性能计算机的应用越来越广泛。其中,有些应用受到访存、网络、算法实现方式等因素的影响,导致大规模的扩展计算机性能受到了限制,对单机的计算能力提出了更高的要求。例如单台计算能力更强的四路服务器、八路服务器等。
为了能够实现高资源利用率、减少空间占用、降低功耗等,通常采用更高密度的异构系统。异构计算通常指中央处理器(Central Processing Unit,CPU)+图形处理器(Graphics Processing Unit,GPU)、CPU+现场可编程门阵列(Field-Programmable GateArray,FPGA)或者CPU+其他加速设备协同计算。
为了能够对异构系统的优化,现有技术是根据经验人工对异构系统中的各个节点进行绑定,从而获取较优的绑定策略,并对矩阵大小,步长等参数进行调整,从而实现对异构系统的优化,通过人工对异构系统的各个节点绑定,使得优化效率较慢。
发明内容
本申请实施例的目的在于提供一种基于异构系统的处理性能优化方法及装置,用以提高对异构系统处理性能优化的效率。
第一方面,本申请实施例提供一种基于异构系统的处理性能优化方法,异构系统包括如下模块:存储器、CPU和GPU,所述方法包括:获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
本申请实施例通过根据所述拓扑结构信息生成多种绑定策略,并利用多种绑定策略对异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略,并基于最优绑定策略调节各个参数,从而能够使得异构系统发挥出较佳的性能。
进一步地,在获取异构系统的拓扑结构信息之前,所述方法还包括:验证所述异构系统的状态性能是否满足预设要求,其中,在所述状态性能满足预设要求的情况下,执行所述获取异构系统的拓扑结构的步骤;所述状态性能包括:GPU双精度矩阵乘法Dgemm性能、GPU双精度三角矩阵求解Trsm性能、高速串行计算机扩展总线标准一维/二维拷贝PCIE 1D/2D Copy性能、节点内进程间通信性能和显存带宽性能中的至少一种。
本申请实施例通过在对异构系统进行优化之前,对异构系统的状态性能进行测试,从而保证异构系统能够在状态性能正常的情况下进行处理性能的优化。
进一步地,所述对所述异构系统的状态性能进行验证,包括:确定每一状态性能对应的数据尺寸和通信模式;其中,所述数据尺寸为状态性能验证时求解的矩阵大小;分别利用确定的数据尺寸和通信模式对对应的状态性能进行验证。
本申请实施例中,由于对不同类型的状态性能进行测试所需的数据尺寸和通信模式不同,因此,需要利用不同的数据尺寸和通信模式对对应的状态性能进行测试,从而保证异构系统的状态性能处于正常状态。
进一步地,所述根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略,包括:根据所述拓扑结构和预先设定的绑定范围,按照排列组合的方式对所述异构系统中的存储器、CPU和GPU进行绑定,获得多种绑定策略;其中,所述绑定范围用于表征所述异构系统中可进行绑定的模块的组合;对每种绑定策略对应的异构系统进行性能测试,根据性能测试结果确定最优绑定策略。
本申请实施例通过拓扑结构和预先设定的绑定范围自动生成异构系统的绑定策略,不需要人工手动绑定,从而能够更快速的确定最优绑定策略,提高了对异构系统优化的效率。
进一步地,在获得多种绑定策略之后,所述方法还包括:接收针对所述绑定策略的优化策略;根据所述优化策略对所述绑定策略进行优化。本申请实施例通过在自动生成绑定策略后,提供手动调优的接口,从而能够更加快速的确定最优绑定策略,提高了对异构系统优化的效率。
进一步地,所述基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标,包括:获取各个性能参数的阈值及对应的调整步长;根据各个性能参数的阈值及对应的调整步长对对应的性能参数取值进行调整,获得调整后的多组性能参数;分别利用每组性能参数对所述异构系统进行高性能线性系统软件包HPL基准测试,获得对应的性能指标。
本申请实施例基于最优绑定策略,利用各个性能参数对应的阈值和调整步长,对对应的性能参数进行调节,以获得HPL基准测试下的性能指标,选择性能指标最优的一组参数对异构系统进行配置,实现对异构系统的处理性能的优化。
进一步地,所述性能参数包括:矩阵大小、处理步长、矩阵的子块大小和结束递归操作时对应的子块大小。本申请实施例通过对矩阵大小、处理步长、子块大小和结束递归操作时对应的子块大小进行调节,使得异构系统达到最佳运行性能和效率。
第二方面,本申请实施例提供一种基于异构系统的处理性能优化装置,异构系统包括存储器、中央处理器CPU和图形处理器GPU,所述装置包括:结构获取模块,用于获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;绑定模块,用于根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;调参模块,用于基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;优化模块,用于从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的LU分解示意图;
图2为本申请实施例提供的处理性能优化方法流程示意图;
图3为本申请实施例提供的一种Intel架构的绑定策略;
图4为本申请实施例提供的AMD架构的绑定策略;
图5为本申请实施例提供的另一种异构系统的绑定策略;
图6为本申请实施例提供的又一种性能优化方法流程示意图;
图7为本申请实施例提供的优化装置结构示意图;
图8为本申请实施例提供的电子设备实体结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
异构计算系统一般为CPU+加速设备协同工作,本申请实施例以CPU+GPU的异构系统为例,该异构系统包括存储器、CPU和GPU等模块,可以理解的是,异构系统中还可以包括其他组件,例如显卡等。
线性系统软件包(Linear system package,Linpack)是目前较为流行的用于测试高性能计算机系统浮点性能的基准之一,主要是通过高斯消元法对N元一次稠密线性代数方程组进行求解,来评价高性能计算机的双精度浮点(64bit)计算能力。
高性能线性系统软件包(High PerformanceLinpack,HPL)是Linpack基准测试中的一种,除基本算法不可改变外,可通过更改矩阵维度N,每次迭代大小(步长)NB、通信模式和核心数量等各种优化方法对HPL进行优化,从而使得系统达到最佳的性能。HPL通常通过每秒浮点运算次数(floating-point operations per second,Flops)和效率来评估高性能计算机的性能,HPL的理论浮点运算次数为2/3*N^3–2*N^2,所以实际计算峰值Peak_F可以通过浮点计算次数除计算时间T得到,假设测试机的理论浮点计算峰值为Peak_T,则HPL的效率为Peak_F/Peak_T,通过HPL的效率可以反映出系统的性能。
HPL在通过高斯消元法求解一元N次线性稠密方程组Ax=b时主要分为LU(lower–upper)分解和回带算法求解三角系统两个部分,大部分计算在第一个步骤。假设A矩阵的维度为N*N,则有:
其中,A11矩阵维度为NB*NB,A12矩阵维度为NB*(N-NB),A21矩阵维度为(N-NB)*NB,A22矩阵维度为(N-NB)*(N-NB),L11和L22为下三角矩阵,主对角线元素为1,U11和U22为上三角矩阵,其中,N为矩阵维度,NB为步长。
上式进行计算可得到如下结果,通过不断的进行迭代,完成整个矩阵的LU分解,图1为整个矩阵LU分解中的两步示意图,左图表示第k步,右图表示第k+1步。
A22-L21×U12=L22×U22
HPL计算主要分为两个部分,分别为尾矩阵更新和子块分解,其中尾矩阵更新主要在GPU端进行,子块分解主要在CPU端完成。由于GPU的计算能力相比CPU有明显的优势,为了减少PCI-E(peripheral component interconnect express)的瓶颈,通常会将数据存放GPU的存储空间内。所以经研究发现,在CPU+GPU异构系统进行HPL计算时,会涉及到大量的PCIE数据传输和存储访问,根据不同的CPU/GPU拓扑架构进行CPU计算核心和GPU绑定能有效的提高HPL的计算性能。
本申请实施例对基于上述异构系统的处理性能优化方法进行介绍,如图2所示,该方法包括:
步骤201:获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态。
在具体的实施过程中,CPU+GPU可以形成多种不同拓扑结构的异构系统,并且,不同型号的CPU的架构也不相同,例如intel、AMD的CPU是X86架构,而IBM公司的CPU为PowerPC架构,ARM公司的CPU是ARM架构。对于处理性能待优化的异构系统来说,其拓扑结构信息是确定的,因此可以获取到该异构系统的拓扑信息。有的异构系统中只有一个GPU,有的异构系统中可以包括多个GPU,GPU的数量会影响后续绑定策略,因此需要预先获知异构系统中包括GPU的数量。对于异构系统中只包括一个CPU和一个GPU的情况,那么其连接方式就是将CPU和GPU通信连接即可;对于异构系统中包括多个CPU和多个GPU的情况,例如:包括两个CPU(CPU1和CPU2)和四个GPU(GPU1、GPU2、GPU3和GPU4),不同的异构系统可能有不同的连接方式,例如:有的异构系统中CPU1与GPU1和GPU2连接;CPU2与GPU3和GPU4连接。超线程状态是指CPU是否开启了超线程,超线程状态用于决定绑定策略中绑定CPU的计算核心的核心编号跟核心数量。
步骤202:根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略。
在具体的实施过程中,不同拓扑结构信息的异构系统对应的绑定策略不同,例如对于包含一个存储器、一个CPU和一个GPU的异构系统,其只有一种绑定策略,即将该存储器、CPU和GPU进行绑定即可。若包含一个存储器、一个CPU和两个GPU(GPU1和GPU2),那么可以有两种绑定策略,即:存储器、CPU和GPU1为一种绑定策略;存储器、CPU和GPU2为一种绑定策略。
优化装置可以根据具体的异构系统的拓扑结构信息生成对应的至少一种绑定策略。可以理解的是,绑定策略不同,形成的异构系统的性能不同,因此,当异构系统只有一种绑定策略,则该绑定策略为最优绑定策略;当异构系统有多种绑定策略,那么则可以从多种绑定策略中确定一种最优的绑定策略。
步骤203:基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标。
在具体的实施过程中,在确定了最优绑定策略后,在最优绑定策略形成的异构系统的基础上,对各个性能参数进行调节。可以理解的是,性能参数可以包括矩阵大小、处理步长、矩阵的子块大小和结束递归操作时对应的子块大小,当然,还可以包括其他参数,具体可以根据实际情况进行确定,本申请实施例对此不做具体限定。在调节性能参数时,可以生成多组性能参数,对每组性能参数下的异构系统进行HPL基准测试,获得对应的性能指标。
步骤204:从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
在具体的实施过程中,在获得多个性能指标后,可以从中确定最优性能指标。具体可以是对多组性能参数对应的异构系统进行HPL基准测试,获得HPL效率最高的作为最优性能指标。最优性能指标对应的性能参数为最优的一组性能参数,该组性能参数能够使得异构系统的处理性能达到最优。
本申请实施例通过根据所述拓扑结构信息生成多种绑定策略,并利用多种绑定策略对异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略,并基于最优绑定策略调节各个参数,从而能够使得异构系统发挥出较佳的性能。
在上述实施例的基础上,在获取异构系统的拓扑结构信息之前,所述方法还包括:
验证所述异构系统的状态性能是否满足预设要求,其中,在所述状态性能满足预设要求的情况下,执行所述获取异构系统的拓扑结构的步骤;所述状态性能包括:GPU双精度矩阵乘法(Dgemm)性能、GPU双精度三角矩阵求解(Trsm)性能、高速串行计算机扩展总线标准一维/二维拷贝(PCIE 1D/2D Copy)性能、节点内进程间(MPI)通信性能和显存带宽性能中的至少一种。
在具体的实施过程中,HPL性能测试对服务器的要求较高,将HPL中对性能影响较大的模块提取出来,单独测试以验证异构系统的基础环境是有必要的,这些基础性能在正常的范围内是异构系统在HPL基准测试中达到最佳性能的基础条件,例如GPU DGEMM性能、GPU DTRSM性能、PCIE传输性能、MPI通信性能和显存带宽性能中的至少一种。其中,节点内进程间通信性能是指异构系统中一个服务器节点内进程间的通信性能。
可以理解的是,可以使用不同数据尺寸的矩阵和通信模式对每种性能的测试,不同的性能所对应的数据尺寸和通信模式进行测试,数据尺寸用于表征矩阵的维度,通信模式可以为全局通信模式、点对点通信模式等。利用不同维度的矩阵和通信模式对对应的性能进行测试,从而根据测试结果判断异构系统的状态性能是否满足预设要求。
若某一状态性能不在正常范围内,那么可以人工对异构系统进行分析和查找原因,进行下一轮的测试,直至所有的状态性能都在正常范围内为止。若所有的状态性能都在正常范围内,则进行步骤201-步骤204的优化步骤。
本申请实施例中,由于对不同类型的状态性能进行测试所需的数据尺寸和通信模式不同,因此,需要利用不同的数据尺寸和通信模式对对应的状态性能进行测试,从而保证异构系统的状态性能处于正常状态。
在上述实施例的基础上,所述根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略,包括:
根据所述拓扑结构和预先设定的绑定范围,按照排列组合的方式对所述异构系统中的存储器、CPU和GPU进行绑定,获得多种绑定策略;其中,所述绑定范围用于表征所述异构系统中可进行绑定的模块的组合;
对每种绑定策略对应的异构系统进行性能测试,根据性能测试结果确定最优绑定策略。
在具体的实施过程中,针对异构系统中只包括一个GPU的情况,不同的架构有不同的绑定模式,本申请实施例分为以Intel和AMD架构为例,图3为本申请实施例提供的一种Intel架构的绑定策略,图4为本申请实施例提供的AMD架构的绑定策略。根据不同的架构,会采用CPU中不同的核心数进行测试,如图3所示,由于CPU1和GPU直接通信连接,因此,将CPU1、GPU和存储器memory进行绑定为最优绑定策略。图4中,CPU1中包括4个核心,将CPU1中的4个计算核心分别与对应的memory和GPU进行绑定为最优的绑定策略。
针对异构系统中包括多个GPU的情况,电子设备根据具体的拓扑结构和预先设定的绑定范围按照排列组合的方式对异构系统中的存储器、CPU和GPU进行绑定。可以理解的是,预先设定的绑定范围可以是预先设定的哪些CPU不能与哪些GPU绑定。本申请实施例提供另一种异构系统的绑定策略,如图5所示,该异构系统包括两个CPU(CPU0和CPU1),两个存储器和四个GPU(GPU1,GPU2,GPU3和GPU4),其中,CPU0与GPU1和GPU2连接,CPU1与GPU3和GPU4连接。预先设定的绑定范围为CPU0不与GPU4绑定,CPU1不与GPU1绑定。CPU0除了不能跟GPU4连接,CPU1不跟GPU1连接之外,按照排列组合的方式可以获得多种绑定策略,图5示出了最优绑定策略。可以理解的是,存储器与CPU的拓扑结构一致,因此,在进行绑定时,将对应的存储器与CPU进行绑定即可。异构系统中可进行绑定的模块的组合中的节点是指异构系统中包括的存储器、CPU和GPU。
在获得多种绑定策略后,基于每种绑定策略下的异构系统进行性能测试,在测试时,可以任意选定一组性能参数,异构系统在同一组性能参数的基础上,利用不同的绑定策略进行测试,将测试后性能最高的绑定策略作为最优绑定策略。
本申请实施例通过拓扑结构和预先设定的绑定范围自动生成异构系统的绑定策略,不需要人工手动绑定,从而能够更快速的确定最优绑定策略,提高了对异构系统优化的效率。
在上述实施例的基础上,在获得多种绑定策略之后,所述方法还包括:
接收针对所述绑定策略的优化策略;
根据所述优化策略对所述绑定策略进行优化。
在具体的实施过程中,在根据绑定策略对异构系统进行绑定后,还可以人工对绑定后策略进行优化,即电子设备可以接收优化策略,可以理解的是,优化策略为人工输入的。电子设备根据优化策略对绑定策略进行优化。对于包括多种绑定策略的情况,通过人工调优可以更快的找到最优绑定策略。
在上述实施例的基础上,所述基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标,包括:
获取各个性能参数的阈值及对应的调整步长;
根据各个性能参数的阈值及对应的调整步长对对应的性能参数取值进行调整,获得调整后的多组性能参数;
分别利用每组性能参数对所述异构系统进行HPL基准测试,获得对应的性能指标。
在具体的实施过程中,针对每种性能参数,都有其对应的阈值,例如N*N的矩阵不能超过显存的大小,不低于显存大小的80%。调整步长是指每次对性能参数进行调整的性能参数间隔大小。例如:N的取值为[250,500],步长可以是10,可以是15,具体可以根据实际情况设定,本申请实施例对此不做具体限定。例如:三个性能参数A、B和C,其中,A的阈值为[100,150],步长为10;B的阈值为[20,80],步长为15;C的阈值为[150,250],步长为20。在进行HPL基准测试时,A的取值可以为100,B的取值为20,C的取值为150,此时,A、B和C分别对应的取值构成一组性能参数。在对性能参数进行调整时,可以只调整A、B和C中的任意一个性能参数的取值,也可以同时调整A、B和C的性能参数的取值。本申请实施例以同时调整A、B和C的性能参数的取值为例,可以将A的取值调整为110,将B的取值调整为35,将C的取值调整为170,此时获得了调整后的一组性能参数。
在确定了每个性能参数的阈值和调整步长之后,可以通过每次对一个性能参数进行调整,获得多组性能参数,并每调整一次,利用调整后的这组参数配置异构系统,并对异构系统进行HPL基准测试,最后选择最高的性能指标对应的一组性能参数。
本申请实施例通过基于最优绑定策略,利用各个性能参数对应的阈值和调整步长,对对应的性能参数进行调节,以获得HPL基准测试下的性能指标,选择性能指标最优的一组参数对异构系统进行配置,实现对异构系统的处理性能的优化。
图6为本申请实施例提供的又一种性能优化方法流程示意图,如图6所示。包括:
步骤601:HPL子模块性能验证;首先对异构系统中的各个状态性能进行验证,状态性能验证的过程参见上述实施例。
步骤602:采集拓扑结构信息;异构系统的拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态,可以理解的是,一个异构系统的拓扑结构信息是确定的。
步骤603:基于拓扑结构信息选取最优绑定策略;可以自动生成多种绑定策略,也可以通过手动绑定进行绑定策略的调整。
步骤604:自动调整性能参数;针对矩阵大小、处理步长、矩阵的子块大小和结束递归操作时对应的子块大小进行调整,根据每组性能参数对应的性能指标,确定最优的一组性能参数,从而利用最优的性能参数对异构系统进行配置,使得异构系统的性能指标达到最优。
图7为本申请实施例提供的优化装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。优化装置包括:结构获取模块701、绑定模块702、调参模块703和优化模块704,其中:
结构获取模块701用于获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;绑定模块702用于根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;调参模块703用于基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;优化模块704用于从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
在上述实施例的基础上,该装置还包括验证模块,用于:
验证所述异构系统的状态性能是否满足预设要求,其中,在所述状态性能满足预设要求的情况下,执行所述获取异构系统的拓扑结构的步骤;所述状态性能包括:GPU双精度矩阵乘法Dgemm性能、GPU双精度三角矩阵求解Trsm性能、高速串行计算机扩展总线标准一维/二维拷贝PCIE1D/2D Copy性能、节点内进程间通信性能和显存带宽性能中的至少一种。
在上述实施例的基础上,验证模块具体用于:
确定每一状态性能对应的数据尺寸和通信模式;其中,所述数据尺寸为状态性能验证时求解的矩阵大小;
分别利用确定的数据尺寸和通信模式对对应的状态性能进行验证。
在上述实施例的基础上,绑定模块702具体用于:
根据所述拓扑结构和预先设定的绑定范围,按照排列组合的方式对所述异构系统中的存储器、CPU和GPU进行绑定,获得多种绑定策略;其中,所述绑定范围用于表征所述异构系统中可进行绑定的模块的组合;
对每种绑定策略对应的异构系统进行性能测试,根据性能测试结果确定最优绑定策略。
在上述实施例的基础上,该装置还包括策略优化模块,用于:
接收针对所述绑定策略的优化策略;
根据所述优化策略对所述绑定策略进行优化。
在上述实施例的基础上,调参模块703具体用于:
获取各个性能参数的阈值及对应的调整步长;
根据各个性能参数的阈值及对应的调整步长对对应的性能参数取值进行调整,获得调整后的多组性能参数;
分别利用每组性能参数对所述异构系统进行HPL基准测试,获得对应的性能指标。
在上述实施例的基础上,所述性能参数包括:矩阵大小、处理步长、矩阵的子块大小和结束递归操作时对应的子块大小。
图8为本申请实施例提供的电子设备实体结构示意图,如图8所示,所述电子设备,包括:处理器(processor)801、存储器(memory)802和总线803;其中,
所述处理器801和存储器802通过所述总线803完成相互间的通信;
所述处理器801用于调用所述存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
处理器801可以是一种集成电路芯片,具有信号处理能力。上述处理器801可以是通用处理器,包括CPU、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器802可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)等。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于异构系统的处理性能优化方法,其特征在于,异构系统包括如下模块:存储器、中央处理器CPU和图形处理器GPU,所述方法包括:
获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;
根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;
基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;
从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
2.根据权利要求1所述的方法,其特征在于,在获取异构系统的拓扑结构信息之前,所述方法还包括:
验证所述异构系统的状态性能是否满足预设要求,其中,在所述状态性能满足预设要求的情况下,执行所述获取异构系统的拓扑结构的步骤;所述状态性能包括:GPU双精度矩阵乘法Dgemm性能、GPU双精度三角矩阵求解Trsm性能、高速串行计算机扩展总线标准一维/二维拷贝PCIE 1D/2D Copy性能、节点内进程间通信性能和显存带宽性能中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述对所述异构系统的状态性能进行验证,包括:
确定每一状态性能对应的数据尺寸和通信模式;其中,所述数据尺寸为状态性能验证时求解的矩阵大小;
分别利用确定的数据尺寸和通信模式对对应的状态性能进行验证。
4.根据权利要求1所述的方法,其特征在于,所述根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略,包括:
根据所述拓扑结构和预先设定的绑定范围,按照排列组合的方式对所述异构系统中的存储器、CPU和GPU进行绑定,获得多种绑定策略;其中,所述绑定范围用于表征所述异构系统中可进行绑定的模块的组合;
对每种绑定策略对应的异构系统进行性能测试,根据性能测试结果确定最优绑定策略。
5.根据权利要求4所述的方法,其特征在于,在获得多种绑定策略之后,所述方法还包括:
接收针对所述绑定策略的优化策略;
根据所述优化策略对所述绑定策略进行优化。
6.根据权利要求1所述的方法,其特征在于,所述基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标,包括:
获取各个性能参数的阈值及对应的调整步长;
根据各个性能参数的阈值及对应的调整步长对对应的性能参数取值进行调整,获得调整后的多组性能参数;
分别利用每组性能参数对所述异构系统进行高性能线性系统软件包HPL基准测试,获得对应的性能指标。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述性能参数包括:矩阵大小、处理步长、矩阵的子块大小和结束递归操作时对应的子块大小。
8.一种基于异构系统的处理性能优化装置,其特征在于,异构系统包括存储器、中央处理器CPU和图形处理器GPU,所述装置包括:
结构获取模块,用于获取异构系统的拓扑结构信息,所述拓扑结构信息包括CPU架构、GPU数量、CPU与GPU的连接方式和超线程状态;
绑定模块,用于根据所述拓扑结构信息生成至少一种绑定策略,并利用所述至少一种绑定策略对所述异构系统中的存储器、CPU和GPU进行绑定,确定最优绑定策略;
调参模块,用于基于所述最优绑定策略,调节性能参数,获得所述异构系统在各性能参数下对应的性能指标;
优化模块,用于从多个性能指标中确定最优性能指标,以实现对所述异构系统处理性能的优化。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011159818.XA CN112256623A (zh) | 2020-10-26 | 2020-10-26 | 一种基于异构系统的处理性能优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011159818.XA CN112256623A (zh) | 2020-10-26 | 2020-10-26 | 一种基于异构系统的处理性能优化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256623A true CN112256623A (zh) | 2021-01-22 |
Family
ID=74262529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011159818.XA Pending CN112256623A (zh) | 2020-10-26 | 2020-10-26 | 一种基于异构系统的处理性能优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256623A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127194A (zh) * | 2021-03-26 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种管理芯片资源自适应分配方法、装置及介质 |
CN113485805A (zh) * | 2021-07-01 | 2021-10-08 | 曙光信息产业(北京)有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN114880108A (zh) * | 2021-12-15 | 2022-08-09 | 中国科学院深圳先进技术研究院 | 基于cpu-gpu异构架构的性能分析方法、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150040136A1 (en) * | 2013-08-01 | 2015-02-05 | Texas Instruments, Incorporated | System constraints-aware scheduler for heterogeneous computing architecture |
CN109284072A (zh) * | 2018-09-28 | 2019-01-29 | 北京航空航天大学 | 一种针对异构存储系统的自适应数据动态调度方法和系统 |
US20190312772A1 (en) * | 2018-04-04 | 2019-10-10 | EMC IP Holding Company LLC | Topology-aware provisioning of hardware accelerator resources in a distributed environment |
CN110333933A (zh) * | 2019-07-01 | 2019-10-15 | 华南理工大学 | 一种hpl计算模型仿真方法 |
CN110647999A (zh) * | 2019-08-23 | 2020-01-03 | 苏州浪潮智能科技有限公司 | 一种基于拓扑结构提高深度学习训练速度的方法及装置 |
CN111488205A (zh) * | 2019-01-25 | 2020-08-04 | 上海登临科技有限公司 | 面向异构硬件架构的调度方法和调度系统 |
-
2020
- 2020-10-26 CN CN202011159818.XA patent/CN112256623A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150040136A1 (en) * | 2013-08-01 | 2015-02-05 | Texas Instruments, Incorporated | System constraints-aware scheduler for heterogeneous computing architecture |
US20190312772A1 (en) * | 2018-04-04 | 2019-10-10 | EMC IP Holding Company LLC | Topology-aware provisioning of hardware accelerator resources in a distributed environment |
CN109284072A (zh) * | 2018-09-28 | 2019-01-29 | 北京航空航天大学 | 一种针对异构存储系统的自适应数据动态调度方法和系统 |
CN111488205A (zh) * | 2019-01-25 | 2020-08-04 | 上海登临科技有限公司 | 面向异构硬件架构的调度方法和调度系统 |
CN110333933A (zh) * | 2019-07-01 | 2019-10-15 | 华南理工大学 | 一种hpl计算模型仿真方法 |
CN110647999A (zh) * | 2019-08-23 | 2020-01-03 | 苏州浪潮智能科技有限公司 | 一种基于拓扑结构提高深度学习训练速度的方法及装置 |
Non-Patent Citations (1)
Title |
---|
张峰;翟季冬;陈政;林甲灶;杜小勇;: "面向异构融合处理器的性能分析、优化及应用综述", 软件学报, no. 08, pages 325 - 346 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127194A (zh) * | 2021-03-26 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种管理芯片资源自适应分配方法、装置及介质 |
CN113127194B (zh) * | 2021-03-26 | 2023-08-08 | 山东英信计算机技术有限公司 | 一种管理芯片资源自适应分配方法、装置及介质 |
CN113485805A (zh) * | 2021-07-01 | 2021-10-08 | 曙光信息产业(北京)有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN113485805B (zh) * | 2021-07-01 | 2024-02-06 | 中科曙光(南京)计算技术有限公司 | 基于异构加速平台的分布式计算调整方法、装置及设备 |
CN114880108A (zh) * | 2021-12-15 | 2022-08-09 | 中国科学院深圳先进技术研究院 | 基于cpu-gpu异构架构的性能分析方法、设备以及存储介质 |
WO2023108800A1 (zh) * | 2021-12-15 | 2023-06-22 | 中国科学院深圳先进技术研究院 | 基于cpu-gpu异构架构的性能分析方法、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256623A (zh) | 一种基于异构系统的处理性能优化方法及装置 | |
CN109145158B (zh) | 一种布隆过滤器中数据的处理方法以及布隆过滤器 | |
CN111045933A (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
DE112016004192T5 (de) | Fehlerprüfung komprimierter Ströme in heterogenen Kompressionsbeschleunigern | |
DE102014204403A1 (de) | Datenverarbeitungssystem und Verfahren zum Betreiben desselben | |
CN116909943A (zh) | 一种缓存访问方法、装置、存储介质及电子设备 | |
CN108647007B (zh) | 运算系统及芯片 | |
US20200349312A1 (en) | Core-Only System Management Interrupt | |
CN109960866B (zh) | 信号处理方法、验证方法及电子设备 | |
CN115292237B (zh) | 一种芯片及其数据传输方法 | |
DE102022129890A1 (de) | Fehlerkorrekturcode mit geringem overhead | |
DE102012221253A1 (de) | Gleitkomma-Ereigniszähler mit automatischer Vorteilung | |
EP4071619A1 (en) | Address generation method, related device and storage medium | |
CN111831549B (zh) | 增量代码覆盖率确定方法、装置、设备及存储介质 | |
CN111142808B (zh) | 存取设备及存取方法 | |
CN113098730B (zh) | 一种服务器的测试方法及设备 | |
CN111597096A (zh) | 一种基准测试方法、系统及终端设备 | |
CN113238911A (zh) | 告警处理方法及装置 | |
CN107678967B (zh) | 单元测试覆盖率生成方法、装置、可读存储介质及设备 | |
CN116841697B (zh) | 处理mmio请求的方法、电子装置和存储介质 | |
CN112463822B (zh) | 用于芯片的数据处理方法及装置、电子设备和存储介质 | |
JP6064756B2 (ja) | 性能データ収集プログラム、装置、及び方法 | |
CN109885402B (zh) | 测试函数输出数据溢出的方法、终端设备及存储介质 | |
CN117291789B (zh) | 点云数据存储方法、装置、设备及可读存储介质 | |
US10693494B2 (en) | Reducing a size of multiple data sets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220422 Address after: 210000 No. 33, Qiuyun Road, Qiaolin street, Pukou District, Nanjing, Jiangsu Province Applicant after: Zhongke Shuguang (Nanjing) Computing Technology Co.,Ltd. Address before: Building 36, yard 8, Dongbei Wangxi Road, Haidian District, Beijing Applicant before: Dawning Information Industry (Beijing) Co.,Ltd. |