俄罗斯人民友谊大学的数学家与来自匈牙利和法国的同事一起开发了一种并行计算算法,可以更快地解决应用问题,例如电动力学或水动力学。可以节约近 50%的时间。 该结果发表在《计算与应用数学杂志》上。
并行计算方法常用于在计算机上计算物理、工程、生物学等领域的实际问题。 这意味着多个联网处理器同时解决同一个问题——每个处理器都有自己该负责的一小部分。根据具体任务的特点,选择如何准确地划分处理器之间的工作并组织它们之间的“通信”。一种可能的方法是分解。 研究区域根据处理器的数量分为不同的部分 – 即子区域。基本上,在这种情况下会使用所谓的施瓦兹方法,该方法中子区域彼此重叠。这提供了准确的结果,但如果区域的交叉点太复杂,该方法则不适用。俄罗斯人民友谊大学的数学家与来自匈牙利和法国的同事一起提出了一种新算法,该算法使分解更容易——子区域彼此不重叠的同时还能使结果保持准确,并且计算所需的时间更少。
Guillaume Gbikpi-Benissan9(俄罗斯人民友谊 大学工程学院研究员)说到:“直到现在,几乎所有关于分解方法的研究都集中在施瓦兹等方法上。第一次也是唯一一次处理无重叠分解的尝试导致迭代法同时发生在子区域和它们之间的边界上。为此,为了整个全球领域必须确定计算的数值方案。“ 数学家提出了一种以高斯-赛德尔方法为基础的算法。该创新的本质在于计算算法不是同时在整个区域上进行,而是在子区域和它们之间的边界上交替进行。结果,事实证明,子区域内每次迭代法得到的值可以立即用于边界上的计算,而无需额外的操作。
数学家们在泊松方程和连续介质的平衡方程上试验了新的数学算法。例如,第一个在电磁学中用于描述静电场,第二个在水动力学中用于描述流体的运动。对于这两个方程,新方法比标准方法更快。节省了近 50%的时间——当将区域划分为 720 个子区域时,新算法可在 84 秒内解出泊松方程,而经典算法在 170 秒内才能解出泊松方程。在这种情况下,所需的迭代法次数随着子区域数量的增加而减少。
Guillaume Gbikpi-Benissan9(俄罗斯人民友谊 大学工程学院研究员)说到:“这一非常有趣的特性可以通过以下事实来解释:子区域和边界处的交错计算频率随着子区域大小的减小和更多边界的出现而增加。我们的结果为异步计算模式开辟了更多的机会和新的前景。“
###
Journal
Journal of Computational and Applied Mathematics