CN111930471A - 一种基于gpu的并行仿真评估选择方法 - Google Patents
一种基于gpu的并行仿真评估选择方法 Download PDFInfo
- Publication number
- CN111930471A CN111930471A CN202010819099.3A CN202010819099A CN111930471A CN 111930471 A CN111930471 A CN 111930471A CN 202010819099 A CN202010819099 A CN 202010819099A CN 111930471 A CN111930471 A CN 111930471A
- Authority
- CN
- China
- Prior art keywords
- module function
- gpu
- function
- module
- parallel
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 56
- 238000011156 evaluation Methods 0.000 title claims abstract description 20
- 238000010187 selection method Methods 0.000 title claims abstract description 17
- 230000006870 function Effects 0.000 claims abstract description 148
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000007667 floating Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于GPU的并行仿真评估选择方法,包括:根据5G UDN系统仿真平台的架构,解耦其中的各模块函数,分析得到各模块函数的计算量、输入数据量以及输出数据量;对各模块函数进行计算复杂度模型的等效建模;确定各模块函数的执行次数;将各模块函数的等效建模函数分别在CPU系统及GPU系统下迭代运行,得到各模块函数的并行计算迭代阈值;将并行计算迭代阈值输入到5G UDN系统仿真平台,将各模块函数的执行次数与并行计算迭代阈值进行比较,选择模块函数用GPU计算或者CPU计算。本发明可以根据自身拥有的计算资源灵活进行灵活配置,为并行方案的选择提供了灵活性,能够在有限资源条件的情况下,达到并行性能最优,最大化并行效率。
Description
技术领域
本发明涉及通信技术领域,更具体地涉及一种基于GPU的并行仿真评估选择方法。
背景技术
随着智能移动终端的普及,互联网的出现以及超高清视频、增强现实、虚拟现实等新应用的成熟,移动通信业务经历了爆炸式的增长。移动互联网的快速发展和通信流量的指数增长成为网络升级的最大动力,对于下一代移动通信网络5G,最大的理论传输速度可达10GB/s,是目前4G网络速度的100倍。超密网络(ultra-density Network,UDN)、大规模天线等技术成为了5G的核心技术。在5G应用场景中,各种低功耗微基站的部署密度将会比目前的基站部署密度高几十倍。而在有限空间内部署大量的终端设备,可以实现极高频率的复用,很好地满足交通密度的需求,进而将热点(密集街区、火车站等)的系统容量提高数百倍。
在无线通信领域,测试和评估技术在整个行业中扮演着重要的角色。因此,在5G关键理论和技术的研究过程中,应同步对5G新技术进行多层次、综合性的评价,这将为5G关键技术的筛选和标准化提供重要的性能参考。系统仿真是关键技术研究和算法分析的重要手段,也是推动5G技术发展不可或缺的手段。但由于5G复杂的应用场景、分层的异构网络架构、无线节点与其他新技术节点之间日益密切的协作给系统仿真带来了前所未有的挑战,因此需要采用高性能计算技术。
目前系统仿真的高性能计算主流发展方向为基于多核处理器的并行计算技术,但该并行计算系统体系结构复杂度高,不同应用程序的计算特点不尽相同,应用程序的并行计算性能增益受很多因素影响,这些因素之间也存在着相互影响和制约的复杂关系。图1示出了目前5G UDN系统仿真平台的架构图,该仿真平台包括仿真配置模块、仿真调度模块、性能统计模块、无线信道模块以及与这些模块通信连接的节点模块和6个通信协议层。从图中也可以看出,在现有的无线通信系统级仿真中,计算资源分布在不同的模块中。因而,如何对计算资源进行分配和管理,在有限的资源下实现最高的并行效率是5G通信系统仿真平台亟需解决的难题。
发明内容
为解决上述现有技术中的问题,本发明提供一种基于GPU的并行仿真评估选择方法,能够最大化并行效率。
本发明提供的一种基于GPU的并行仿真评估选择方法,包括:
步骤S1,根据5G UDN系统仿真平台的架构,解耦其中的各模块函数,分析得到各模块函数的浮点计算量、输入数据量以及输出数据量;
步骤S2,分析所述各模块函数的浮点计算量、输入数据量以及输出数据量,对各模块函数进行计算复杂度模型的等效建模,得到各模块函数的等效建模函数;
步骤S3,根据5G UDN仿真平台系统的各配置参数的最大值,确定各模块函数的执行次数;
步骤S4,将所述步骤S2中各模块函数的等效建模函数分别在CPU系统及GPU系统下迭代运行,得到各模块函数的并行计算迭代阈值;
步骤S5,将所述并行计算迭代阈值输入到5G UDN系统仿真平台,将各模块函数的执行次数与并行计算迭代阈值进行比较,根据比较结果选择用GPU或者CPU计算来模块函数。
所述步骤S2中的各模块函数的等效建模函数为:
Fmodel_j=fj(FLOPs_j,Cin_j,Cout_j,Cexe_j);
式中,FLOPs_j为模块函数j的浮点计算量,Cin_j为模块函数j的输入数据量,Cout_j为模块函数j的输出数据量,Cexe_j为模块函数执行过程中等效数据的空间占有量。
所述步骤S3中的各模块函数的执行次数OIN为:
OIN(j)=fc_j(k1,k2,…,kn)
式中,fc_j表示模块函数j执行次数的算法函数,k1、k2、kn表示影响执行次数的所有输入参数,包括基站数、小区数、用户数、天线数等。
在所述步骤S3中,在一个仿真周期内模块函数j的执行总时间开销表示为:
式中,OIN(j)为模块函数j的执行次数,Fmodel_j为模块函数j的等效建模函数,FLOPs_j为模块函数j的浮点计算量,Cin_j为模块函数j的输入数据量,Cout_j为模块函数j的输出数据量,Cexe_j为模块函数执行过程中等效数据的空间占有量。
所述步骤S4包括:
步骤S41,将所述各模块函数的等效建模函数Fmodel_j分别在CPU系统和GPU系统下首次运行;
步骤S42,记当前的运行次数为n,Toc_cpu(n)为Fmodel_j在CPU系统下运行n次的开销时间,Toc_gpu(n)为Fmodel_j在GPU系统下运行n次的开销时间,判断Toc_gpu(n)和Toc_cpu(n)的大小;
步骤S43,根据步骤S42的判断结果,当Toc_gpu(n)≤Toc_cpu(n)时,得出Nth(j)=n,停止迭代;否则,将各模块函数的等效建模函数Fmodel_j分别在CPU系统及GPU系统下再迭代运行一次;
步骤S44,重复步骤S42-S43,直到n=OIN(j);当n=OIN(j)时,Toc_gpu(n)>Toc_cpu(n),则将Nth(j)设为∞,其中,OIN(j)为模块函数j对应的执行次数,Nth(j)为模块函数j对应的并行计算迭代阈值。
在所述步骤S5中,若模块函数j的执行次数OIN(j)大于等于其并行计算迭代阈值Nth(j),则该模块函数j用GPU进行计算;模块函数j的执行次数若OIN(j)小于其并行计算迭代阈值Nth(j),则该模块函数j用CPU进行计算。
本发明的基于GPU的并行仿真评估选择方法还包括:步骤S6,对各模块函数中的并行化数据进行优化处理。
所述步骤S6包括:
步骤S61,对所述并行化数据的动态数据维度进行预定义,预先估计变量可能出现的最大维数,预先分配内存空间;
步骤S62,为所述并行化数据定义数值类型,对每个数值变量的数值类型单独定义,将一定取值范围内的参数数值类型修改为有符号或者无符号整型,在满足精度要求的前提下将部分双精度浮点数改为单精度浮点类型;
步骤S63,定义所述并行化数据结构,消除全局变量,对离散的参数及变量按照功能进行统一分类和管理,采用结构体对仿真平台的所有参数和变量进行定义和分类,并在程序初始化时集中定义声明;
步骤S64,选择所述并行化数据的传输方式,按照所述步骤S63的数据结构的定义,在初始化阶段按照步骤S63定义的数据结构定义三类平台全局参数。
本发明通过建立模块函数的等效模型,计算模块函数的迭代阈值,并与其执行次数进行比较,实现了CPU+GPU系统下仿真平台并行的自适应选择,优化了硬件条件一致的情况下的并行仿真效果。本发明可以根据自身拥有的计算资源灵活进行灵活配置,相比传统的设计方案,为并行方案的选择提供了灵活性,能够在有限资源条件的情况下,达到并行性能最优,最大化并行效率。
附图说明
图1是5G UDN系统仿真平台的架构示意图。
图2是按照本发明的基于GPU的并行仿真评估选择方法的流程图。
图3是5G UDN系统仿真平台参数结构定义示意图。
图4是5G UDN系统仿真平台中功能模块参数传递过程示意图。
具体实施方式
下面结合附图,给出本发明的较佳实施例,并予以详细描述。
本发明应用于如图1所示的基于MATLAB的5G UDN系统仿真平台,对整个仿真系统的运行时间开销建立模型如下:
其中,Tmax为最大的总计算时间;TTIMAX为计算的TTI(传输时间间隔)数,即仿真计算时长;N为仿真的节点数,Ti为节点i在一个TTI内所需的最大仿真计算时间。
由于单个TTI内各节点间执行的操作是同时进行的,节点级对象可进行并行处理,且根据节点级对象操作的多元化及高复杂性,因此节点级对象选取CPU并行的方式,即每个节点分配一个CPU核进行并行处理。而各个节点所需的仿真计算时间是由各个节点内涉及的函数对象代码完成的功能确定的,因而可以进一步通过节点所涉及的函数对象以及函数对象所执行的操作来进行分析。假定每个节点中的对象所执行的操作是相同的,对象之间已进行解耦处理,且对象之间具有先后关系,则可以用如下公式来表述:
其中OCN(Object Class Number)为节点内涉及到的可优化解耦函数对象类数量,OIN(Object Instance Number)为对应的函数对象类的实例数量(执行数量),不同的函数对象类执行的实例数不同,TOC为节点内某个函数对象类执行的总时间开销,MOT(MaxOperation Time)为节点内某个函数对象类的单次最大操作时间,TP(i)为不可并行优化的程序和函数对象的总运行时间开销。
从公式(2)可以看出,并行优化的主要对象为减少TOC以及MOT的总时间开销:对于程序模块的计算以浮点运算(例如矩阵运算、fft运算等)为主的,采用GPU运行方式,充分发挥GPU多核计算特点,增加并行增益;对于程序模块的计算以整数运算(例如流程较为复杂的条件判断)为主的,则采用多核CPU并行处理方案,在提升效率的同时保证程序可读性和可维护性。因而,判断各模块是采用GPU运行还是CPU运行的方式进行计算是本发明主要解决的问题。
本发明提供的一较佳实施例的基于GPU的并行仿真评估选择方法,如图2所示,包括:
步骤S1,根据5G UDN系统仿真平台的架构,解耦其中的各模块函数,分析得到各模块函数的浮点计算量、输入数据量、输出数据量以及各模块间交互的数据量,其中,各模块交互的数据关系代表各函数间的耦合关系,在解耦函数时利用交互的数据进行解耦。
步骤S2,分析各模块函数的浮点计算量、输入数据量、输出数据量、内存开销以及空间开销对程序模块的算法,对各模块函数进行计算复杂度模型的等效建模,得到模块函数j的等效建模函数如下:
Fmodel_j=fj(FLOPs_j,Cin_j,Cout_j,Cexe_j) (3)
式中,FLOPs_j为模块函数j的浮点计算量,Cin_j为模块函数j的输入数据量,Cout_j为模块函数j的输出数据量,Cexe_j为模块函数执行过程中等效数据的空间占有量,即函数执行过程中进行数据处理时所造成的内存和空间开销。
步骤S3,根据5G UDN仿真平台系统的各配置参数的最大值,确定各模块函数的执行次数OIN。其中,仿真平台各配置参数的最大值由仿真平台本身的参数限制决定,比如仿真平台最大支持20个基站、60个小区,每个小区100个终端等。各模块函数的执行次数OIN按照公式(4)计算:
OIN(j)=fc_j(k1,k2,…,kn) (4)
式中,fc_j表示模块函数j执行次数的算法函数,k1、k2、kn表示影响执行次数的所有输入参数,包括基站数、小区数、用户数、天线数等。
则在一个仿真周期内模块函数j的执行总时间开销可表示为:
步骤S4,将步骤S2中各模块函数的等效建模函数Fmodel_j分别在CPU系统及GPU系统下迭代运行,得到各模块函数的并行计算迭代阈值Nth。
所述步骤S4具体包括:
步骤S41,将各模块函数的等效建模函数Fmodel_j分别在CPU系统及GPU系统下首次运行;
步骤S42,记当前的运行次数为n,Toc_cpu(n)为Fmodel_j在CPU系统下运行n次的开销时间,Toc_gpu(n)为Fmodel_j在GPU系统下运行n次的开销时间,判断Toc_gpu(n)和Toc_cpu(n)的大小;
步骤S43,根据步骤S42的判断结果,当Toc_gpu(n)≤Toc_cpu(n)时,得出Nth(j)=n,停止迭代;否则,将各模块函数的等效建模函数Fmodel_j分别在CPU系统及GPU系统下再迭代运行一次;
步骤S44,重复步骤S42-S43,直到n=OIN(j);当n=OIN(j)时,Toc_gpu(n)>Toc_cpu(n),则将Nth(j)设为∞,其中,OIN(j)为模块函数j对应的执行次数,Nth(j)为模块函数j对应的并行计算迭代阈值。
步骤S5,将并行计算迭代阈值输入到5G UDN系统仿真平台,将模块函数j的执行次数OIN(j)与并行计算迭代阈值Nth(j)进行比较,根据比较结果选择用GPU或者CPU来计算模块函数j。其中,若OIN(j)≥Nth(j),则该模块函数j用GPU进行计算;若OIN(j)<Nth(j),则该模块函数j用CPU进行计算。
为使并行仿真的性能最优,进一步提高并行效率,本发明还包括:
步骤S6,对各模块函数中的并行化数据进行优化处理,具体包括:
步骤S61,对并行化数据的动态数据维度进行预定义,预先估计变量可能出现的最大维数,预先分配内存空间。
具体地,在定义大矩阵时,先用MATLAB的内部函数进行定维,可以针对不同类型的数组使用合适的预分配函数,比如数值数组,用zeros()或者ones(),结构体数组用struct或repmat等。
给非double型以外的矩阵预分配一个内存块,使用repmat函数的效果更佳。例如语句N=int16(zeros(100));它首先创建一个double型满秩100*100矩阵,然后把它转换为uint16型,这将导致不必要的时间和内存花费。若用N=repmat(int16(0),100,100);只需要创建一个double值,从而减少了内存的需求。用repmat函数扩展矩阵时可以获得连续的内存块。
步骤S62,为并行化数据定义数值类型,对每个数值变量的数值类型给予单独定义,将一定取值范围(例如某一个具体的参数,通过其最大值和最小值,能判断出该参数特定的数值类型)内的参数数值类型修改为有符号或者无符号整型,在满足精度要求的前提下将部分双精度浮点数改为单精度浮点类型,尽量减少内存使用。同一计算公式中的数值变量的数值类型必须一致,如出现数值类型不统一的必须先将数值类型转换成一致再计算。例如:
a=uint8(3);
b=single(5);
c=single(a)-b;
其中变量a与b的数值类型不一致,如果直接相减程序将报错,必须将a与b的数值类型都转化为single型或者都转化为uint8类型后才能进行计算。
步骤S63,定义并行化数据结构,消除全局变量,对大量离散的参数及变量按照功能进行统一分类和管理,采用结构体对仿真平台的所有参数和变量进行定义和分类,并在程序初始化时集中定义声明。平台参数结构定义如图3所示,总体分为配置参数、过程变量、统计结果三类,二级分类主要按照其功能模块划分。
步骤S64,选择并行化数据的传输方式,按照步骤S63的数据结构的定义,在初始化阶段按照步骤S63定义的数据结构定义三类平台全局参数,即配置参数、过程变量、统计结果。数据传输方式,即参数传入各功能模块一级函数的方式有以下两种:
a.全局变量声明方式
由于并行化以单个TTI内各功能模块为单位,因此,各功能模块间参数传递可采用全局变量传递方式,各结构体参数在初始化函数和各功能模块一级函数中进行全局声明。
b.参数传递方式
各结构体参数以传参的方式输入输出各功能模块函数,参数传入各功能模块一级函数后,考虑减少参数输入输出量,并尽量减小程序各功能模块之间的耦合性,便于单个模块的修改和调试,在功能模块内定义此功能临时输入结构体参数和输出结构体参数,并将需要输入输出的平台全局参数赋值给临时结构体参数,以传参的形式传入各功能模块子函数,临时输出参数以传参的形式输出,模块功能执行完后,在一级函数中再赋值给平台全局参数。功能模块内参数传递过程如图4所示。
本发明通过对自适应并行仿真评估选择方法的确定和并行数据的优化,最终实现并行方案,此方法为并行方案选择提供了灵活性,在有限资源条件的情况下,达到并行性能最优,最大化并行效率。
以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。
Claims (8)
1.一种基于GPU的并行仿真评估选择方法,其特征在于,包括:
步骤S1,根据5G UDN系统仿真平台的架构,解耦其中的各模块函数,分析得到各模块函数的浮点计算量、输入数据量以及输出数据量;
步骤S2,分析所述各模块函数的浮点计算量、输入数据量以及输出数据量,对各模块函数进行计算复杂度模型的等效建模,得到各模块函数的等效建模函数;
步骤S3,根据5G UDN仿真平台系统的各配置参数的最大值,确定各模块函数的执行次数;
步骤S4,将所述步骤S2中各模块函数的等效建模函数分别在CPU系统及GPU系统下迭代运行,得到各模块函数的并行计算迭代阈值;
步骤S5,将所述并行计算迭代阈值输入到5G UDN系统仿真平台,将各模块函数的执行次数与并行计算迭代阈值进行比较,根据比较结果选择用GPU或者CPU计算来模块函数。
2.根据权利要求1所述的基于GPU的并行仿真评估选择方法,其特征在于,所述步骤S2中的各模块函数的等效建模函数为:
Fmodel_j=fj(FLOPs_j,Cin_j,Cout_j,Cexe_j);
式中,FLOPs_j为模块函数j的浮点计算量,Cin_j为模块函数j的输入数据量,Cout_j为模块函数j的输出数据量,Cexe_j为模块函数执行过程中等效数据的空间占有量。
3.根据权利要求1所述的基于GPU的并行仿真评估选择方法,其特征在于,所述步骤S3中的各模块函数j的执行次数OIN为:
OIN(j)=fc_j(k1,k2,...,kn);
式中,fc_j表示模块函数j执行次数的算法函数,k1-kn表示影响执行次数的所有输入参数。
5.根据权利要求1所述的基于GPU的并行仿真评估选择方法,其特征在于,所述步骤S4包括:
步骤S41,将所述各模块函数的等效建模函数Fmodel_j分别在CPU系统和GPU系统下首次运行;
步骤S42,记当前的运行次数为n,Toc_cpu(n)为Fmodel_j在CPU系统下运行n次的开销时间,Toc_gpu(n)为Fmodel_j在GPU系统下运行n次的开销时间,判断Toc_gpu(n)和Toc_cpu(n)的大小;
步骤S43,根据步骤S42的判断结果,当Toc_gpu(n)≤Toc_cpu(n)时,得出Nth(j)=n,停止迭代;否则,将各模块函数的等效建模函数Fmodel_j分别在CPU系统及GPU系统下再迭代运行一次;
步骤S4,重复步骤S42-S43,直到n=OIN(j);当n=OIN(j)时,Toc_gpu(n)>Toc_cpu(n),则将Nth(j)设为∞,其中,OIN(j)为模块函数j对应的执行次数,Nth(j)为模块函数j对应的并行计算迭代阈值。
6.根据权利要求1所述的基于GPU的并行仿真评估选择方法,其特征在于,在所述步骤S5中,若模块函数j的执行次数OIN(j)大于等于其并行计算迭代阈值Nth(j),则该模块函数j用GPU进行计算;模块函数j的执行次数若OIN(j)小于其并行计算迭代阈值Nth(j),则该模块函数j用CPU进行计算。
7.根据权利要求1所述的基于GPU的并行仿真评估选择方法,其特征在于,还包括:步骤S6,对各模块函数中的并行化数据进行优化处理。
8.根据权利要求7所述的基于GPU的并行仿真评估选择方法,其特征在于,所述步骤S6包括:
步骤S61,对所述并行化数据的动态数据维度进行预定义,预先估计变量可能出现的最大维数,预先分配内存空间;
步骤S62,为所述并行化数据定义数值类型,对每个数值变量的数值类型单独定义,将一定取值范围内的参数数值类型修改为有符号或者无符号整型,在满足精度要求的前提下将部分双精度浮点数改为单精度浮点类型;
步骤S63,定义所述并行化数据结构,消除全局变量,对离散的参数及变量按照功能进行统一分类和管理,采用结构体对仿真平台的所有参数和变量进行定义和分类,并在程序初始化时集中定义声明;
步骤S64,选择所述并行化数据的传输方式,按照所述步骤S63的数据结构的定义,在初始化阶段按照步骤S63定义的数据结构定义三类平台全局参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819099.3A CN111930471B (zh) | 2020-08-14 | 2020-08-14 | 一种基于gpu的并行仿真评估选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819099.3A CN111930471B (zh) | 2020-08-14 | 2020-08-14 | 一种基于gpu的并行仿真评估选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930471A true CN111930471A (zh) | 2020-11-13 |
CN111930471B CN111930471B (zh) | 2023-05-26 |
Family
ID=73311985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010819099.3A Active CN111930471B (zh) | 2020-08-14 | 2020-08-14 | 一种基于gpu的并行仿真评估选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930471B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463377A (zh) * | 2020-11-26 | 2021-03-09 | 海光信息技术股份有限公司 | 异构计算系统执行计算任务的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179549A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Instruction and Logic for Loop Stream Detection |
CN106874113A (zh) * | 2017-01-19 | 2017-06-20 | 国电南瑞科技股份有限公司 | 一种cpu+多gpu异构模式静态安全分析计算方法 |
CN107480096A (zh) * | 2017-08-21 | 2017-12-15 | 西安交通大学 | 一种大规模群体仿真中的高速并行计算方法 |
CN109564691A (zh) * | 2016-06-01 | 2019-04-02 | 弗劳恩霍夫应用研究促进协会 | 用于基于局部确定的3d信息假说执行3d估计的装置和方法 |
CN110333933A (zh) * | 2019-07-01 | 2019-10-15 | 华南理工大学 | 一种hpl计算模型仿真方法 |
GB201916688D0 (en) * | 2011-09-26 | 2020-01-01 | Intel Corp | Instruction and logic to provide vector scatter-op and gather-op functionality |
-
2020
- 2020-08-14 CN CN202010819099.3A patent/CN111930471B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201916688D0 (en) * | 2011-09-26 | 2020-01-01 | Intel Corp | Instruction and logic to provide vector scatter-op and gather-op functionality |
US20160179549A1 (en) * | 2014-12-23 | 2016-06-23 | Intel Corporation | Instruction and Logic for Loop Stream Detection |
CN109564691A (zh) * | 2016-06-01 | 2019-04-02 | 弗劳恩霍夫应用研究促进协会 | 用于基于局部确定的3d信息假说执行3d估计的装置和方法 |
CN106874113A (zh) * | 2017-01-19 | 2017-06-20 | 国电南瑞科技股份有限公司 | 一种cpu+多gpu异构模式静态安全分析计算方法 |
CN107480096A (zh) * | 2017-08-21 | 2017-12-15 | 西安交通大学 | 一种大规模群体仿真中的高速并行计算方法 |
CN110333933A (zh) * | 2019-07-01 | 2019-10-15 | 华南理工大学 | 一种hpl计算模型仿真方法 |
Non-Patent Citations (3)
Title |
---|
VICTOR W. LEE等: "Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU", 《ISCA "10: PROCEEDINGS OF THE 37TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 * |
常存宝等: "L系统的并行化关键技术", 《计算机工程与设计》 * |
李凯等: "5G环境下系统级仿真建模与关键技术评估", 《中兴通讯技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463377A (zh) * | 2020-11-26 | 2021-03-09 | 海光信息技术股份有限公司 | 异构计算系统执行计算任务的方法及装置 |
CN112463377B (zh) * | 2020-11-26 | 2023-03-14 | 海光信息技术股份有限公司 | 异构计算系统执行计算任务的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111930471B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | Foundation study on wireless big data: Concept, mining, learning and practices | |
CN107682443A (zh) | 联合考虑延迟和能量消耗的移动边缘计算系统计算任务的高效卸载方法 | |
Shi et al. | Toward energy-efficient federated learning over 5G+ mobile devices | |
CN109246761B (zh) | 考虑延迟及能耗的基于交替方向乘子法的卸载方法 | |
CN111800828A (zh) | 一种超密集网络的移动边缘计算资源分配方法 | |
CN114662661B (zh) | 边缘计算下异构处理器加速多出口dnn推理的方法 | |
CN114189892A (zh) | 一种基于区块链和集体强化学习的云边协同物联网系统资源分配方法 | |
Cui et al. | Optimal rate adaption in federated learning with compressed communications | |
CN111556089A (zh) | 基于使能区块链移动边缘计算系统的资源联合优化方法 | |
CN110505644A (zh) | 5g超密集异构网络下的用户任务卸载与资源分配联合优化方法 | |
CN114885418A (zh) | 5g超密集网络中任务卸载及资源分配的联合优化方法、装置及介质 | |
Pang et al. | Joint wireless source management and task offloading in ultra-dense network | |
Lin et al. | Joint offloading decision and resource allocation for multiuser NOMA-MEC systems | |
Wang et al. | Task allocation mechanism of power internet of things based on cooperative edge computing | |
CN116089091A (zh) | 基于物联网边缘计算的资源分配和任务卸载方法 | |
CN111930471B (zh) | 一种基于gpu的并行仿真评估选择方法 | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
CN113473542A (zh) | 无线供能边缘计算网络的时延最小化资源分配方法及装置 | |
CN110266757A (zh) | 一种面向任务协同场景的边缘计算资源优化方法 | |
CN112560392B (zh) | 用于处理电路版图的方法、设备和存储介质 | |
CN113543271A (zh) | 一种面向有效容量的资源分配方法及系统 | |
Liu et al. | Joint optimization for residual energy maximization in wireless powered mobile-edge computing systems | |
Li et al. | Performance optimization algorithm of radar signal processing system | |
Song et al. | Federated dynamic spectrum access | |
Huang et al. | Joint topology and computation resource optimization for federated edge learning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |