[发明专利]一种基于GPU的AIM‑PO混合方法在审
| 申请号: | 201710638068.6 | 申请日: | 2017-07-31 |
| 公开(公告)号: | CN107562690A | 公开(公告)日: | 2018-01-09 |
| 发明(设计)人: | 杨武 | 申请(专利权)人: | 东南大学 |
| 主分类号: | G06F17/11 | 分类号: | G06F17/11;G06F17/16 |
| 代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 柏尚春 |
| 地址: | 210096 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 gpu aim po 混合 方法 | ||
1.基于GPU的AIM-PO混合算法,其特征在于:包括以下步骤:
1)对自适应积分法中的扩展系数矩阵以及近区阻抗矩阵填充进行并行化求解;
2)对自适应积分法中的矩阵方程进行并行化求解;
3)引入基于GPU的无堆栈KD-Tree对PO区域进行遮挡面判断;
4)对AIM-PO混合方法中的PO区域电流系数进行并行化求解;
5)对附加激励向量进行并行化求解。
2.根据权利要求1所述的基于GPU的AIM-PO混合算法,其特征在于:所述步骤1)中,利用GPU并行求解扩展系数矩阵:在GPU中,为每一个RWG基函数分配一个GPU线程进行多极子展开,用来计算扩展系数矩阵;
近区阻抗矩阵填充包括以下步骤:
1.1、判断两个RWG基函数是否满足近区条件,如果满足则记录该元素在矩阵中的位置索引;
1.2、将步骤1.1中记录的近区阻抗矩阵元素的位置索引传入到GPU端,为每一个近区阻抗元素分配一个GPU线程用来计算其阻抗值。
3.根据权利要求2所述的基于GPU的AIM-PO混合算法,其特征在于:所述步骤1.1中判断两个RWG基函数满足近区条件为:对近区阻抗矩阵元素Zmn,首先需要判断第m个RWG基函数和第n个RWG基函数构成的基函数对之间的距离,该距离小于近区耦合距离。
4.根据权利要求1所述的基于GPU的AIM-PO混合算法,其特征在于:所述步骤2)中对矩阵方程求解:采用双共轭梯度法来进行自适应积分法中的矩阵方程求解,利用CUDA平台中的CUSPARSE库完成矩阵与向量乘积计算。
5.根据权利要求1所述的基于GPU的AIM-PO混合算法,其特征在于:所述步骤3)中对PO区域进行遮挡面判断,具体包括以下步骤:
3.1、在PO区域构建一棵KD-Tree,将其进行线索化;
3.2、根据步骤3.1中构建好的KD-Tree,建立节点数组和面元编号数组,并将节点数组和面元编号数组从主机端拷贝到设备端,进行射线与三角面元的可见性探查测试;
其中,步骤3.1中对KD-Tree进行线索化,包括为树中每个叶子节点添加六个线索指针,每个线索指针保存有与该叶子节点包围盒的一个面相邻的节点地址,在对KD-Tree进行遍历测试射线和面元是否相交的过程中,射线通过在节点包围盒的出射点位置以及节点中的线索指针找到下一个需要访问的节点;
其中,步骤3.2中建立节点数组:将KD-Tree的节点进行编号,将指针的地址信息转化为节点的编号信息,使用一个节点数组保存所有的节点,节点内的所有指针信息均通过节点数组的下标索引来表示,所述指针信息包括左、右节点指针和每个叶子节点内的六个线索指针;
步骤3.2中建立面元编号数组:采用一个新的一维面元编号数组来存储节点包围盒内部的三角面元编号信息,在节点内保存有三角面元个数和节点内第一个三角形面元在面元编号数组中的索引,每个节点内所包含的三角形面元编号信息在面元编号数组中连续存储,通过三角面元个数和节点内第一个三角形面元在面元编号数组中的索引便可以访问任何一个节点内部三角面元的编号;
步骤3.2中进行射线与三角面元的可见性探查测试,根据叶子节点中保存的线索指针来搜索遍历,具体步骤如下:
5.1、根据AIM区域RWG基函数和PO区域三角形面元的位置坐标确定射线ray;
5.2、将射线ray和KD-Tree根节点进行相交测试,得到入射位置和出射位置;
5.3、当入射位置距离射线源点比出射位置距离源点近时,计算得到射线ray和节点包围盒的交点,如果当前交点所在的节点不是叶子节点,则根据交点的位置寻找叶子节点,如果交点与左或右子节点相交,则测试射线ray和左子节点或右子节点包围盒,更新入射位置、出射位置以及交点位置,并根据更新后的交点位置信息向下一层寻找子节点,直到找到叶子节点为止;
5.4、找到叶子节点后,需要将射线ray和该叶子节点内的所有三角面元进行相交测试,如果相交,计算相交位置,并更新最近位置λmin以及最近位置对应的三角面元编号Tmin,如果未相交,则不需要更新最近位置λmin;
5.5、相交测试完毕后,利用出射位置判断出射面,并根据叶子节点的线索指针定位下一个需要搜索的节点,如果计算出的下一个节点的索引合法,则将射线ray和下一个节点包围盒进行相交测试,重新计算入射位置和出射位置,返回步骤5.3;如果下一个节点的索引不是一个合法的索引,则表明遍历结束;将得到的最近位置对应的三角面元编号Tmin和PO区域当前进行可见面判断的三角面元的编号进行比较,如果相等,则表明该三角面元对于射线ray可见,位于亮区,否则表明未与该三角面元相交或者被其他的三角面元遮挡,位于暗区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710638068.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种系统级芯片和终端
- 下一篇:一种基于最小二乘法的微小推力动态测试方法





