CN115146485B - 基于gpu加速的射频链路仿真方法 - Google Patents

基于gpu加速的射频链路仿真方法 Download PDF

Info

Publication number
CN115146485B
CN115146485B CN202211059853.3A CN202211059853A CN115146485B CN 115146485 B CN115146485 B CN 115146485B CN 202211059853 A CN202211059853 A CN 202211059853A CN 115146485 B CN115146485 B CN 115146485B
Authority
CN
China
Prior art keywords
gpu
link
radio frequency
frequency
cuda
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.)
Active
Application number
CN202211059853.3A
Other languages
English (en)
Other versions
CN115146485A (zh
Inventor
王凯
张毅
庄志鹏
罗思成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Guorui Xinwei Software Co ltd
Original Assignee
Nanjing Guorui Xinwei Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Guorui Xinwei Software Co ltd filed Critical Nanjing Guorui Xinwei Software Co ltd
Priority to CN202211059853.3A priority Critical patent/CN115146485B/zh
Publication of CN115146485A publication Critical patent/CN115146485A/zh
Application granted granted Critical
Publication of CN115146485B publication Critical patent/CN115146485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明涉及一种基于GPU加速的射频链路仿真方法,包括:将CPU端数据传输到GPU显存,对每个射频元器件的snp文件进行拉格朗日插值,GPU上执行的拉格朗日算法逻辑为:频率值对应线程块的行索引,S参数的相位幅度对应线程块的列索引,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;生成多个链路方案;将数量庞大的链路方案根据GPU的多处理器的数量进行分块,每块交给一个CUDA流去处理;将指标算法写进GPU的一个线程,实现多任务的并行。本发明GPU与CPU异构执行,硬件空间与传统集群相比所占空间小且高效。

Description

基于GPU加速的射频链路仿真方法
技术领域
本发明涉及一种基于GPU加速的射频链路仿真方法,属于射频链路数值分析的技术领域。
背景技术
随着射频技术的发展以及射频芯片型号的多样化,射频工程师在设计射频链路时要考虑链路中的每种器件类型该选用什么厂家以及什么型号的芯片,在确定好选型后进行仿真计算出链路指标,如果指标不满足预期,工程师可能又需要对射频链路中一种或者多种器件重新选型。
如果构成射频链路的器件比较多同时一种器件类型的型号多达数十种或者数百种,例如组成一个射频链路的器件类型有滤波器(10种)、放大器(10种)、衰减器(5种)、混频器(10种),则该射频链路产生的链路方案有10*10*5*10=5000种,光靠工程师通过ADS等专业软件进行手动筛选要找出最优的链路方案是需要耗费极大的精力和时间或者说是不可能完成的任务,所以多链路的并行仿真方法就变得尤为重要。
发明内容
为了解决上述技术问题,克服多链路仿真时串行仿真的效率低下以及业界工具不能对多个链路并行的进行仿真,本发明提供一种基于GPU加速的射频链路仿真方法,其具体技术方案如下:
基于GPU加速的射频链路仿真方法,包括以下步骤:
步骤1)将数据传输到GPU显存:在CPU端将链路中的级联信息和涉及到的所有射频元器件的snp数据和其他属性载入到主机的内存上并设置该内存为页锁内存,页锁内存映射到GPU的显存,减少GPU与主机的数据传输;
步骤2)拉格朗日插值:将步骤1)中传输到GPU显存上的数据作为初始数据,并提取出初始数据中射频链路的起始频率、终止频率、频率步进等数据,在GPU上执行拉格朗日插值算法;
拉格朗日算法理论支持如下:
对于某个多项式函数,已知有给定的d+1个取值点:
Figure 811550DEST_PATH_IMAGE001
其中,
Figure 135215DEST_PATH_IMAGE002
代表第个自变量,
Figure 180532DEST_PATH_IMAGE003
代表第个因变量;
Figure 841320DEST_PATH_IMAGE004
为拉格朗日基函数:
Figure 62217DEST_PATH_IMAGE005
L(x)为拉格朗日插值多项式:
Figure 150259DEST_PATH_IMAGE006
基于CUDA指令的拉格朗日算法逻辑为:频率值对应线程块的行索引,S参数的相位幅度对应线程块的列索引,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;
步骤3)生成多个链路方案:步骤2)中链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案,算法逻辑如下:
N为组成链路的节点数;
n为组成链路的第n个节点, n=0,1,2……N;
Figure 823817DEST_PATH_IMAGE007
为组成链路的第n个节点总共包含
Figure 288296DEST_PATH_IMAGE007
种元器件;
Figure 222754DEST_PATH_IMAGE008
为组成链路的第n个节点的第
Figure 622643DEST_PATH_IMAGE008
种元器件,
Figure 642551DEST_PATH_IMAGE008
=1,2,3……
Figure 910722DEST_PATH_IMAGE007
Figure 575052DEST_PATH_IMAGE009
对应的链路方案索引数为:
Figure 536055DEST_PATH_IMAGE010
步骤4)划分CUDA流:CUDA流表示一个GPU操作队列,该队列中的操作将以添加到流中的先后顺序而依次执行。可以将一个流看做是GPU上的一个任务,不同任务可以并行执行。该步骤是将数量庞大的链路方案根据GPU的多处理器的数量进行分块,每块交给一个CUDA流去处理,算法逻辑如下:
cNum为链路的方案数量;
smNum为GPU中多处理器的数量;
streamNum为CUDA流的数量;
cNumPerStream为每个CUDA流中链路方案的数量;
CUDA流的数量设置为等于GPU多处理器的数量,有利GPU硬件的高效利用;
streamNum=smNum;
最后一个CUDA流对应的方案数为:cNumPerStream=cNum%streamNum;
其他的CUDA流对应的方案数为:cNumPerStream=cNum/streamNum;
步骤5)基于GPU的射频链路计算:包括计算S参数、OIP3、噪声系数和1dB压缩点,以频率维度和链路方案数维度组成一个二维的线程块,每个射频链路方案和一个频率点对应一个GPU线程,将指标算法写进线程,实现多链路、多频率点的并行。
进一步的,步骤 1) 中所述对单个射频元器件的snp数据使用主机的页锁内存来存储不需要显示的传输到GPU显存里,是一种数据使用和数据传输重叠的模式。
进一步的,步骤 2) 中所述基于GPU的拉格朗日插值算法使用了CUDA代码编写,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算。
进一步的,步骤 3) 中所述链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案。
进一步的,步骤 4) 中所述划分cuda流来分块计算数据。
进一步的,步骤 5) 中所述以频率维度和链路方案数维度组成一个二维的线程块,每个射频链路方案和一个频率点对应一个GPU的线程,将指标算法写进线程,利用GPU实现多个射频计算的并行。
本发明的原理是:
本发明基于CPU和GPU的异步架构并行计算方式,具体是基于CPU进行文件读写,基于GPU的射频链路S参数、1dB压缩点、oip3、增益、噪声系数、等指标并行计算。本发明基于GPU的CUDA指令加速数值计算,实现了链路方案维度,频率点维度的数值并行计算。
基于GPU多指标综合评分:将每个射频链路方案的计算结果(数据存储于GPU)与用户设置的指标约束作对比进行宽频率多指标的综合评分。
本发明对射频链路方案数较多、计算频率点的取值较多时,以此并行架构的射频链路多方案计算,将大大节省时间。本发明是基于nvidia提供的CUDA编程接口,降低了硬件和软件开发编写成本。
本发明有益效果:
1.GPU 与 CPU 并行,硬件空间与传统集群相比所占空间小且高效,降低硬件成本;
2.软件整体框架稳定具有可扩展性;
3.与传统相比加速比大大提高,节省时间;
4.CUDA代码明确,格式简单,上手快。
附图说明
图1是本发明的算法流程图,
图2是本发明的射频链路连接拓扑,
图3是本发明的多方案计算后根据评分选出的最优的三个链路方案的增益比较图,
图4是本发明的多方案计算后根据评分选出的最优的三个链路方案的三阶截点比较图,
图5是本发明的多方案计算后根据评分选出的最优的三个链路方案的噪声系数比较图,
图6是本发明的多方案计算后根据评分选出的最优的三个链路方案的S11比较图,
图7是本发明的多方案计算后根据评分选出的最优的三个链路方案的1dB压缩点比较图,
图8是本发明的多方案计算后根据评分选出的最优的三个链路方案的价格比较图,
图9是本发明snp文件的数据,
图10是本发明插值后的数据。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
本发明属于射频链路数值分析领域用于射频链路中s参数、1dB压缩点、oip3、增益、噪声系数、等指标快速计算并综合得出链路评分从而实现链路每种器件类型的快速选型。
本发明实施例:本发明提供了基于CPU与GPU的混合异步射频链路频域并行计算方法具体流程如图1所示,包括以下步骤:
01)将数据传输到GPU显存:在CPU端将链路中如图2中的级联信息和涉及到的所有射频元器件的snp数据和其他属性载入到主机的内存上并设置该内存为页锁内存,页锁内存可以映射到GPU的显存,减少GPU与主机的数据传输。
snp文件的数据如图9。
02)拉格朗日插值:将步骤1) 中传输到GPU显存上的数据作为初始数据,并提取出初始数据中射频链路的起始频率、终止频率、频率步进等数据,在GPU上执行拉格朗日插值算法;
拉格朗日插值算法理论支持如下:
对于某个多项式函数,已知有给定的d+1个取值点:
Figure 43260DEST_PATH_IMAGE001
其中,
Figure 724908DEST_PATH_IMAGE002
代表第个自变量,
Figure 633958DEST_PATH_IMAGE003
代表第个因变量。
Figure 375649DEST_PATH_IMAGE004
为拉格朗日基函数:
Figure 370150DEST_PATH_IMAGE005
L(x)为拉格朗日插值多项式:
Figure 980123DEST_PATH_IMAGE006
基于CUDA指令的拉格朗日算法逻辑为:频率值对应线程块的行索引可对应自变量x,S参数的相位幅度对应线程块的列索引可对应自变量y,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;
插值后的数据如图10。
03)生成多个链路方案:步骤2)中链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案,算法逻辑如下:
N为组成链路的节点数,类比进制位数N,比如23556这个数字的进制位数N=5;
n为组成链路的第n个节点,类比第n位进制位,n=0,1,2……N;
Figure 616116DEST_PATH_IMAGE007
为组成链路的第n个节点总共包含
Figure 918921DEST_PATH_IMAGE007
种元器件;
Figure 135139DEST_PATH_IMAGE008
为组成链路的第n个节点的第
Figure 424169DEST_PATH_IMAGE008
种元器件,
Figure 42232DEST_PATH_IMAGE008
=1,2,3……
Figure 250360DEST_PATH_IMAGE007
Figure 94819DEST_PATH_IMAGE009
对应的链路方案索引数为:
Figure 781015DEST_PATH_IMAGE010
04)划分cuda流:将数量庞大的链路方案根据GPU的多处理器的数量进行分块,每块交给一个cuda流去处理,算法逻辑如下:
cNum为链路的方案数量;
smNum为GPU中多处理器的数量;
streamNum为cuda流的数量;
cNumPerStream为每个cuda流中链路方案的数量;
cuda流的数量设置为等于GPU多处理器的数量,有利GPU硬件的高效利用;
streamNum=smNum;
最后一个cuda流对应的方案数为:cNumPerStream=cNum%streamNum;
其他的cuda流对应的方案数为:cNumPerStream=cNum/streamNum;
05)基于GPU的射频链路计算:包含计算S参数、OIP3、噪声系数、1dB压缩点,以频率维度和链路方案数维度组成一个二维的线程块,每个射频链路方案和一个频率点对应一个GPU线程,将指标算法写进线程,实现多链路、多频率点的并行。
某个射频链路方案的计算结果如下:
Figure 660109DEST_PATH_IMAGE011
06)基于GPU多指标综合评分:将每个射频链路方案的计算结果(数据存储于GPU)与用户设置的指标约束作对比进行宽频率多指标的综合评分,参见图3-8,
输入评估指标如下表
Figure 39138DEST_PATH_IMAGE012
07)选出最佳的三个射频链路方案,如下表格器件类型的顺序为射频链路级联的顺序。
Figure 229948DEST_PATH_IMAGE013
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。

