WCMC 无线通信和移动计算 1530 - 8677 1530 - 8669 Hindawi 10.1155 / 2021/1999154 1999154 研究文章 基于CUDA并行差分演化粒子滤波算法展开循环 https://orcid.org/0000 - 0003 - 3224 - 6147 凯杰, Kaluri 拉杰什 兰州理工大学 兰州 中国 lut.cn 2021年 15 10 2021年 2021年 13 8 2021年 31日 8 2021年 9 9 2021年 15 10 2021年 2021年 版权©2021凯杰,黄和杰曹。 这是一个开放的文章在知识共享归属许可下发布的,它允许无限制的使用,分布和繁殖在任何媒介,提供最初的工作是正确的引用。

针对法律效率低的问题并行前缀和执行期间执行的微分进化粒子滤波算法,基于CUDA展开循环前缀的滤波算法和提出删除线程分化和线程并行前缀中存在的懒惰和通过展开循环方法和展开线程绑定的方法,优化周期,提高前缀和执行效率。通过引入并行策略,微分进化粒子滤波算法实现并行和GPU上执行期间使用改进的前缀和计算算法更新。通过大数据分析,结果表明,该并行差分演化粒子滤波算法与改进的前缀和法律可以有效地改善非线性系统微分进化粒子过滤状态和异构并行处理系统的实时性能。

1。介绍</t我tle> <p>粒子滤波是一种序贯蒙特卡罗方法,它采用粒子近似后验概率密度分布。在[<xgydF4y2Baref ref-type="bibr" rid="B1"> 1</xgydF4y2Baref>],multi-intelligent共同进化机制引入粒子滤波,实现和重采样过程的竞争,交叉,变异,自学中粒子,有效解决粒子退化和粒子匮乏的问题。文献[<xgydF4y2Baref ref-type="bibr" rid="B2"> 2</xgydF4y2Baref>)相比,粒子滤波的滤波精度在不同的搜索策略,和微分进化粒子滤波算法的准确性提高,但计算复杂度增加。为解决计算复杂性问题,文献[<xgydF4y2Baref ref-type="bibr" rid="B3"> 3</xgydF4y2Baref>- - - - - -<xgydF4y2Baref ref-type="bibr" rid="B5"> 5</xgydF4y2Baref>)提出了一种基于GPU的粒子过滤并行算法,有效地结合了传统粒子滤波算法充分利用GPU的GPU并行计算的性能,加快粒子滤波算法的计算速度。文献[<xgydF4y2Baref ref-type="bibr" rid="B6"> 6</xgydF4y2Baref>,<xgydF4y2Baref ref-type="bibr" rid="B7"> 7</xgydF4y2Baref>)提出了一种基于gpu的并行优化设计和实现的粒子滤波来提高跟踪算法的计算速度。文献[<xgydF4y2Baref ref-type="bibr" rid="B8"> 8</xgydF4y2Baref>- - - - - -<xgydF4y2Baref ref-type="bibr" rid="B10"> 10</xgydF4y2Baref>)设计并实现了一个基于CUDA并行粒子群优化算法,它使用大量的线程GPU加速整个粒子群的收敛速度。平行规约算法在上述文献中用于并行粒子滤波算法来简化线程操作。前缀和算法是一个重要的原始并行算法编程,利用许多不同的算法作为基本模块。与串行算法相比,CUDA-based单指令多线程并行算法执行命令,它可以执行更多的操作,提高算法的执行效率。然而,由于前缀的执行模式和内存访问模式和算法(<xgydF4y2Baref ref-type="bibr" rid="B11"> 11</xgydF4y2Baref>- - - - - -<xgydF4y2Baref ref-type="bibr" rid="B13"> 13</xgydF4y2Baref>),执行过程容易线程划分和内存访问冲突现象,不能有效利用GPU的硬件资源。前缀求和包含大量重复操作,简单,但效率低下。分段前缀求和避免线程重复但患有严重的内存访问问题,让GPU硬件资源的利用率低。文献[<xgydF4y2Baref ref-type="bibr" rid="B14"> 14</xgydF4y2Baref>]介绍了额外的说明和演示了他们的应用程序建设有效的并行算法原语,比如前缀和前缀和分段二进制加法。在文献[<xgydF4y2Baref ref-type="bibr" rid="B15"> 15</xgydF4y2Baref>),研究人员使用并行分割前缀来构造数据处理和优化来提高算法的整体性能。在文献[<xgydF4y2Baref ref-type="bibr" rid="B16"> 16</xgydF4y2Baref>),研究人员利用gpu和实际并行粒子群解决奇异设施位置的问题,证明了粒子群优化是一个灵活的优化技术。在文献[<xgydF4y2Baref ref-type="bibr" rid="B17"> 17</xgydF4y2Baref>),一些树数据结构研究了前缀和问题,提供多种实用的解决方案,获得良好的加速因子。</p><p>gydF4y2Ba解决线程分化的问题的执行微分进化粒子过滤并行算法,基于CUDA架构,提出了一种微分进化粒子滤波算法基础上展开循环前缀和优化删除线程分化和减少滞后引起的判断和分支预测,使粒子滤波算法逐步提高计算性能。</p></gydF4y2Basec> <sec id="sec2"> <title>2。微分进化粒子滤波算法</t我tle> <p>差分进化算法(DE)是一种随机并行直接搜索算法,其基本思想是将从一个随机生成的初始种群,迭代不断根据特定的操作规则,根据每个人的健身价值,保持良好的个人和消除劣质的,和指导搜索过程接近最优解。该算法具有结构简单、容易实现,不需要梯度信息,更少的参数,等等,和各种不同的搜索策略。</p><p>gydF4y2Ba摘要DE-PF算法的计算过程如下。</p><状态ment id="step1"> <title>步骤1。</t我tle> <p>初始化步骤,执行抽样时间<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M1"> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 0</gydF4y2Bamml:mn> </mml:math> </inline-formula>。由此产生的<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M2"> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula>粒子<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M3"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mn> 0</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula>作为最初的样品,和初始样本的分布<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M4"> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mn> 0</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> ∼</gydF4y2Bamml:mo> <mml:mi> p</gydF4y2Bamml:mi> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mn> 0</gydF4y2Bamml:mn> </mml:mrow> </mml:msub> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>。所有粒子都具有相同的初始权重<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M5"> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mn> 0</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> /</gydF4y2Bamml:mo> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula>。重复迭代<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M6"> <mml:mi> T</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mo> ⋯</gydF4y2Bamml:mo> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula>。</p></状态ment> <statement id="step2"> <title>步骤2。</t我tle> <p>预测步骤,设置<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M7"> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:math> </inline-formula>,样本粒子<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M8"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula>在当前时刻状态转移模型,并计算当前的测量<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M9"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> y</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula>。</p></状态ment> <statement id="step3"> <title>步骤3。</t我tle> <p>权重计算和归一化,在收到的测量步骤<xgydF4y2Baref rid="step2" ref-type="statement"> 2</xgydF4y2Baref>,每个粒子都需要更新权重根据似然函数<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M10"> <mml:mi> p</gydF4y2Bamml:mi> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:msub> <mml:mrow> <mml:mi> y</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> T</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mfenced open="|" close=""> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> T</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>:<d我sp-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M11"> <mml:mtable> <mml:mlabeledtr id="eq1"> <mml:mtd> <mml:mtext> (1)</gydF4y2Bamml:mtext> </mml:mtd> <mml:mtd> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> =</gydF4y2Bamml:mo> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> <mml:mo> −</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> ⋅</gydF4y2Bamml:mo> <mml:mi> p</gydF4y2Bamml:mi> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:msub> <mml:mrow> <mml:mi> y</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mfenced open="|" close=""> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> </mml:mfenced> <mml:mo> 。</gydF4y2Bamml:mo> </mml:mtd> </mml:mlabeledtr> </mml:mtable> </mml:math> </disp-formula></p> <p>正常化过程使粒子权重之和等于1,和正常化过程表示为<d我sp-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M12"> <mml:mtable> <mml:mlabeledtr id="eq2"> <mml:mtd> <mml:mtext> (2)</gydF4y2Bamml:mtext> </mml:mtd> <mml:mtd> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> =</gydF4y2Bamml:mo> <mml:mfrac> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> <mml:mrow> <mml:msub> <mml:mrow> <mml:mo> ∑</gydF4y2Bamml:mo> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> t</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mrow> </mml:mfrac> <mml:mo> 。</gydF4y2Bamml:mo> </mml:mtd> </mml:mlabeledtr> </mml:mtable> </mml:math> </disp-formula></p> </statement> <statement id="step4"> <title>步骤4。</t我tle> <p>对于微分进化的重采样,我们有以下:<gydF4y2Balist> <list-item> <label>(1)</gydF4y2Balabel> </list-item> </list></p> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M13"> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:math> </inline-formula>。进化的初始粒子<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M14"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> =</gydF4y2Bamml:mo> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula></p> <list-item> <label>(2)</gydF4y2Balabel> <p>变异操作进行粒子集<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M15"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula>进行交叉操作,然后获得候选粒子集<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M16"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mover accent="true"> <mml:mi> x</gydF4y2Bamml:mi> <mml:mo stretchy="true"> ~</gydF4y2Bamml:mo> </mml:mover> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula></p> </list-item> <list-item> <label>(3)</gydF4y2Balabel> <p>候选人粒子集的健身价值<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M17"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mover accent="true"> <mml:mi> x</gydF4y2Bamml:mi> <mml:mo stretchy="true"> ~</gydF4y2Bamml:mo> </mml:mover> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula>执行计算,选择操作,以及由此产生的粒子集吗<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M18"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula></p> </list-item> <list-item> <label>(4)</gydF4y2Balabel> <p>如果<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M19"> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> <</gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mi> G</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi mathvariant="normal"> 马克斯</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:math> </inline-formula>和<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M20"> <mml:mi> σ</gydF4y2Bamml:mi> <mml:mo> ></gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mi> σ</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi mathvariant="normal"> 最小值</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:math> </inline-formula>,然后设置<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M21"> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mi> g</gydF4y2Bamml:mi> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:math> </inline-formula>;转到步骤<xgydF4y2Baref rid="step2" ref-type="statement"> 2</xgydF4y2Baref>;否则,进入下一步</p></gydF4y2Balist-item> <p></p> </statement> <statement id="step5"> <title>第5步。</t我tle> <p>安排降序排列的粒子。</p></状态ment> <statement id="step6"> <title>步骤6。</t我tle> <p>计算每个粒子的次数复制,除了自己。</p></状态ment> <statement id="step7"> <title>步骤7。</t我tle> <p>步中计算权重的加权和<xgydF4y2Baref rid="step4" ref-type="statement"> 4</xgydF4y2Baref>,除了自己。</p></状态ment> <statement id="step8"> <title>步骤8。</t我tle> <p>消除小颗粒。</p></状态ment> <statement id="step9"> <title>第9步。</t我tle> <p>为国家输出步骤,优化的粒子作为样本集的权重相等<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M22"> <mml:msubsup> <mml:mrow> <mml:mfenced open="{" close="}"> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> ,</gydF4y2Bamml:mo> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> =</gydF4y2Bamml:mo> <mml:msup> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mo> −</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:math> </inline-formula>:<d我sp-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M23"> <mml:mtable> <mml:mlabeledtr id="eq3"> <mml:mtd> <mml:mtext> (3)</gydF4y2Bamml:mtext> </mml:mtd> <mml:mtd> <mml:mtext> 计算</gydF4y2Bamml:mtext> <mml:mtext> </mml:mtext> <mml:mtext> 状态</gydF4y2Bamml:mtext> <mml:mtext> </mml:mtext> <mml:mtext> 估计</gydF4y2Bamml:mtext> <mml:mo> :</gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> =</gydF4y2Bamml:mo> <mml:munderover> <mml:mrow> <mml:mo movablelimits="false"> ∑</gydF4y2Bamml:mo> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mi> N</gydF4y2Bamml:mi> </mml:mrow> </mml:munderover> <mml:mrow> <mml:msubsup> <mml:mrow> <mml:mi> w</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> </mml:mrow> <mml:mo> ,</gydF4y2Bamml:mo> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> 我</gydF4y2Bamml:mi> </mml:mrow> </mml:msubsup> <mml:mo> 。</gydF4y2Bamml:mo> </mml:mtd> </mml:mlabeledtr> </mml:mtable> </mml:math> </disp-formula></p> </statement> </sec> <sec id="sec3"> <title>3所示。改进的并行前缀和</t我tle> <p>并行算法需要计算粒子的累积分布函数(CDF)当执行计算,这是一个简单的连续前缀和操作描述如下:<d我sp-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M24"> <mml:mtable> <mml:mlabeledtr id="eq4"> <mml:mtd> <mml:mtext> (4)</gydF4y2Bamml:mtext> </mml:mtd> <mml:mtd> <mml:mi> y</gydF4y2Bamml:mi> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mi> n</gydF4y2Bamml:mi> </mml:mrow> </mml:mfenced> <mml:mo> =</gydF4y2Bamml:mo> <mml:mi> y</gydF4y2Bamml:mi> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mi> n</gydF4y2Bamml:mi> <mml:mo> −</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mi> x</gydF4y2Bamml:mi> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mi> n</gydF4y2Bamml:mi> </mml:mrow> </mml:mfenced> <mml:mo> ,</gydF4y2Bamml:mo> </mml:mtd> </mml:mlabeledtr> </mml:mtable> </mml:math> </disp-formula>在哪里<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M25"> <mml:mi> n</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 0</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> −</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:math> </inline-formula>,<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M26"> <mml:mi> y</gydF4y2Bamml:mi> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mo> −</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 0</gydF4y2Bamml:mn> </mml:math> </inline-formula>,<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M27"> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula>数据的大小吗<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M28"> <mml:mi> y</gydF4y2Bamml:mi> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mi> n</gydF4y2Bamml:mi> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>。顺序计算非常简单,使得并行化困难由于输出数据之间的依赖关系。对于小型前缀和问题,只使用一个线程块和递归乘法用于解决这个问题。然而,并行粒子滤波需要较长的计算的前缀和问题当粒子的数量<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M29"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 16</gydF4y2Bamml:mn> </mml:math> </inline-formula>,图<xgydF4y2Baref ref-type="fig" rid="fig1"> 1</xgydF4y2Baref>表达了相同的操作在不同的粒子,即。,并行前缀求和的方法。</p><gydF4y2Bafig-group id="fig1"> <label>图1</gydF4y2Balabel> <p>并行前缀和基于展开循环改进。</p><gydF4y2Bafig id="fig1a"> <label>(一)</gydF4y2Balabel> <p>粒子平行采样过程</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.001a"></graphic> </fig> <fig id="fig1b"> <label>(b)</gydF4y2Balabel> <p>并行执行过程的粒子前缀求和</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.001b"></graphic> </fig> </fig-group> <p>并行前缀和可以理解的并行加法的过程中所有的数字数组。一般来说,并行化的概念是基于二进制法令的树,如图<xgydF4y2Baref rid="fig2" ref-type="fig"> 2</xgydF4y2Baref>和<xgydF4y2Baref rid="fig3" ref-type="fig"> 3</xgydF4y2Baref>。并行前缀求和的实现可以分为两种类型:</p><gydF4y2Bafig id="fig2"> <label>图2</gydF4y2Balabel> <p>直接的前缀。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.002"></graphic> </fig> <fig id="fig3"> <label>图3</gydF4y2Balabel> <p>交错的前缀。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.003"></graphic> </fig> <p> <italic> (1)直接前缀和</我t一个lic>。元素搭配直接邻居找到之和</p><p><我t一个lic> (2)交叉前缀金额</我t一个lic>。根据一个给定的元素搭配</p><p>gydF4y2Ba基于问题的空闲线程并行操作的交叉前缀和算法,提出了一种扩大线圈前缀和方法来减少空闲线程和提高效率的前缀和执行。</p><p>gydF4y2Ba通过评估交叉前缀和方法,跨越一半的blockDim.x的初始值。当<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M30"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> <</gydF4y2Bamml:mo> <mml:mtext> 步</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>然后执行后续的指令,这意味着一半的线程第一次迭代的闲置,浪费GPU计算资源和目标的一个新问题:空闲线程。并行算法的性能仍然可以改善如果他们可以利用,也等待下一步进行优化和改进。</p><p>gydF4y2Ba扩大循环技术,旨在优化循环通过减少分支出现的频率和循环维护说明书。在一个循环中扩张,身体循环多次写的代码,而不是编写的主体循环一次,然后用另一个循环反复执行它。任何闭环可以有它的迭代次数减少或完全删除。循环体的副本的数量被称为循环膨胀系数,和迭代的数量变成了奇异的迭代次数除以循环扩展因数。在顺序数组循环扩张最有效的方式来提高性能当循环迭代的数量是已知的在循环执行。假设一个线程块长度1024线程参与512年法令迭代的计算,256年,128年和64年分布在不同的线程包(因为每个扭曲只能有32个线程同时执行);然后,有一个优先顺序的SM执行这些线程包,所以法令的每一步迭代中需要同步块。只有当法迭代32岁,16日8日4和2,线包执行他们在与其他线程包没有联系,没有组间同步是必要的,虽然有隐式同步进程的线程每条指令后包在SM,所以intrabundle同步问题可以解决,使得全球数组对应线程及时更新而不影响下一条指令的执行。</p><p>在前面的前缀和计算,每个线程块负责一个相应的数据块。现在,每个线程块负责前缀和计算两个数据块,从而消除指导消费和增加更独立的调度指令来提高性能。下面是一个原理图的前缀和扩张的因素2和4。有三种规模的扩张,2,4,8,在一块计算2块,4块,和8块的数据,分别将相邻数据块添加到数据块对应于当前线程块,然后总结他们,列入表中<xgydF4y2Baref ref-type="table" rid="tab1"> 1</xgydF4y2Baref>- - - - - -<xgydF4y2Baref ref-type="table" rid="tab3"> 3</xgydF4y2Baref>。</p><t一个ble-wrap id="tab1"> <label>表1</gydF4y2Balabel> <p>交叉循环前缀和扩大(扩大的因素是2)。</p><t一个ble> <tbody> <tr> <td align="left">如果<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M31"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> <mml:mo> <</gydF4y2Bamml:mo> <mml:mtext> N</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break>__syncthreads ();<gydF4y2Babreak></break>为<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M32"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> strize</gydF4y2Bamml:mtext> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> <mml:mo> /</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> ;</gydF4y2Bamml:mo> <mml:mtext> strize</gydF4y2Bamml:mtext> <mml:mo> ></gydF4y2Bamml:mo> <mml:mn> 0</gydF4y2Bamml:mn> <mml:mo> ;</gydF4y2Bamml:mo> <mml:mtext> strize</gydF4y2Bamml:mtext> <mml:mrow> <mml:mo> ></gydF4y2Bamml:mo> </mml:mrow> <mml:mrow> <mml:mo> ></gydF4y2Bamml:mo> </mml:mrow> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula> <break></break>{如果<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M33"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> <</gydF4y2Bamml:mo> <mml:mtext> strize</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula> <break></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M34"> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> strize</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break>__syncthreads ();</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <table-wrap id="tab2"> <label>表2</gydF4y2Balabel> <p>交叉循环前缀和扩张的一个因素4。</p><t一个ble> <tbody> <tr> <td align="left">如果<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M35"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> <mml:mo> <</gydF4y2Bamml:mo> <mml:mtext> N</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula> <break></break>{<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M36"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M37"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M38"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M39"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M40"> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> =</gydF4y2Bamml:mo> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 3</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <table-wrap id="tab3"> <label>表3</gydF4y2Balabel> <p>交叉前缀和线程包扩张。</p><t一个ble> <tbody> <tr> <td align="left">如果<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M41"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> <</gydF4y2Bamml:mo> <mml:mn> 32</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula> <break></break>{<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M42"> <mml:mtext> 挥发性</gydF4y2Bamml:mtext> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M43"> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 32</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M44"> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 16</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M45"> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 8</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M46"> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 4</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M47"> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M48"> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> vmen</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> tid</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <p>并行前缀和方法算法强度很低,所以系统中的瓶颈可能是由于调度指令。解决办法是扩大for循环。__syncthreads用于intrablock同步。法令的内核函数,它是用来确保所有线程在每一轮写了当地结果全局内存线程之前移动到下一轮。在法令,活动线程的数量减少,当有少于32个活动线程,我们将只有一个扭曲。在一个扭曲,遵循SIMD指令的执行(单指令多数据)模式;即。,when there are less than 32 active threads, there is no need for synchronization control, and each instruction is followed by an implicit intrabundle synchronization process after each instruction. Therefore, it is necessary to solve the problem of loop control and thread synchronization when there is only one thread bundle. Based on this, the thread bundle expansion method with interleaved prefix sum is proposed.</p><p>通过前面的实验分析,下面的迭代循环32线程是展开的。事实上,由于线程块的长度限制(通常1024),确定循环的数量,所以循环可以充分展开,即、1024、512、256、128和64年,和计算,唯一需要注意的是,每个计算应该是同步的。表<xgydF4y2Baref ref-type="table" rid="tab4"> 4</xgydF4y2Baref>显示了一个完全展开循环的伪代码。</p><t一个ble-wrap id="tab4"> <label>表4</gydF4y2Balabel> <p>交叉前缀和完全展开。</p><t一个ble> <tbody> <tr> <td align="left">如果<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M49"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 7</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> <mml:mo> <</gydF4y2Bamml:mo> <mml:mtext> N</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula> <break></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M50"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M51"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M52"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M53"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M54"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 4</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 4</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M55"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 5</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 5</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M56"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 6</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 6</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M57"> <mml:mi mathvariant="normal"> int</gydF4y2Bamml:mi> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 7</gydF4y2Bamml:mn> <mml:mo> =</gydF4y2Bamml:mo> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 7</gydF4y2Bamml:mn> <mml:mo> ∗</gydF4y2Bamml:mo> <mml:mtext> blockDim</gydF4y2Bamml:mtext> <mml:mo> 。</gydF4y2Bamml:mo> <mml:mtext> x</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;<gydF4y2Babreak></break> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M58"> <mml:mtext> d</gydF4y2Bamml:mtext> <mml:mo> _</gydF4y2Bamml:mo> <mml:mtext> 数据</gydF4y2Bamml:mtext> <mml:mfenced open="[" close="]"> <mml:mrow> <mml:mtext> 指数</gydF4y2Bamml:mtext> </mml:mrow> </mml:mfenced> <mml:mo> =</gydF4y2Bamml:mo> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 4</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 5</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 6</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mtext> 一个</gydF4y2Bamml:mtext> <mml:mn> 7</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>;}</td></tr> </tbody> </table> </table-wrap> </sec> <sec id="sec4"> <title>4所示。实验与性能分析</t我tle> <p>为了验证的基本性能与改进的前缀和并行算法,算法的性能模拟使用典型的一维非线性系统模型并与并行前缀和基于循环展开,基于线程并行前缀和演变周期,基于全面展开和并行前缀和滤波算法。实验平台包括Win10 64位系统,Visual Studio 2013编程软件,和CUDA9.2-based编程框架,GPU GTX1080Ti, CPU是i5 - 4460。详细参数表中列出<xgydF4y2Baref ref-type="table" rid="tab5"> 5</xgydF4y2Baref>。</p><t一个ble-wrap id="tab5"> <label>表5</gydF4y2Balabel> <p>实验平台的详细参数。</p><t一个ble> <thead> <tr> <th align="left" colspan="2">GPU</tgydF4y2Bah> <th align="center" colspan="2">CPU</tgydF4y2Bah> </tr> </thead> <tbody> <tr> <td align="left" colspan="2">GTX1080Ti</td><td一个lign="center" colspan="2">英特尔®核心™i5 - 4460</td></tgydF4y2Bar> <tr> <td align="left">流处理器单元</td><td一个lign="center">3584年</td><td一个lign="center">CPU</td><td一个lign="center">英特尔®i5 - 4460</td></tgydF4y2Bar> <tr> <td align="left">视频内存</td><td一个lign="center">11 GB</td><td一个lign="center">核心数</td><td一个lign="center">4</td></tgydF4y2Bar> <tr> <td align="left">时钟频率</td><td一个lign="center">1582兆赫</td><td一个lign="center">内存</td><td一个lign="center">8 GB</td></tgydF4y2Bar> <tr> <td align="left">内存位宽度</td><td一个lign="center">352位</td><td一个lign="center">时钟频率</td><td一个lign="center">3.2 GHz</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <p>一维非线性系统模型如下:<d我sp-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M59"> <mml:mtable> <mml:mlabeledtr id="eq5"> <mml:mtd> <mml:mtext> (5)</gydF4y2Bamml:mtext> </mml:mtd> <mml:mtd> <mml:mfenced open="{" close=""> <mml:mrow> <mml:mtable class="cases"> <mml:mtr> <mml:mtd columnalign="left"> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:mi mathvariant="normal"> 罪</gydF4y2Bamml:mi> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mn> 0.04</gydF4y2Bamml:mn> <mml:mi> π</gydF4y2Bamml:mi> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:mfenced> <mml:mo> +</gydF4y2Bamml:mo> <mml:mn> 0.5</gydF4y2Bamml:mn> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> 量</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:msub> <mml:mo> +</gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mi> u</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> 量</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:msub> <mml:mo> ,</gydF4y2Bamml:mo> </mml:mtd> </mml:mtr> <mml:mtr> <mml:mtd columnalign="left"> <mml:msub> <mml:mrow> <mml:mi> y</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> =</gydF4y2Bamml:mo> <mml:mfenced open="{" close=""> <mml:mrow> <mml:mtable class="cases"> <mml:mtr> <mml:mtd columnalign="left"> <mml:mn> 0.2</gydF4y2Bamml:mn> <mml:msubsup> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> </mml:msubsup> <mml:mo> +</gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mi> v</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:mtd> <mml:mtd columnalign="left"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mn> 1</gydF4y2Bamml:mn> <mml:mo> ≤</gydF4y2Bamml:mo> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> ≤</gydF4y2Bamml:mo> <mml:mn> 30.</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> <mml:mo> ,</gydF4y2Bamml:mo> </mml:mtd> </mml:mtr> <mml:mtr> <mml:mtd columnalign="left"> <mml:mn> 0.5</gydF4y2Bamml:mn> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> 量</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> <mml:mo> +</gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mi> v</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:mtd> <mml:mtd columnalign="left"> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mn> 30.</gydF4y2Bamml:mn> <mml:mo> <</gydF4y2Bamml:mo> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> ≤</gydF4y2Bamml:mo> <mml:mi> T</gydF4y2Bamml:mi> </mml:mrow> </mml:mfenced> <mml:mo> ,</gydF4y2Bamml:mo> </mml:mtd> </mml:mtr> </mml:mtable> </mml:mrow> </mml:mfenced> </mml:mtd> </mml:mtr> </mml:mtable> </mml:mrow> </mml:mfenced> </mml:mtd> </mml:mlabeledtr> </mml:mtable> </mml:math> </disp-formula></p> <p>系统噪声的模型<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M60"> <mml:msub> <mml:mrow> <mml:mi> u</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> −</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> </mml:msub> <mml:mo> ∼</gydF4y2Bamml:mo> <mml:mi> Γ</gydF4y2Bamml:mi> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mn> 3</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>,总观察时间<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M61"> <mml:mi> T</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 60</gydF4y2Bamml:mn> </mml:math> </inline-formula>,交叉概率<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M62"> <mml:mtext> CR</gydF4y2Bamml:mtext> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 0.6</gydF4y2Bamml:mn> </mml:math> </inline-formula>进化算法,进化的最大迭代数<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M63"> <mml:msub> <mml:mrow> <mml:mi> G</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi mathvariant="normal"> 马克斯</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 10</gydF4y2Bamml:mn> </mml:math> </inline-formula>。在本文中,我们使用并行前缀和扩张因素2,4,8 (2 u-prpde-pf、4 u-prpde-pf, 8 u-prpde-pf)基于扩张循环。本文在三个算法进行对比实验,即。经展开PRPDE-PF PF 8 u-prpde-pf,并完成展开PRPDE-PF。</p><gydF4y2Basec id="sec4.1"> <title>4.1。均方根误差的实验分析</t我tle> <p>该算法模拟<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M64"> <mml:msub> <mml:mrow> <mml:mi> R</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mtext> MC</gydF4y2Bamml:mtext> </mml:mrow> </mml:msub> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 200年</gydF4y2Bamml:mn> </mml:math> </inline-formula>次由独立的蒙特卡洛,均方根误差的时间定义如下:<d我sp-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M65"> <mml:mtable> <mml:mlabeledtr id="eq6"> <mml:mtd> <mml:mtext> (6)</gydF4y2Bamml:mtext> </mml:mtd> <mml:mtd> <mml:msubsup> <mml:mrow> <mml:mi> l</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mtext> RMSE</gydF4y2Bamml:mtext> </mml:mrow> </mml:msubsup> <mml:mo> =</gydF4y2Bamml:mo> <mml:msqrt> <mml:mrow> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mfrac> <mml:mrow> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:msub> <mml:mrow> <mml:mi> R</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mtext> MC</gydF4y2Bamml:mtext> </mml:mrow> </mml:msub> </mml:mrow> </mml:mfrac> </mml:mrow> </mml:mfenced> <mml:munderover> <mml:mrow> <mml:mo movablelimits="false"> ∑</gydF4y2Bamml:mo> </mml:mrow> <mml:mrow> <mml:mi> j</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 1</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:msub> <mml:mrow> <mml:mi> R</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mtext> MC</gydF4y2Bamml:mtext> </mml:mrow> </mml:msub> </mml:mrow> </mml:munderover> <mml:mrow> <mml:msup> <mml:mrow> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> j</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> −</gydF4y2Bamml:mo> <mml:msub> <mml:mrow> <mml:mover accent="true"> <mml:mi> x</gydF4y2Bamml:mi> <mml:mo stretchy="true"> ¯</gydF4y2Bamml:mo> </mml:mover> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> j</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:mrow> </mml:mfenced> </mml:mrow> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:mrow> </mml:mrow> </mml:msqrt> <mml:mo> 。</gydF4y2Bamml:mo> </mml:mtd> </mml:mlabeledtr> </mml:mtable> </mml:math> </disp-formula></p> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M66"> <mml:msub> <mml:mrow> <mml:mi> x</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> j</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:math> </inline-formula>和<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M67"> <mml:msub> <mml:mrow> <mml:mover accent="true"> <mml:mi> x</gydF4y2Bamml:mi> <mml:mo stretchy="true"> ¯</gydF4y2Bamml:mo> </mml:mover> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mi> j</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> </mml:math> </inline-formula>表示目前的实际和预测状态<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M68"> <mml:mi> k</gydF4y2Bamml:mi> </mml:math> </inline-formula>在<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M69"> <mml:mi> j</gydF4y2Bamml:mi> </mml:math> </inline-formula>分别th模拟。测量噪声<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M70"> <mml:msub> <mml:mrow> <mml:mi> v</gydF4y2Bamml:mi> </mml:mrow> <mml:mrow> <mml:mi> k</gydF4y2Bamml:mi> </mml:mrow> </mml:msub> <mml:mo> ∼</gydF4y2Bamml:mo> <mml:mi> N</gydF4y2Bamml:mi> <mml:mfenced open="(" close=")"> <mml:mrow> <mml:mn> 0</gydF4y2Bamml:mn> <mml:mo> ,</gydF4y2Bamml:mo> <mml:mn> 0.001</gydF4y2Bamml:mn> </mml:mrow> </mml:mfenced> </mml:math> </inline-formula>。图<xgydF4y2Baref rid="fig4" ref-type="fig"> 4</xgydF4y2Baref>给出了一个比较短暂的均方根误差的五两个设置算法的粒子数<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M71"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> One hundred.</gydF4y2Bamml:mn> </mml:math> </inline-formula>和<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M72"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 200年</gydF4y2Bamml:mn> </mml:math> </inline-formula>。</p><gydF4y2Bafig-group id="fig4"> <label>图4</gydF4y2Balabel> <p>五个改进算法的状态估计结果。</p><gydF4y2Bafig id="fig4a"> <label>(一)</gydF4y2Balabel> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M73"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> One hundred.</gydF4y2Bamml:mn> </mml:math> </inline-formula></p> <graphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.004a"></graphic> </fig> <fig id="fig4b"> <label>(b)</gydF4y2Balabel> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M74"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 200年</gydF4y2Bamml:mn> </mml:math> </inline-formula></p> <graphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.004b"></graphic> </fig> </fig-group> <p>状态估计算法的性能基本上是相同的。从图可以看出<xgydF4y2Baref rid="fig4" ref-type="fig"> 4</xgydF4y2Baref>五个改进算法的均方误差,2 u-prpde-pf 4 u-prpde-pf 8 u-prpde-pf WU-PRPDE-PF, CU-PRPDE-PF,在相同的实验条件下的粒子数量,降低相对于IIPRPDE-PF算法,它们能保证算法的状态估计能力的准确性在一定程度上改善,表明改进后的方法改善状态跟踪滤波算法的性能。</p></gydF4y2Basec> <sec id="sec4.2"> <title>4.2。粒度分布和计算时间的实验</t我tle> <p>数据<xgydF4y2Baref ref-type="fig" rid="fig5"> 5</xgydF4y2Baref>和<xgydF4y2Baref ref-type="fig" rid="fig6"> 6</xgydF4y2Baref>显示粒子数变化的曲线和计算时间改进的基于展开循环前缀和算法60仿真时刻。仿真曲线的对比图<xgydF4y2Baref ref-type="fig" rid="fig5"> 5</xgydF4y2Baref>表明,粒子的数量2 u-prpde-pf 4 u-prpde-pf 8 u-prpde-pf WU-PRPDE-PF, CU-PRPDE-PF逐渐减少和调整数字自适应随着时间的推移。在图<xgydF4y2Baref ref-type="fig" rid="fig6"> 6</xgydF4y2Baref>可以看到,当时,它的时间CU-PRPDE-PF低于其他过滤器由于执行全面展开,充分提高递归循环,增加前缀和执行效率。,增加了执行重采样率和计算时间消费,而2 u-prpde-pf, 4 u-prpde-pf 8 u-prpde-pf, WU-PRPDE-PF小于IIPRPDE-PF有减少的趋势。</p><gydF4y2Bafig-group id="fig5"> <label>图5</gydF4y2Balabel> <p>粒子数曲线的五个改进算法。</p><gydF4y2Bafig id="fig5a"> <label>(一)</gydF4y2Balabel> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M75"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> One hundred.</gydF4y2Bamml:mn> </mml:math> </inline-formula></p> <graphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.005a"></graphic> </fig> <fig id="fig5b"> <label>(b)</gydF4y2Balabel> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M76"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 200年</gydF4y2Bamml:mn> </mml:math> </inline-formula></p> <graphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.005b"></graphic> </fig> </fig-group> <fig-group id="fig6"> <label>图6</gydF4y2Balabel> <p>时间曲线计算了五个算法。</p><gydF4y2Bafig id="fig6a"> <label>(一)</gydF4y2Balabel> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M77"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> One hundred.</gydF4y2Bamml:mn> </mml:math> </inline-formula></p> <graphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.006a"></graphic> </fig> <fig id="fig6b"> <label>(b)</gydF4y2Balabel> <p> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M78"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 200年</gydF4y2Bamml:mn> </mml:math> </inline-formula></p> <graphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.006b"></graphic> </fig> </fig-group> <p>在重采样提高递归循环后,粒子降低了自适应,并行滤波算法的计算时间毕竟五展开循环相对减少,比IIPRPDE-PF小。在重采样后展开递归循环,整个算法的复杂性增加,和递归抽样所需的时间来更新实时计算的粒子数是不足以抵消粒子的减少所节省的时间当粒子的数量很小,和这种情况消失时平行微分进化粒子滤波的计算时间为所有展开循环小于相应的并行微分进化粒子滤波,也表明PRPDE-PF抽样展开循环改善了计算时间更重要。滤波器计算时间见表<xgydF4y2Baref rid="tab6" ref-type="table"> 6</xgydF4y2Baref>通过60独立蒙特卡洛实验,平均每个过滤器的运行时间为每个实验中,可以看到,CU-PRPDE-PF需要最少的计算时间。结合的性能指标,每个滤波器的计算精度和计算时间,充分展开循环过滤算法CU-PRPDE-PF最小计算时间和5之间的最佳性能改进的滤波算法。</p><t一个ble-wrap id="tab6"> <label>表6</gydF4y2Balabel> <p>比较滤波器计算时间<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M79"> <mml:mi> N</gydF4y2Bamml:mi> <mml:mo> =</gydF4y2Bamml:mo> <mml:mn> 200年</gydF4y2Bamml:mn> </mml:math> </inline-formula>。</p><t一个ble> <thead> <tr> <th></th> <th align="center">2 u-prpde-pf</tgydF4y2Bah> <th align="center">4 u-prpde-pf</tgydF4y2Bah> <th align="center">8 u-prpde-pf</tgydF4y2Bah> <th align="center">WU-PRPDE-PF</tgydF4y2Bah> <th align="center">CU-PRPDE-PF</tgydF4y2Bah> </tr> </thead> <tbody> <tr> <td align="left">时间(年代)</td><td一个lign="center">0.005012</td><td一个lign="center">0.004815</td><td一个lign="center">0.00462</td><td一个lign="center">0.004465</td><td一个lign="center">0.00425</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <p>也,而这三个智能优化的并行粒子滤波算法在本文的王et al。<xgydF4y2Baref ref-type="bibr" rid="B18"> 18</xgydF4y2Baref>),改进算法的计算时间(2 u-prpde-pf、4 u-prpde-pf)和块并行粒子智能优化粒子滤波算法在本文中如表所示<xgydF4y2Baref rid="tab7" ref-type="table"> 7</xgydF4y2Baref>,分别。从表中可以看出,在三种智能优化的并行算法,块并行粒子滤波算法块平行CRPF具有最佳性能,其次是优化块平行;优化部分增加算法的复杂性;和计算性能降低而阻止并行算法。本文提出的算法2 u-prpde-pf和4 u-prpde-pf算法,分别与块并行算法相比。从表<xgydF4y2Baref rid="tab7" ref-type="table"> 7</xgydF4y2Baref>,结果表明,改进的2 u-prpde-pf本文算法具有较强的计算性能比块平行CRPF,并获得3.82倍的加速比随着粒子数的增长,和4 u-prpde-pf算法获得4.689倍的加速比粒子数量的增加渐近,所以算法提出了改进的性能相比,可以获得良好的加速比块并行算法。</p><t一个ble-wrap id="tab7"> <label>表7</gydF4y2Balabel> <p>5个并行算法的计算时间。</p><t一个ble> <thead> <tr> <th align="left" rowspan="2"> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M80"> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula></th> <th></th> <th colspan="2"></th> <th align="center" colspan="2">计算时间(年代)</tgydF4y2Bah> </tr> <tr> <th align="center">CRPF</tgydF4y2Bah> <th align="center">块CRPF</tgydF4y2Bah> <th align="center">2 u-prpde-pf</tgydF4y2Bah> <th align="center">4 u-prpde-pf</tgydF4y2Bah> <th align="center">优化块CRPF</tgydF4y2Bah> </tr> </thead> <tbody> <tr> <td align="left">1024年</td><td一个lign="center">0.15862</td><td一个lign="center">0.1125</td><td一个lign="center">0.03751(2.99倍)</td><td一个lign="center">0.03564(3.15倍)</td><td一个lign="center">0.1461</td></tgydF4y2Bar> <tr> <td align="left">2048年</td><td一个lign="center">0.21301</td><td一个lign="center">0.1676</td><td一个lign="center">0.05(3.35倍)</td><td一个lign="center">0.048(3.49倍)</td><td一个lign="center">0.1747</td></tgydF4y2Bar> <tr> <td align="left">3200年</td><td一个lign="center">0.26709</td><td一个lign="center">0.21225</td><td一个lign="center">0.0625(3.396倍)</td><td一个lign="center">0.06(3.53倍)</td><td一个lign="center">0.24</td></tgydF4y2Bar> <tr> <td align="left">4096年</td><td一个lign="center">0.32074</td><td一个lign="center">0.256</td><td一个lign="center">0.075(3.41倍)</td><td一个lign="center">0.0692(3.69倍)</td><td一个lign="center">0.291</td></tgydF4y2Bar> <tr> <td align="left">6400年</td><td一个lign="center">0.44983</td><td一个lign="center">0.3672</td><td一个lign="center">0.096(3.825倍)</td><td一个lign="center">0.0783(4.689倍)</td><td一个lign="center">0.4076</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <p>比较五个平行运行的微分进化粒子滤波算法2 u-prpde-pf 4 u-prpde-pf 8 u-prpde-pf WU-PRPDE-PF, CU-PRPDE-PF基于CUDA循环展开和改进的前缀和postimprovement GPU的情况相同。表<xgydF4y2Baref ref-type="table" rid="tab8"> 8</xgydF4y2Baref>和<xgydF4y2Baref ref-type="table" rid="tab9"> 9</xgydF4y2Baref>显示运行时间表和加速比的五个改进算法,分别和数字<xgydF4y2Baref ref-type="fig" rid="fig7"> 7</xgydF4y2Baref>和<xgydF4y2Baref ref-type="fig" rid="fig8"> 8</xgydF4y2Baref>对应表<xgydF4y2Baref ref-type="table" rid="tab8"> 8</xgydF4y2Baref>和<xgydF4y2Baref ref-type="table" rid="tab9"> 9</xgydF4y2Baref>分别,加速率被定义为价值获得原始算法的运行时间除以改进算法的运行时间在相同粒子计数状态。图<xgydF4y2Baref ref-type="fig" rid="fig8"> 8</xgydF4y2Baref>显示获得的值除以原算法的运算时间的操作时间IIPRPDE-PF 2 u-prpde-pf 4 u-prpde-pf 8 u-prpde-pf WU-PRPDE-PF和CU-PRPDE-PF分别。加速度CU-PRPDE-PF的比例是最大的,仍然约1.19随着粒子数的增加,而加速度比率的其他四种2 u-prpde-pf 4 u-prpde-pf 8 u-prpde-pf, WU-PRPDE-PF最终维持在一定值作为粒子数量的增加。GTX1080Ti下,粒子的数量是1024;直接与演变因素展开后的2,4,8,从39.2到35.64毫秒,女士可以看出直接循环展开对效率有很大的影响;这不仅是由于节省额外的线程阻塞运行还因为改进更多独立内存加载,和存储操作可以产生更好的性能,更好的隐藏延迟。本文中的算法改进了逐步获得一个整体性能提高1.19倍。</p><t一个ble-wrap id="tab8"> <label>表8</gydF4y2Balabel> <p>六算法的运行计划。单位:女士。</p><t一个ble> <thead> <tr> <th align="left"> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M81"> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula></th> <th align="center">IIPRPDE-PF</tgydF4y2Bah> <th align="center">2 u-prpde-pf</tgydF4y2Bah> <th align="center">4 u-prpde-pf</tgydF4y2Bah> <th align="center">8 u-prpde-pf</tgydF4y2Bah> <th align="center">WU-PRPDE-PF</tgydF4y2Bah> <th align="center">CU-PRPDE-PF</tgydF4y2Bah> </tr> </thead> <tbody> <tr> <td align="left"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M82"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 10</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">39.2</td><td一个lign="center">37.51</td><td一个lign="center">36.35</td><td一个lign="center">35.64</td><td一个lign="center">33.56</td><td一个lign="center">33</td></tgydF4y2Bar> <tr> <td align="left"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M83"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 11</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">51.7</td><td一个lign="center">50.592</td><td一个lign="center">49.011</td><td一个lign="center">48</td><td一个lign="center">44.2</td><td一个lign="center">43</td></tgydF4y2Bar> <tr> <td align="left"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M84"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 12</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">76.05</td><td一个lign="center">75.888</td><td一个lign="center">73.5165</td><td一个lign="center">69.2</td><td一个lign="center">65年</td><td一个lign="center">64年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M85"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 13</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">152.35</td><td一个lign="center">139.536</td><td一个lign="center">135.1755</td><td一个lign="center">136.5</td><td一个lign="center">130.21</td><td一个lign="center">128年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M86"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 14</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">250.6</td><td一个lign="center">241.536</td><td一个lign="center">233.988</td><td一个lign="center">225.82</td><td一个lign="center">214.18</td><td一个lign="center">210年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M87"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 15</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">493.3</td><td一个lign="center">471.648</td><td一个lign="center">456.909</td><td一个lign="center">448.2</td><td一个lign="center">421.62</td><td一个lign="center">414年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M88"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 16</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">972年</td><td一个lign="center">930.24</td><td一个lign="center">901.17</td><td一个lign="center">883.6</td><td一个lign="center">830.77</td><td一个lign="center">816年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M89"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 17</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1927.85</td><td一个lign="center">1861.296</td><td一个lign="center">1803.1305</td><td一个lign="center">1748.59</td><td一个lign="center">1647.73</td><td一个lign="center">1620年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M90"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 18</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">3753.85</td><td一个lign="center">3607.536</td><td一个lign="center">3494.8005</td><td一个lign="center">3410.6</td><td一个lign="center">3208.42</td><td一个lign="center">3154年</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M91"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 19</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">7526.55</td><td一个lign="center">7215.888</td><td一个lign="center">6990.3915</td><td一个lign="center">6842年</td><td一个lign="center">6432.94</td><td一个lign="center">6324.8</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M92"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 20.</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">15031年</td><td一个lign="center">14394.24</td><td一个lign="center">13944.42</td><td一个lign="center">13662年</td><td一个lign="center">12847年</td><td一个lign="center">12631年</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <table-wrap id="tab9"> <label>表9</gydF4y2Balabel> <p>相对于IIPRPDE-PF加速率的5个算法。</p><t一个ble> <thead> <tr> <th align="left"> <inline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M93"> <mml:mi> N</gydF4y2Bamml:mi> </mml:math> </inline-formula></th> <th align="center">2 u-prpde-pf</tgydF4y2Bah> <th align="center">4 u-prpde-pf</tgydF4y2Bah> <th align="center">8 u-prpde-pf</tgydF4y2Bah> <th align="center">WU-PRPDE-PF</tgydF4y2Bah> <th align="center">CU-PRPDE-PF</tgydF4y2Bah> </tr> </thead> <tbody> <tr> <td align="left"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M94"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 10</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.04505</td><td一个lign="center">1.0784</td><td一个lign="center">1.09969</td><td一个lign="center">1.16806</td><td一个lign="center">1.18788</td></tgydF4y2Bar> <tr> <td align="left"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M95"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 11</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.0219</td><td一个lign="center">1.05487</td><td一个lign="center">1.07708</td><td一个lign="center">1.16968</td><td一个lign="center">1.20233</td></tgydF4y2Bar> <tr> <td align="left"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M96"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 12</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.00213</td><td一个lign="center">1.03446</td><td一个lign="center">1.09899</td><td一个lign="center">1.17</td><td一个lign="center">1.18828</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M97"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 13</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.09183</td><td一个lign="center">1.12705</td><td一个lign="center">1.11612</td><td一个lign="center">1.17003</td><td一个lign="center">1.19023</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M98"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 14</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.03753</td><td一个lign="center">1.071</td><td一个lign="center">1.10973</td><td一个lign="center">1.17004</td><td一个lign="center">1.19333</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M99"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 15</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.04591</td><td一个lign="center">1.07965</td><td一个lign="center">1.10062</td><td一个lign="center">1.17001</td><td一个lign="center">1.19155</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M100"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 16</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.04489</td><td一个lign="center">1.0786</td><td一个lign="center">1.10005</td><td一个lign="center">1.17</td><td一个lign="center">1.19118</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M101"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 17</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.03576</td><td一个lign="center">1.06917</td><td一个lign="center">1.10252</td><td一个lign="center">1.17</td><td一个lign="center">1.19003</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M102"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 18</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.04056</td><td一个lign="center">1.07412</td><td一个lign="center">1.10064</td><td一个lign="center">1.17</td><td一个lign="center">1.19019</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M103"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 19</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.04305</td><td一个lign="center">1.0767</td><td一个lign="center">1.10005</td><td一个lign="center">1.17</td><td一个lign="center">1.19001</td></tgydF4y2Bar> <tr> <td align="justify"> <inline-formula> <mml:math display="block" xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M104"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 20.</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula></td> <td align="center">1.02042</td><td一个lign="center">1.07792</td><td一个lign="center">1.1002</td><td一个lign="center">1.17</td><td一个lign="center">1.19</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <fig id="fig7"> <label>图7</gydF4y2Balabel> <p>计划的三个算法运行。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.007"></graphic> </fig> <fig id="fig8"> <label>图8</gydF4y2Balabel> <p>加速度的比值相对于IIPRPDE-PF五过滤算法循环展开。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.008"></graphic> </fig> </sec> <sec id="sec4.3"> <title>4.3。实时性能在不同的gpu的算法</t我tle> <p>实验模拟执行与上面的五个改进算法基于GPU的条件不同。整个实验平台包括Win10体系、Visual Studio 2013编程软件,并与i5 - 4460 CPU CUDA9.2-based编程框架,列入表中<xgydF4y2Baref rid="tab10" ref-type="table"> 10</xgydF4y2Baref>,在四个不同的gpu运行算法与粒子的数量<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M105"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 10</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula>来<我nline-formula> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M106"> <mml:msup> <mml:mrow> <mml:mn> 2</gydF4y2Bamml:mn> </mml:mrow> <mml:mrow> <mml:mn> 20.</gydF4y2Bamml:mn> </mml:mrow> </mml:msup> </mml:math> </inline-formula>。</p><t一个ble-wrap id="tab10"> <label>表10</gydF4y2Balabel> <p>参数不同的gpu。</p><t一个ble> <thead> <tr> <th align="left">GPU</tgydF4y2Bah> <th align="center">CUDA核心</tgydF4y2Bah> <th align="center">基础频率</tgydF4y2Bah> <th align="center">视频内存</tgydF4y2Bah> <th align="center">内存位宽度</tgydF4y2Bah> </tr> </thead> <tbody> <tr> <td align="left">GTX1080Ti</td><td一个lign="center">3584年</td><td一个lign="center">1.58 GHz</td><td一个lign="center">11 GB</td><td一个lign="center">352位</td></tgydF4y2Bar> <tr> <td align="left">GTX960</td><td一个lign="center">1024年</td><td一个lign="center">1127兆赫</td><td一个lign="center">2 GB</td><td一个lign="center">128位</td></tgydF4y2Bar> <tr> <td align="left">GTX950</td><td一个lign="center">768年</td><td一个lign="center">1024兆赫</td><td一个lign="center">2 GB</td><td一个lign="center">128位</td></tgydF4y2Bar> <tr> <td align="left">GTX750Ti</td><td一个lign="center">640年</td><td一个lign="center">1020兆赫</td><td一个lign="center">2 GB</td><td一个lign="center">128位</td></tgydF4y2Bar> </tbody> </table> </table-wrap> <p>的性能实验5本文改进的算法都是基于相同的CPU和GPU条件不同。根据分析数据<xgydF4y2Baref rid="fig9" ref-type="fig"> 9</xgydF4y2Baref>- - - - - -<xgydF4y2Baref rid="fig13" ref-type="fig"> 13</xgydF4y2Baref>与IIPRPDE-PF算法相比,本文的五个改进算法基于IIPRPDE-PF循环展开,2 u-prpde-pf 4 u-prpde-pf,大约8 u-prpde-pf WU-PRPDE-PF, CU-PRPDE-PF,表现出同样的增长速度不同的gpu。它讨论了算法的加速比不同GPU条件下基本上是与GPU的计算能力成正比,和算法的性能最优的实验环境下GPU GTX1080Ti。摘要GPU计算的性能改善仅限于前缀和改善的问题。基于直接分割前缀和改进的微分进化粒子滤波算法的整体性能提升速度CU-PRPDE-PF 19%相对于IIPRPDE-PF算法和性能改进CU-PRPDE-PF可以达到1.45倍与原来的相比PDE-PR算法。有限的性能提高的主要原因改进算法不仅仅只是在GPU并行,需要复杂的操作,甚至包含相当多的逻辑判断。然而,一些性能可以通过加前缀和增量的改进。</p><gydF4y2Bafig id="fig9"> <label>图9</gydF4y2Balabel> <p>2 u-prpde-pf算法在不同的gpu。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.009"></graphic> </fig> <fig id="fig10"> <label>图10</gydF4y2Balabel> <p>4 u-prpde-pf算法在不同的gpu。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.0010"></graphic> </fig> <fig id="fig11"> <label>图11</gydF4y2Balabel> <p>8 u-prpde-pf算法在不同的gpu。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.0011"></graphic> </fig> <fig id="fig12"> <label>图12</gydF4y2Balabel> <p>在不同的gpu TU-PRPDE-PF算法。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.0012"></graphic> </fig> <fig id="fig13"> <label>图13</gydF4y2Balabel> <p>在不同的gpu CU-PRPDE-PF算法。</p><ggydF4y2Baraphic xlink:href="//www.newsama.com/downloads/journals/wcmc/2021/1999154.fig.0013"></graphic> </fig> </sec> </sec> <sec id="sec5"> <title>5。结论</t我tle> <p>在本文中,我们提出一个CUDA展开循环状态估计方法,微分进化粒子滤波解决效率低下的问题,并行微分进化粒子滤波与并行执行线程的执行效率和改善前缀和展开的前缀和方法展开循环和一个线程包。该方法使用分段展开后循环前缀和改进的重采样和最新的观测时刻更新的建议分布实时优化的粒子滤波,自适应地调整粒子数的采样粒子滤波少数使用微分进化的重采样。此外,对粒子滤波算法的执行,前缀和执行线程执行效率低下的问题,和GPU没有分支预测能力,在每一个分支它执行,因此该算法消除了线程包分化和线程并行存在的懒惰展开循环前缀,展开线程绑定的方法,消除滞后造成的故障的判断和分支预测,进一步提高整体计算性能。目前的CUDA编译器不能为我们做这个优化,需要人为地展开核函数内的循环,这可以极大地提高内核的性能。展开循环在CUDA的目的是双重的:减少指令消耗和提高性能通过添加更多的独立的调度指令来减少碎片。仿真结果表明,这种演变的并行差分演化粒子滤波算法循环可以有效改善智能优化粒子滤波对非线性系统状态和实时性能。最后,实验仿真表明,该算法与改进的前缀和可以达到最好的加速因子1.19相对于IIPRPPDE-PF算法和1.48相对于PDE-PF GTX1080Ti下算法,和实验数据表明,该算法的总体性能在不同的GPU GPU成正比。实验数据表明,该算法的总体性能在不同的GPU GPU计算能力成正比,这表明本文的改进算法具有普遍的适用性。</p></sec> <back> <sec sec-type="data-availability"> <title>数据可用性</t我tle> <p>使用的数据来支持本研究的结果包括在本文中。</p></gydF4y2Basec> <sec sec-type="COI-statement"> <title>的利益冲突</t我tle> <p>作者宣称没有利益冲突。</p></gydF4y2Basec> <ref-list> <ref id="B1" content-type="article"> <label>1</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Chunchao</gydF4y2Basurname> <given-names> y U。</g我ven-names> </name> <name> <surname> 杨</gydF4y2Basurname> <given-names> Z。</g我ven-names> </name> <name> <surname> 夏</gydF4y2Basurname> <given-names> Z。</g我ven-names> </name> <name> <surname> 元</gydF4y2Basurname> <given-names> X。</g我ven-names> </name> <name> <surname> 杨ydF4y2Ba</surname> <given-names> M。</g我ven-names> </name> </person-group> <article-title> 异构源基于互信息的图像对齐和粒子群算法使用GPU的并行体系结构</一个rticle-title> <source> <italic> 红外技术</我t一个lic> <year> 2016年</ygydF4y2Baear> <volume> 38</vgydF4y2Baolume> <issue> 11</我ssue> <fpage> 938年</gydF4y2Bafpage> <lpage> 946年</gydF4y2Balpage> </element-citation> </ref> <ref id="B2" content-type="article"> <label>2</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 李</gydF4y2Basurname> <given-names> h·W。</g我ven-names> </name> <name> <surname> 王</gydF4y2Basurname> <given-names> J。</g我ven-names> </name> <name> <surname> 苏</gydF4y2Basurname> <given-names> h·T。</g我ven-names> </name> </person-group> <article-title> 改进的粒子滤波基于微分进化</一个rticle-title> <source> <italic> 电子信件</我t一个lic> <year> 2011年</ygydF4y2Baear> <volume> 47</vgydF4y2Baolume> <issue> 19</我ssue> <fpage> 1078年</gydF4y2Bafpage> <lpage> 1079年</gydF4y2Balpage> <pub-id pub-id-type="doi"> 10.1049 / el.2011.1825</pugydF4y2Bab-id> <pub-id pub-id-type="other"> 2 - s2.0 - 84855385569</pugydF4y2Bab-id> </element-citation> </ref> <ref id="B3" content-type="article"> <label>3</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 家中</gydF4y2Basurname> <given-names> s . w . x j . C。</g我ven-names> </name> <name> <surname> Shengsheng</gydF4y2Basurname> <given-names> Y。</g我ven-names> </name> </person-group> <article-title> 基于gpu的并行粒子滤波算法</一个rticle-title> <source> <italic> 华中科技大学学报(自然科学版)</我t一个lic> <year> 2011年</ygydF4y2Baear> <volume> 5</vgydF4y2Baolume> <fpage> 63年</gydF4y2Bafpage> <lpage> 66年</gydF4y2Balpage> </element-citation> </ref> <ref id="B4" content-type="article"> <label>4</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 达斯</gydF4y2Basurname> <given-names> 美国K。</g我ven-names> </name> <name> <surname> Mazumdar</gydF4y2Basurname> <given-names> C。</g我ven-names> </name> <name> <surname> 巴纳吉</gydF4y2Basurname> <given-names> K。</g我ven-names> </name> </person-group> <article-title> GPU加速新的粒子滤波方法</一个rticle-title> <source> <italic> 计算</我t一个lic> <year> 2014年</ygydF4y2Baear> <volume> 96年</vgydF4y2Baolume> <issue> 8</我ssue> <fpage> 749年</gydF4y2Bafpage> <lpage> 773年</gydF4y2Balpage> </element-citation> </ref> <ref id="B5" content-type="article"> <label>5</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 穆雷</gydF4y2Basurname> <given-names> l . M。</g我ven-names> </name> <name> <surname> 李</gydF4y2Basurname> <given-names> 一个。</g我ven-names> </name> <name> <surname> 雅各</gydF4y2Basurname> <given-names> p E。</g我ven-names> </name> </person-group> <article-title> 并行粒子滤波重采样</一个rticle-title> <source> <italic> 《计算与图形的统计数据</我t一个lic> <year> 2016年</ygydF4y2Baear> <volume> 25</vgydF4y2Baolume> <issue> 3</我ssue> <fpage> 789年</gydF4y2Bafpage> <lpage> 805年</gydF4y2Balpage> <pub-id pub-id-type="doi"> 10.1080 / 10618600.2015.1062015</pugydF4y2Bab-id> <pub-id pub-id-type="other"> 2 - s2.0 - 84982918853</pugydF4y2Bab-id> </element-citation> </ref> <ref id="B6" content-type="article"> <label>6</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Jilkov</gydF4y2Basurname> <given-names> 诉P。</g我ven-names> </name> <name> <surname> 吴</gydF4y2Basurname> <given-names> J。</g我ven-names> </name> </person-group> <article-title> 高效GPU-accelerated实现目标跟踪的粒子和粒子流量过滤器</一个rticle-title> <source> <italic> 信息融合的发展》杂志上</我t一个lic> <year> 2015年</ygydF4y2Baear> <volume> 10</vgydF4y2Baolume> <issue> 1</我ssue> <fpage> 73年</gydF4y2Bafpage> <lpage> 88年</gydF4y2Balpage> </element-citation> </ref> <ref id="B7" content-type="article"> <label>7</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 刘</gydF4y2Basurname> <given-names> W。</g我ven-names> </name> <name> <surname> 孟</gydF4y2Basurname> <given-names> Z。</g我ven-names> </name> <name> <surname> 雪</gydF4y2Basurname> <given-names> D。</g我ven-names> </name> </person-group> <article-title> 基于CUDA的特征融合的视频目标跟踪算法和粒子滤波</一个rticle-title> <source> <italic> 计算机系统应用</我t一个lic> <year> 2013年</ygydF4y2Baear> <volume> 22</vgydF4y2Baolume> <issue> 11</我ssue> <fpage> 123年</gydF4y2Bafpage> <lpage> 128年</gydF4y2Balpage> </element-citation> </ref> <ref id="B8" content-type="article"> <label>8</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Lalwani</gydF4y2Basurname> <given-names> 年代。</g我ven-names> </name> <name> <surname> 沙玛</gydF4y2Basurname> <given-names> H。</g我ven-names> </name> <name> <surname> Satapathy</gydF4y2Basurname> <given-names> s . C。</g我ven-names> </name> <name> <surname> 深</gydF4y2Basurname> <given-names> K。</g我ven-names> </name> <name> <surname> 邦萨尔</gydF4y2Basurname> <given-names> j . C。</g我ven-names> </name> </person-group> <article-title> 一项调查显示并行粒子群优化算法</一个rticle-title> <source> <italic> 阿拉伯科学与工程》杂志上</我t一个lic> <year> 2019年</ygydF4y2Baear> <volume> 44</vgydF4y2Baolume> <issue> 4</我ssue> <fpage> 2899年</gydF4y2Bafpage> <lpage> 2923年</gydF4y2Balpage> <pub-id pub-id-type="doi"> 10.1007 / s13369 - 018 - 03713 - 6</pugydF4y2Bab-id> <pub-id pub-id-type="other"> 2 - s2.0 - 85063260051</pugydF4y2Bab-id> </element-citation> </ref> <ref id="B9" content-type="article"> <label>9</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Bourennani</gydF4y2Basurname> <given-names> F。</g我ven-names> </name> </person-group> <article-title> 合作异步并行粒子群优化对于大尺寸的问题</一个rticle-title> <source> <italic> 应用Metaheuristic计算的国际期刊</我t一个lic> <year> 2019年</ygydF4y2Baear> <volume> 10</vgydF4y2Baolume> <issue> 3</我ssue> <fpage> 19</gydF4y2Bafpage> <lpage> 38</gydF4y2Balpage> <pub-id pub-id-type="doi"> 10.4018 / IJAMC.2019070102</pugydF4y2Bab-id> <pub-id pub-id-type="other"> 2 - s2.0 - 85070758671</pugydF4y2Bab-id> </element-citation> </ref> <ref id="B10" content-type="article"> <label>10</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 林</gydF4y2Basurname> <given-names> X。</g我ven-names> </name> <name> <surname> 吴</gydF4y2Basurname> <given-names> Y。</g我ven-names> </name> </person-group> <article-title> 光伏模型的参数识别中使用niche-based粒子群优化并行计算架构</一个rticle-title> <source> <italic> 能源</我t一个lic> <year> 2020年</ygydF4y2Baear> <volume> 196年</vgydF4y2Baolume> <fpage> 117054年</gydF4y2Bafpage> <pub-id pub-id-type="doi"> 10.1016 / j.energy.2020.117054</pugydF4y2Bab-id> </element-citation> </ref> <ref id="B11" content-type="book"> <label>11</gydF4y2Balabel> <element-citation publication-type="book"> <person-group person-group-type="author"> <name> <surname> 弗雷泽</gydF4y2Basurname> <given-names> s . s . c, B。</g我ven-names> </name> </person-group> <source> <italic> 计算包括和排除资金使用并行前缀</我t一个lic> <year> 2020年</ygydF4y2Baear> <publisher-name> 麻省理工学院博士论文</pugydF4y2Bablisher-name> </element-citation> </ref> <ref id="B12" content-type="article"> <label>12</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Tokura</gydF4y2Basurname> <given-names> H。</g我ven-names> </name> <name> <surname> 藤田</gydF4y2Basurname> <given-names> T。</g我ven-names> </name> <name> <surname> Nakano</gydF4y2Basurname> <given-names> K。</g我ven-names> </name> <name> <surname> 伊藤</gydF4y2Basurname> <given-names> Y。</g我ven-names> </name> <name> <surname> Bordim</gydF4y2Basurname> <given-names> j·L。</g我ven-names> </name> </person-group> <article-title> 几乎最优列prefix-sum GPU计算</一个rticle-title> <source> <italic> 《华尔街日报》的超级计算</我t一个lic> <year> 2018年</ygydF4y2Baear> <volume> 74年</vgydF4y2Baolume> <issue> 4</我ssue> <fpage> 1510年</gydF4y2Bafpage> <lpage> 1521年</gydF4y2Balpage> </element-citation> </ref> <ref id="B13" content-type="article"> <label>13</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Thakur</gydF4y2Basurname> <given-names> G。</g我ven-names> </name> <name> <surname> Sohal</gydF4y2Basurname> <given-names> H。</g我ven-names> </name> <name> <surname> 耆那教徒的</gydF4y2Basurname> <given-names> 年代。</g我ven-names> </name> </person-group> <article-title> 一种新型优化Radix-2 FFT处理器的并行前缀加法器</一个rticle-title> <source> <italic> 多维系统和信号处理</我t一个lic> <year> 2021年</ygydF4y2Baear> <volume> 3</vgydF4y2Baolume> </element-citation> </ref> <ref id="B14" content-type="incollection"> <label>14</gydF4y2Balabel> <element-citation publication-type="book"> <person-group person-group-type="author"> <name> <surname> 哈里斯</gydF4y2Basurname> <given-names> M。</g我ven-names> </name> <name> <surname> 加兰</gydF4y2Basurname> <given-names> M。</g我ven-names> </name> </person-group> <article-title> 费米架构优化并行前缀操作</一个rticle-title> <source> <italic> GPU计算宝石玉版</我t一个lic> <year> 2012年</ygydF4y2Baear> <publisher-name> 摩根考夫曼</pugydF4y2Bablisher-name> <fpage> 29日</gydF4y2Bafpage> <lpage> 38</gydF4y2Balpage> </element-citation> </ref> <ref id="B15" content-type="misc"> <label>15</gydF4y2Balabel> <element-citation publication-type="other"> <person-group person-group-type="author"> <name> <surname> Pirjan</gydF4y2Basurname> <given-names> 一个。</g我ven-names> </name> </person-group> <article-title> 分段算法和函数优化解决方案</一个rticle-title> <source> <italic> 圆柱我们</我t一个lic> <year> 2013年</ygydF4y2Baear> </element-citation> </ref> <ref id="B16" content-type="article"> <label>16</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> Wynters</gydF4y2Basurname> <given-names> E。</g我ven-names> </name> </person-group> <article-title> 并行粒子群算法在gpu可以快速解决许多优化问题</一个rticle-title> <source> <italic> 计算科学学院杂志》上</我t一个lic> <year> 2018年</ygydF4y2Baear> <volume> 33</vgydF4y2Baolume> <issue> 6</我ssue> <fpage> 114年</gydF4y2Bafpage> <lpage> 123年</gydF4y2Balpage> </element-citation> </ref> <ref id="B17" content-type="misc"> <label>17</gydF4y2Balabel> <element-citation publication-type="other"> <article-title> 分析大数据的降维技术,一种新型PCA-whale文中针对深层神经网络分类模型使用GPU番茄植物病害</一个rticle-title> </element-citation> </ref> <ref id="B18" content-type="article"> <label>18</gydF4y2Balabel> <element-citation publication-type="journal"> <person-group person-group-type="author"> <name> <surname> 王</gydF4y2Basurname> <given-names> J。</g我ven-names> </name> <name> <surname> 曹</gydF4y2Basurname> <given-names> J。</g我ven-names> </name> <name> <surname> 李</gydF4y2Basurname> <given-names> W。</g我ven-names> </name> <name> <surname> 余</gydF4y2Basurname> <given-names> P。</g我ven-names> </name> <name> <surname> 黄</gydF4y2Basurname> <given-names> K。</g我ven-names> </name> </person-group> <article-title> 一种新颖的并行加速CRPF算法</一个rticle-title> <source> <italic> 应用智能</我t一个lic> <year> 2020年</ygydF4y2Baear> <volume> 50</vgydF4y2Baolume> <issue> 3</我ssue> <fpage> 849年</gydF4y2Bafpage> <lpage> 859年</gydF4y2Balpage> <pub-id pub-id-type="doi"> 10.1007 / s10489 - 019 - 01534 - 0</pugydF4y2Bab-id> </element-citation> </ref> </ref-list> </back> </article> </body> </html>