CN115146485B - 基于gpu加速的射频链路仿真方法 - Google Patents
基于gpu加速的射频链路仿真方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000004088 simulation Methods 0.000 title claims abstract description 16
- 230000001133 acceleration Effects 0.000 title claims abstract description 13
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000002360 preparation method Methods 0.000 claims description 5
- 101001091538 Homo sapiens Pyruvate kinase PKM Proteins 0.000 claims description 3
- 102100034911 Pyruvate kinase PKM Human genes 0.000 claims description 3
- 239000000470 constituent Substances 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design 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加速的射频链路仿真方法,属于射频链路数值分析的技术领域。
背景技术
随着射频技术的发展以及射频芯片型号的多样化,射频工程师在设计射频链路时要考虑链路中的每种器件类型该选用什么厂家以及什么型号的芯片,在确定好选型后进行仿真计算出链路指标,如果指标不满足预期,工程师可能又需要对射频链路中一种或者多种器件重新选型。
如果构成射频链路的器件比较多同时一种器件类型的型号多达数十种或者数百种,例如组成一个射频链路的器件类型有滤波器(10种)、放大器(10种)、衰减器(5种)、混频器(10种),则该射频链路产生的链路方案有10*10*5*10=5000种,光靠工程师通过ADS等专业软件进行手动筛选要找出最优的链路方案是需要耗费极大的精力和时间或者说是不可能完成的任务,所以多链路的并行仿真方法就变得尤为重要。
发明内容
为了解决上述技术问题,克服多链路仿真时串行仿真的效率低下以及业界工具不能对多个链路并行的进行仿真,本发明提供一种基于GPU加速的射频链路仿真方法,其具体技术方案如下:
基于GPU加速的射频链路仿真方法,包括以下步骤:
步骤1)将数据传输到GPU显存:在CPU端将链路中的级联信息和涉及到的所有射频元器件的snp数据和其他属性载入到主机的内存上并设置该内存为页锁内存,页锁内存映射到GPU的显存,减少GPU与主机的数据传输;
步骤2)拉格朗日插值:将步骤1)中传输到GPU显存上的数据作为初始数据,并提取出初始数据中射频链路的起始频率、终止频率、频率步进等数据,在GPU上执行拉格朗日插值算法;
拉格朗日算法理论支持如下:
对于某个多项式函数,已知有给定的d+1个取值点:
L(x)为拉格朗日插值多项式:
基于CUDA指令的拉格朗日算法逻辑为:频率值对应线程块的行索引,S参数的相位幅度对应线程块的列索引,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;
步骤3)生成多个链路方案:步骤2)中链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案,算法逻辑如下:
N为组成链路的节点数;
n为组成链路的第n个节点, n=0,1,2……N;
步骤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个取值点:
L(x)为拉格朗日插值多项式:
基于CUDA指令的拉格朗日算法逻辑为:频率值对应线程块的行索引可对应自变量x,S参数的相位幅度对应线程块的列索引可对应自变量y,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;
插值后的数据如图10。
03)生成多个链路方案:步骤2)中链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案,算法逻辑如下:
N为组成链路的节点数,类比进制位数N,比如23556这个数字的进制位数N=5;
n为组成链路的第n个节点,类比第n位进制位,n=0,1,2……N;
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线程,将指标算法写进线程,实现多链路、多频率点的并行。
某个射频链路方案的计算结果如下:
06)基于GPU多指标综合评分:将每个射频链路方案的计算结果(数据存储于GPU)与用户设置的指标约束作对比进行宽频率多指标的综合评分,参见图3-8,
输入评估指标如下表
07)选出最佳的三个射频链路方案,如下表格器件类型的顺序为射频链路级联的顺序。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。
Claims (6)
1.一种基于GPU加速的射频链路仿真方法,其特征在于:包括以下步骤:
步骤1)将数据传输到GPU显存:在CPU端将链路中的级联信息和涉及到的所有射频元器件的snp数据和其他属性载入到主机的内存上并设置该内存为页锁内存,页锁内存映射到GPU的显存,减少GPU与主机的数据传输;
步骤2)拉格朗日插值:将步骤1)中传输到GPU显存上的数据作为初始数据,并提取出初始数据中射频链路的起始频率、终止频率、频率步进数据,在GPU上执行拉格朗日插值算法;
拉格朗日算法理论支持如下:
对于某个多项式函数,已知有给定的d+1个取值点:
L(x)为拉格朗日插值多项式:
基于CUDA指令的拉格朗日算法逻辑为:频率值对应线程块的行索引,S参数的相位幅度对应线程块的列索引,取出需要插值的频率值所在数组前后相邻的频率值和与之对应的S参数的相位幅值放入GPU的共享内存然后进行插值计算;
步骤3)生成多个链路方案:步骤2)中链路中所涉及的所有射频元器件的数据准备完成后,利用十进制的思想来同构生成多个链路方案,算法逻辑如下:
N为组成链路的节点数;
n为组成链路的第n个节点, n=0,1,2……N;
步骤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实现多个链路、多个频率点指标计算的并行。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115630617B (zh) * | 2022-12-22 | 2023-04-07 | 成都华兴汇明科技有限公司 | S2p数据转换s2d模型、ads仿真文件构建方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298296B (zh) * | 2018-11-12 | 2020-01-24 | 西安电子科技大学 | 一种强电磁脉冲注入下射频链路的损伤分级等效建模及仿真方法 |
CN114004057B (zh) * | 2021-09-18 | 2023-04-07 | 中国电子科技集团公司第二十九研究所 | 射频链路快速仿真及器件自动选优的方法和系统 |
-
2022
- 2022-09-01 CN CN202211059853.3A patent/CN115146485B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115146485A (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826719B (zh) | 一种量子程序的处理方法、装置、存储介质和电子装置 | |
CN110516810B (zh) | 一种量子程序的处理方法、装置、存储介质和电子装置 | |
CN111027702B (zh) | 一种实现量子线路替换的方法、装置、存储介质和电子装置 | |
CN111178532B (zh) | 一种量子线路匹配的方法、装置、存储介质和电子装置 | |
CN110929873A (zh) | 一种量子程序的处理方法、装置、存储介质和电子装置 | |
CN110889507A (zh) | 一种量子程序转有向无环图的方法、装置、存储介质及电子装置 | |
JP4791959B2 (ja) | ブロックモデリング入出力バッファー | |
CN111401562A (zh) | 一种终端界面中量子线路的运行方法及装置 | |
CN115146485B (zh) | 基于gpu加速的射频链路仿真方法 | |
CN114819163B (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
WO2023193547A1 (zh) | 用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质 | |
JP2005242569A (ja) | データ処理装置設計方法、データ処理装置設計装置及びプログラム | |
JP2001290796A (ja) | 行列リオーダリング方法及び装置並びに電子回路シミュレーション方法及び装置 | |
CN111079933A (zh) | 量子线路的图形化显示方法、系统、存储介质和电子装置 | |
CN113128015B (zh) | 预估单振幅模拟量子计算所需资源的方法和系统 | |
US7197445B1 (en) | Atomic transaction processing for logic simulation | |
CN115879562B (zh) | 一种量子程序初始映射的确定方法、装置及量子计算机 | |
CN114912619A (zh) | 一种量子计算任务调度方法、装置及量子计算机操作系统 | |
CN114881239A (zh) | 量子生成器的构造方法、装置、介质及电子装置 | |
CN114881238A (zh) | 量子鉴别器的构造方法、装置、介质及电子装置 | |
Curry et al. | Designing for system value sustainment using interactive epoch era analysis: a case study for on-orbit servicing vehicles | |
CN117151231A (zh) | 利用变分量子线路求解线性系统的方法、装置及介质 | |
JP4131871B2 (ja) | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム | |
CN115775029A (zh) | 量子线路转化方法、装置、介质及电子装置 | |
JP2006039621A (ja) | タイミング制約ライブラリの作成方法及び作成システム |
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 |