Claims (6)

1.一种基于GPU加速的射频链路仿真方法,其特征在于:包括以下步骤:
步骤1)将数据传输到GPU显存:在CPU端将链路中的级联信息和涉及到的所有射频元器件的snp数据和其他属性载入到主机的内存上并设置该内存为页锁内存,页锁内存映射到GPU的显存,减少GPU与主机的数据传输;
步骤2)拉格朗日插值:将步骤1)中传输到GPU显存上的数据作为初始数据,并提取出初始数据中射频链路的起始频率、终止频率、频率步进数据,在GPU上执行拉格朗日插值算法;
拉格朗日算法理论支持如下:
对于某个多项式函数,已知有给定的d+1个取值点:
Figure 801785DEST_PATH_IMAGE001
其中,
Figure 839011DEST_PATH_IMAGE002
代表第个自变量,
Figure 632392DEST_PATH_IMAGE003
代表第个因变量;
Figure 983739DEST_PATH_IMAGE004
为拉格朗日基函数:
Figure 929699DEST_PATH_IMAGE005
L(x)为拉格朗日插值多项式:
Figure 341088DEST_PATH_IMAGE006
基于CUDA指令的拉格朗日算法逻辑为:频率值对应线程块的行索引,S参数的相位幅度对应线程块的列索引,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;
步骤3)生成多个链路方案:步骤2)中链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案,算法逻辑如下:
N为组成链路的节点数;
n为组成链路的第n个节点, n=0,1,2……N;
Figure 123231DEST_PATH_IMAGE007
为组成链路的第n个节点总共包含
Figure 12689DEST_PATH_IMAGE007
种元器件;
Figure 813155DEST_PATH_IMAGE008
为组成链路的第n个节点的第
Figure 395446DEST_PATH_IMAGE008
种元器件,
Figure 169279DEST_PATH_IMAGE008
=1,2,3……
Figure 862429DEST_PATH_IMAGE007
Figure 517401DEST_PATH_IMAGE009
对应的链路方案索引数为:
Figure 270593DEST_PATH_IMAGE010
步骤4)划分CUDA流:CUDA流表示一个GPU操作队列,该队列中的操作将以添加到流中的先后顺序而依次执行;
将一个流看做是GPU上的一个任务,不同任务并行执行;
该步骤是将数量庞大的链路方案根据GPU的多处理器的数量进行分块,每块交给一个CUDA流去处理,算法逻辑如下:
cNum为链路的方案数量;
smNum为GPU中多处理器的数量;
streamNum为CUDA流的数量;
cNumPerStream为每个CUDA流中链路方案的数量;
CUDA流的数量设置为等于GPU多处理器的数量,有利GPU硬件的高效利用;
streamNum=smNum;
最后一个CUDA流对应的方案数为:cNumPerStream=cNum%streamNum;
其他的CUDA流对应的方案数为:cNumPerStream=cNum/streamNum;
步骤5)基于GPU的射频链路计算:包括计算S参数、OIP3、噪声系数和1dB压缩点,以频率维度和链路方案数维度组成一个二维的线程块,每个射频链路方案和一个频率点对应一个GPU线程,将指标算法写进线程,实现多链路、多频率点的并行。
2.根据权利要求1所述的基于GPU加速的射频链路仿真方法,其特征在于:步骤 1) 中对射频元器件的snp数据使用主机的页锁内存来存储不需要显示的传输到GPU显存里,是一种数据使用和数据传输重叠的模式。
3.根据权利要求1所述的基于GPU加速的射频链路仿真方法,其特征在于:步骤 2) 中所述基于GPU的拉格朗日插值算法使用了CUDA代码编写,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算。
4.根据权利要求1所述的基于GPU加速的射频链路仿真方法,其特征在于:步骤 3) 中所述链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案。
5.根据权利要求1所述的基于GPU加速的射频链路仿真方法,其特征在于:步骤 4) 中所述划分CUDA流来分块计算数据。
6.根据权利要求1所述的基于GPU加速的射频链路仿真方法,其特征在于:步骤 5) 中所述以频率维度和链路方案数维度组成一个二维的线程块,每个射频链路方案和一个频率点对应一个GPU的线程,将指标算法写进线程,利用GPU实现多个链路、多个频率点指标计算的并行。
CN202211059853.3A 2022-09-01 2022-09-01 基于gpu加速的射频链路仿真方法 Active CN115146485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211059853.3A CN115146485B (zh) 2022-09-01 2022-09-01 基于gpu加速的射频链路仿真方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211059853.3A CN115146485B (zh) 2022-09-01 2022-09-01 基于gpu加速的射频链路仿真方法

Publications (2)

Publication Number Publication Date
CN115146485A CN115146485A (zh) 2022-10-04
CN115146485B true CN115146485B (zh) 2022-11-29

Family

ID=83415312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211059853.3A Active CN115146485B (zh) 2022-09-01 2022-09-01 基于gpu加速的射频链路仿真方法

Country Status (1)

Country Link
CN (1) CN115146485B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115630617B (zh) * 2022-12-22 2023-04-07 成都华兴汇明科技有限公司 S2p数据转换s2d模型、ads仿真文件构建方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298296B (zh) * 2018-11-12 2020-01-24 西安电子科技大学 一种强电磁脉冲注入下射频链路的损伤分级等效建模及仿真方法
CN114004057B (zh) * 2021-09-18 2023-04-07 中国电子科技集团公司第二十九研究所 射频链路快速仿真及器件自动选优的方法和***

Also Published As

Publication number Publication date
CN115146485A (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
CN110826719B (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
US9009690B1 (en) Code generation
CN110516810B (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
CN111027702B (zh) 一种实现量子线路替换的方法、装置、存储介质和电子装置
US8347245B2 (en) Hardware definition language generation for frame-based processing
CN111178532B (zh) 一种量子线路匹配的方法、装置、存储介质和电子装置
CN110929873A (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
CN111401562B (zh) 一种终端界面中量子线路的运行方法及装置
JP4791959B2 (ja) ブロックモデリング入出力バッファー
CN115146485B (zh) 基于gpu加速的射频链路仿真方法
US8681166B1 (en) System and method for efficient resource management of a signal flow programmed digital signal processor code
CN110889507A (zh) 一种量子程序转有向无环图的方法、装置、存储介质及电子装置
WO2023193547A1 (zh) 用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质
CN114819163B (zh) 量子生成对抗网络的训练方法、装置、介质及电子装置
JP2001290796A (ja) 行列リオーダリング方法及び装置並びに電子回路シミュレーション方法及び装置
Ramani et al. Coin-flipping, ball-dropping, and grass-hopping for generating random graphs from matrices of edge probabilities
CN109697083A (zh) 数据的定点化加速方法、装置、电子设备及存储介质
US7197445B1 (en) Atomic transaction processing for logic simulation
Curry et al. Designing for system value sustainment using interactive epoch era analysis: a case study for on-orbit servicing vehicles
CN114912619A (zh) 一种量子计算任务调度方法、装置及量子计算机操作***
Trubiani et al. VisArch: Visualisation of Performance-based Architectural Refactorings
TWI782845B (zh) 通用型圖形處理器核心函式之組態設定預測系統及方法
US20230068947A1 (en) Systems and methods for processing inter-dependent data for risk modelling and analysis
CN115759260A (zh) 深度学习模型的推理方法、装置、电子设备和存储介质
Kulagin et al. Software for Modeling Distributed Systems Using the Petri Net Apparatus

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