有限元并行计算自动分区方法的优化

合集下载

CFD软件的开发与优化

CFD软件的开发与优化

CFD软件的开发与优化在现代科学和工程领域中,计算流体力学(CFD)软件已经成为不可或缺的工具。

它们被用于众多领域,如飞行器、汽车、建筑、机械、船舶等。

CFD软件的发展使得研究人员和工程师能够更好地理解流体力学现象,同时得到更准确的数值模拟结果,从而提高设计效率和性能优化。

本文将探讨CFD软件的开发和优化,以及如何利用先进技术来解决在实际应用中所面临的问题。

CFD软件是在计算流体力学基础上开发出来的。

在这个过程中,许多专业领域的知识,如数值方法、计算机科学和工程等,都被整合到CFD软件的开发中。

其中,数值方法是CFD软件的核心部分,也是优化软件的关键。

CFD软件使用的数值方法通常是基于Navier-Stokes方程的有限体积或有限元方法。

数值方法的主要目的是将Navier-Stokes方程离散化,从而获得流动的数值解。

CFD软件的开发过程可以分成四个主要阶段:首先,需求分析。

在这个阶段,软件开发团队与客户进行合作,确定软件的特定需求。

其次,设计和实现。

在这个阶段,软件开发团队开始实施需求并设计软件的架构。

然后是测试和修复阶段,这个阶段主要是为了测试软件的功能是否完全符合客户的需求,并修复错误。

最后是验证和优化。

在这个阶段,软件将被验证是否能够正确处理流体的行为,同时团队也会尝试优化性能以提高软件的效率。

虽然CFD软件的开发过程相对标准化,但是在实际应用过程中,软件的性能和可靠性常常面临挑战。

让我们看一下CFD技术所面临的几个主要问题,并讨论如何优化解决这些问题。

1.网格划分CFD软件使用网格来表示流体域,问题在于如何在这个域上划分出较少、但又足够准确的网格。

网格的分辨率对解决流体力学问题很重要,因为它直接影响数值解的准确性。

然而,高分辨率的网格需要更多的计算资源,造成较长的计算时间。

为解决该问题,可以使用适应性网格技术。

采用适应性网格技术,可以在需要求解高分辨率区域时增加网格分辨率,并在低分辨率区域保持网格分辨率,从而提高计算效率。

一种改进的并行有限元网格划分方法

一种改进的并行有限元网格划分方法
映 在 有 限 元 并 行 计 算 上 ,就 是 各 处 理 机 构 ) 中所 含 单 元 数 ( 子 结 或 ( 结 点 数 ) 大 致 相 等 ,子 结 构 或
对 图 进 行 划 分 。从 而 使 每 个 子 图 中 的 顶 点 数 大 致 相
同 且 所 截 得 的 边 数 尽 可 能 少 。 这 就 是 一 般 图 论 任 务 划 分 方 法 的 基 本 思 想 , 也 叫 图 剖 分 方 法 。 图 剖 分 问

并 在 此基 础 上 提 出 了一 种 改 进 的 划 分 方 法 ,经 过 验 证 这 种 方 法 是 有 效 的 ,在 负 载 均衡 度相 同 的情 况 下 .能 有 效 地 减 少 并 行计 算 的通 信 量 。
关 键 词 :有 限 元 ;并行 计 算 ;负 载 平衡 : 网格 分 区 ~

c mpu ain n t on ii n o a el a l n e o tt o o he c d to fs m o d baa c . K e or :FEM ;p r le o yW ds a al lc mpu ain;la ln e; e h pa t inig tt o o d baa c m s ri o n t
水 / J仅 电
2 1 年 1 月 00 0

种 改进 的 并行 有 限元 网格 划分 方法
张 磊 .杜 小 凯
(.中 国水 利 水 电科 学 研 究 院 ,北 京 1 0 3 ; 1 0 0 8 2 中 国水 电工 程 顾 问集 团公 司 ,北 京 1 0 2 ) . 0 10

要 :有 限元 网 格 的 区域 划 分 是 影 响有 限元 并 行计 算 效 率 的 关键 因素 ,介 绍 了几 类 有 限元 并行 计 算 的图 剖分 方 法

大规模结构动力学有限元并行计算

大规模结构动力学有限元并行计算

大规模结构动力学有限元并行计算1.引言大规模结构动力学有限元并行计算是在计算机技术不断进步的背景下,为了提高结构动力学有限元模拟的计算效率而诞生的技术手段。

随着计算机性能的不断提升,结构动力学有限元模拟的计算需求越来越强,对于传统的串行计算方式已经不能满足要求。

因此,并行计算成为大规模结构动力学有限元模拟的重要手段,对于提高计算效率,缩短计算时间、优化计算结果等方面都有着重要作用。

2.大规模结构动力学计算的特点大规模结构动力学有限元模拟计算其主要特点就是计算规模大、时间长,数据量大、数据处理复杂等方面的特点。

传统的串行计算方式将计算任务划分为多个小任务一步步完成,但是随着计算规模的不断扩大,计算时间变得越来越长,而且CPU处理的数据量也越来越大,数据复杂度也不断提高。

因此串行计算的效率日益降低,这时并行计算成为了必不可少的解决方式。

3.并行计算的优点并行计算使得多个CPU可以同时运行计算程序,计算任务可以分割为多个小任务分配给不同的CPU同时处理,以提高计算效率。

并行计算的另一个优点是,可以充分利用计算机内存,以最大化地提高计算机的计算能力。

并行计算的设计主要需要解决两个问题,第一个问题是如何将计算任务分割为多个小任务,第二个问题是如何有效地协调多个CPU之间的计算任务。

4.并行计算的应用大规模结构动力学有限元并行计算技术的应用领域非常广泛,主要适用于几何复杂、物理特性复杂的结构物动力学问题,是风洞试验、现场试验等一些实验手段无法解决的问题,如飞行器、高速列车、大型工程结构物等动态响应和破坏性分析等。

并行计算技术帮助用户可以通过一种虚拟试验的方式,不断调整和优化结构的设计,以提高结构的性能和安全性。

5.并行计算的挑战虽然并行计算的优点非常明显,但是并行计算的应用也存在着一些比较明显的挑战。

首先,分割任务分配给不同的CPU之后,需要考虑先后顺序和数据的传输,因此需要设计一些特殊的数据传输方式和计算协调方式;其次,并行计算的算法需要进行特殊优化以充分发挥计算机的性能;最后,并行计算的系统设计需要考虑大规模并发操作带来的瓶颈和性能损失。

并行计算技术在有限元分析中的应用

并行计算技术在有限元分析中的应用

并行计算技术在有限元分析中的应用有限元分析是一种广泛应用于工程领域的数值计算方法,用于解决复杂结构的力学问题。

然而,随着计算机技术的迅速发展,传统的有限元分析方法在处理大型问题时面临着计算速度和内存限制的挑战。

为了克服这些限制,人们开始应用并行计算技术来提高有限元分析方法的计算效率。

并行计算技术是一种将计算任务分解为多个子任务,并同时进行处理的方法。

通过利用多个处理器或计算机的计算能力,可以大大缩短计算时间和提高计算效率。

在有限元分析中,采用并行计算技术可以将大型问题分解为多个小型子问题,并同时求解,从而减少整体计算时间。

首先,通过并行计算技术可以实现问题的分解和并行求解。

在有限元分析中,问题通常可以划分为多个单元,每个单元可由一个或多个处理器负责求解。

通过将计算任务分配给多个处理器,可以同时进行求解,从而提高整体的计算效率。

这种并行求解方法可以在一台计算机系统内进行,也可以在多台计算机上进行网络并行计算。

其次,并行计算技术可以应用于并行装配和求解大型稀疏线性方程组。

有限元分析中,通常需要解决大规模的线性方程组,例如位移和应力问题。

传统的直接求解方法需要显式地存储整个系数矩阵,这对于大规模问题来说是非常困难的。

而并行计算技术可以将整个矩阵分块存储,并并行装配,从而降低存储需求和提高求解速度。

此外,并行计算技术还可以应用于优化有限元网格和自适应网格技术。

在复杂结构的有限元分析中,网格的划分和优化对结果的准确性和计算效率具有重要影响。

传统的网格优化方法通常需要较长的计算时间。

而并行计算技术可以将网格优化任务分解为多个子任务,并同时进行优化,从而加快优化过程。

并行计算技术在有限元分析中的应用也面临一些挑战和限制。

首先,问题的分解和划分需要合理且精确地设计,以避免子问题之间的依赖和冲突。

其次,不同的并行计算架构和平台具有不同的特点和限制,需要针对具体的计算平台进行算法和程序的优化。

最后,大规模并行计算系统的配置和维护也需要相应的硬件和软件支持。

有限元软件的优点总结

有限元软件的优点总结

有限元软件的优点总结有限元软件是一种广泛应用于工程和科学领域的计算工具,它利用有限元法进行数值分析,并能够模拟和解决多种复杂的物理问题。

有限元软件在许多领域中被广泛使用,包括结构力学、流体力学、热传导、电磁场等。

在本文中,我们将总结有限元软件的一些主要优点。

1. 精确性有限元软件能够提供高精度的数值计算结果。

通过将实际问题离散化为许多小元素,并在每个元素上进行数值计算,有限元软件能够更准确地模拟复杂的物理现象。

它可以考虑材料的非线性、几何非线性以及大变形等因素,使得计算结果更加准确和可靠。

2. 可视化有限元软件通常具有友好的用户界面,使用户能够直观地输入模型和参数,并通过可视化方式展示计算结果。

用户可以通过图形界面进行模型的建立、网格划分、边界条件的设定等操作,并可随时查看和分析模拟结果。

这使得工程师和科学家能够更好地理解和解释计算结果。

3. 灵活性有限元软件通常具有灵活的建模和求解能力。

用户可以根据实际需要对模型进行细化或简化,选择合适的求解算法和参数。

有限元软件还通常支持并行计算,可以在多核处理器或集群上进行高效求解,加快计算速度。

这些灵活性使得有限元软件适用于各种不同的问题和需求。

4. 可靠性经过长期的发展和验证,在多个领域广泛使用的有限元软件已经被证明是可靠的。

这些软件已经通过许多实际案例的验证和比对,能够提供准确和可信的计算结果。

此外,有限元软件通常具有完善的错误检测和修复机制,能够帮助用户发现和解决潜在的问题。

5. 经济性有限元软件相对于传统的试验方法来说,具有更低的成本。

通过使用有限元软件,可以节省大量的实验成本和时间。

此外,有限元软件通常具有良好的可扩展性和可重复性,可以在不同的项目和场景中进行重复使用,并进行标准化和自动化的计算。

6. 创新性有限元软件的发展推动了科学和工程领域的创新。

它们为工程师和科学家提供了一个探索设计空间、优化问题和改进产品的平台。

有限元软件能够帮助用户快速设计和迭代新产品,减少开发周期和成本,并提高产品的性能和质量。

采用PETSc的有限元并行计算实现与优化

采用PETSc的有限元并行计算实现与优化
C m u rE gn ei n p l ai s计算机工程与应 用 o p t n i r g a dA pi t n e e n c o
2 1 ,6 1 ) 0 04 (0
5 7
采用 P T c的有 限元并 行计算实现与优 化 E S
张健 飞
Z HANG in fi Ja —e
ZHANG in— e. r l li pe e t t n a d u i g o nt lm e t c m p tn t P Ja fi Pa al m lm na i n t nn ff i ee n o u i g wih ETS . m p tr En i e rn a d e o i e cCo u e gn e ig n
Ap lc t n . 0 0, 6 1 : 7 5 . pia i s2 1 4 ( 0)5 — 9 o
Abtat otbeE t s l T oktf c nic cmp t i ( E S )po i s m n ih p r r a c bet a d sle o s c :P r l x ni e oli o S i t o ua o P T c rvd a yhg e om ne oj s n ovr f r a e b r e f i tn e f c s r
河海大学 土木工程学院 , 南京 2 0 9 10 8
Sh o o i lE g er gH h iU iesy N nig 2 0 9 , hn c ol fCv n i e n , o a nvrt, aj 10 8C ia i n @h ue . :a e d n
s li g f in t eeme t q t sAc r i t t e h a t rsi s f PETS t pef rm nc t i g ov n o f ie l n e uai . co dng o h c arc e tc o on i c,wo ro a e un n me s r s r prs n e t e a u e a e e e t d,h y

基于GPU并行计算的有限元分析算法优化

基于GPU并行计算的有限元分析算法优化

基于GPU并行计算的有限元分析算法优化近年来,高性能计算领域的发展使得GPU(Graphics Processing Unit)并行计算成为了计算机应用领域的主流技术之一。

在这样的背景下,有限元分析算法也得以通过GPU并行计算来实现更高的计算效率和更优异的性能表现。

有限元分析算法是一种常见的数值计算方法,广泛应用于结构分析、流体力学、热传导等领域。

而在实际应用中,有限元分析算法中的矩阵运算过程通常是计算量最大的部分,也是最具挑战性的任务。

由于矩阵运算的性质与并行运算高度契合,因此GPU并行计算技术被广泛应用于有限元分析算法的优化中。

GPU并行计算技术的优势在于,GPU具有大量的计算核心,能够同时处理大量数据。

相比于传统的CPU计算方式,GPU并行计算能够快速高效地处理大型矩阵运算,从而提高算法的计算效率和性能表现。

对于有限元分析算法而言,GPU并行计算技术的应用可以解决以下几个问题:1. 提高算法的计算速度:通过GPU并行计算,可以明显提高有限元分析算法的计算速度,从而缩短算法的计算时间,提高工作效率。

2. 优化算法的性能表现:GPU并行计算能够充分利用GPU多核心的计算能力,从而提升有限元分析算法的性能表现,使算法更加稳定和可靠。

3. 处理大型数据:有限元分析算法通常需要处理大量的数据,而GPU并行计算技术在处理大量数据时具有优势,能够在更短的时间内完成任务。

针对以上几个问题,研究人员们对基于GPU并行计算的有限元分析算法进行了优化和改进。

其中,最常见的优化方案包括以下几个方面:1. 矩阵计算的优化:矩阵计算是有限元分析算法中计算量最大的环节,研究人员们通过优化矩阵计算过程,减少计算量,从而提高算法的效率。

2. 任务分配的优化:GPU并行计算能够处理大量数据,但同时也需要对任务进行有效的分配和调度。

在算法优化过程中,研究人员们通过任务分配策略的优化,使得GPU并行计算能够充分利用全部的计算资源,提高算法的计算效率。

并行计算的应用和优化

并行计算的应用和优化

并行计算的应用和优化随着计算机技术的不断发展,越来越多的问题需要运用并行计算来解决。

并行计算是指将一个计算任务分解成多个子任务,同时在多个处理器上进行计算的一种计算方式。

它可以大大提高计算速度和效率。

本文将探讨并行计算的应用和优化。

一、并行计算的应用并行计算可以应用于很多领域,如科学计算、图像处理、数据挖掘、人工智能等。

下面分别介绍这些领域中的一些典型应用。

1. 科学计算科学计算是指解决数学、物理、化学等实际问题的一种计算方式。

它需要进行大量的复杂计算,而这些计算往往需要运用高性能计算机进行并行计算。

例如,在天文学中,天体模拟需要进行大量的计算。

通过使用并行计算,可以提高模拟速度和精度,同时缩短模拟时间。

2. 图像处理图像处理是指在数字图像上进行的一系列操作,如图像增强、图像压缩、图像分割等。

在处理大量图像时,需要使用并行计算来加速处理速度。

例如,在医学图像处理中,医生需要同时处理多个不同的病人图像。

通过并行计算,可以提高处理速度,缩短病人等待时间,并且有利于及时发现病情,提高治疗效果。

3. 数据挖掘数据挖掘是指从大量数据中发掘潜在模式、规律和关系的过程。

由于数据挖掘需要处理的数据量很大,因此需要使用并行计算来提高计算速度。

例如,在商业领域中,需要进行大量的数据分析和挖掘,以便更好地了解用户需求和市场趋势。

4. 人工智能人工智能是指通过计算机模拟人的思维和行为,在某些领域具有类似人的智能的一种技术。

由于人工智能需要进行大量数据处理和复杂计算,因此需要使用并行计算来提高计算速度。

例如,在自然语言处理中,需要进行大量的语言分析和处理,以便更好地理解和翻译人类语言。

二、并行计算的优化虽然并行计算可以提高计算速度和效率,但如果不合理地使用或优化不当,会出现很多问题。

以下是优化并行计算的一些方法:1. 划分任务合理地划分并行任务可以减少通信和同步的开销,提高计算效率。

一般来说,任务划分应尽可能平均和细致,避免出现负载不均衡和任务重叠等问题。

结构动力学有限元混合分层并行计算方法

结构动力学有限元混合分层并行计算方法

结构动力学有限元混合分层并行计算方法结构动力学是研究结构在外界载荷作用下的响应及其稳定性的一门学科。

有限元方法是结构动力学分析中广泛使用的一种数值方法。

为了提高计算效率和精度,混合分层并行计算方法应运而生。

混合分层并行计算方法是指将有限元方法与分层并行计算相结合的一种计算方法。

在结构动力学中,混合分层并行计算方法被广泛应用于解决大型结构的复杂动力学问题。

它通过将结构进行分层划分,将计算任务分配给不同的处理器进行并行计算,从而大幅提高计算速度和效率。

混合分层并行计算方法的基本思想是将结构分为多个子结构,并将每个子结构分配给一个处理器进行计算。

每个处理器独立地计算与其对应的子结构,然后通过通信机制将计算结果交换,并进行整体求解。

这种并行计算方法充分利用了计算机集群的计算能力,提高了计算效率。

在混合分层并行计算方法中,有限元方法被用于对每个子结构进行离散化,并建立相应的有限元模型。

有限元模型中的自由度数目较少,计算量相对较小,可以降低计算复杂度。

同时,分层并行计算策略使得计算任务可以被同时执行,加速了计算速度。

混合分层并行计算方法的应用范围广泛。

例如,在工程领域中,可以用于模拟大型桥梁、高层建筑等结构的动力学响应;在航空航天领域中,可以用于模拟飞机、卫星等复杂结构的动力学特性;在地震工程中,可以用于模拟地震对建筑物的影响等。

混合分层并行计算方法可以准确预测结构的振动特性、动态响应和破坏过程,为结构设计和分析提供了有力的工具。

总之,结构动力学有限元混合分层并行计算方法是一种高效、准确的计算方法。

它通过将结构进行划分和并行计算,充分利用计算机集群的计算能力,实现了大规模结构动力学分析的快速求解。

混合分层并行计算方法在工程领域中的应用潜力巨大,有着广阔的发展前景。

并行计算的应用与优化

并行计算的应用与优化

并行计算的应用与优化并行计算是一种通过同时执行多个计算任务来提高计算速度和效率的方法。

在今天高度发达的计算机科学领域中,我们已经看到并行计算在各个领域中的广泛应用,同时也有了许多优化的技术和方法。

本文将探讨并行计算的应用和优化。

一、并行计算的应用并行计算广泛应用于科学计算、数据处理、图像处理和机器学习等领域。

以下是几个常见的应用场景:1. 科学计算:在科学研究中,常常需要进行大规模的计算和模拟,例如天气预报、核物理模拟等。

并行计算可以将这些复杂的计算任务分配给多个处理器同时执行,加快计算速度。

2. 数据处理:在大数据时代,数据处理变得尤为重要。

并行计算可以将大量数据划分为多个小任务,分配给多个处理器并行处理,大大加快了数据处理的速度。

3. 图像处理:图像处理通常需要对像素级的数据进行处理,例如图像滤波、图像增强等。

并行计算可以将图像划分为多个小区域,分配给多个处理器同时处理,提高图像处理的效率。

4. 机器学习:机器学习算法通常需要大量的计算和训练,例如神经网络的训练等。

并行计算可以将训练数据分配给多个处理器同时进行模型训练,提高训练速度。

二、并行计算的优化为了提高并行计算的效果,我们可以采取一些优化技术和方法:1. 数据并行:数据并行是一种将数据划分成多个子集,分配给不同的处理器并行处理的方法。

通过高效地划分数据和调度任务,可以充分利用多个处理器的计算资源,提高计算效率。

2. 任务并行:任务并行是一种将多个计算任务划分成独立的子任务,分配给不同的处理器并行执行的方法。

这样可以充分利用多个处理器的计算资源,降低整体计算时间。

3. 数据通信优化:并行计算中,处理器之间需要进行数据通信。

优化数据通信可以减少通信的延迟和开销,从而提高计算效率。

例如采用高效的通信协议、减少数据传输次数等方法。

4. 算法优化:算法优化是通过改进算法的设计和实现来提高并行计算的效果。

例如通过减少计算量、优化计算顺序、利用并行计算特点设计高效算法等。

大规模并行有限元区域分解方法研究及其应用

大规模并行有限元区域分解方法研究及其应用

大规模并行有限元区域分解方法研究及其应用The study of large-scale parallel finite element domain decomposition methods and their applications is crucial in the field of computational mechanics and engineering. These methods play a significant role in improving the efficiency and accuracy of numerical simulations for complex structural systems. By decomposing a large finite element model into smaller subdomains that can be solved concurrently on multiple processors, parallel computing enables faster computation and better utilization of computing resources.研究大规模并行有限元区域分解方法及其应用在计算力学和工程领域中起着至关重要的作用。

这些方法对于提高复杂结构系统的数值模拟效率和准确性至关重要。

通过将大型有限元模型分解为可以在多个处理器上同时求解的较小子域,并行计算可以实现更快的计算速度和更好地利用计算资源。

One of the key challenges in large-scale parallel finite element domain decomposition methods is the efficient communication and synchronization between subdomains. As the subdomains are solved independently in parallel, it is essential to establish proper communication protocols to exchange boundary information andensure the consistency of the solution across subdomains. The performance of parallel finite element simulations heavily depends on the effectiveness of these communication strategies and the minimization of overhead associated with inter-processor communication.大规模并行有限元区域分解方法面临的关键挑战之一是子域之间的高效通信和同步。

了解超级计算技术中的并行算法优化思路

了解超级计算技术中的并行算法优化思路

了解超级计算技术中的并行算法优化思路超级计算技术是现代科学和工程领域中重要的工具,能够处理大规模数据计算和模拟问题。

在超级计算中,并行算法优化是提高计算效率的重要方法。

本文将深入探讨超级计算技术中的并行算法优化思路,并解释其重要性以及具体的实施方法。

首先,我们需要理解并行算法的概念。

并行算法指的是将计算任务分解为多个子任务,并将其同时在多个计算单元上进行执行的算法。

这些计算单元可以是多个处理器,也可以是多个计算节点。

并行算法的核心思想是通过同时执行多个子任务,从而提高整体计算速度。

在超级计算技术中,优化并行算法意味着最大程度地减少计算任务之间的依赖关系,以便实现更高效的并行计算。

以下是一些常见的并行算法优化思路:1. 分治法(Divide and Conquer):该算法思路是将一个大问题分解为多个小问题,并通过每个子问题的并行求解来实现整体的并行计算。

每个子问题的计算结果可以独立得到,以便更有效地并行执行。

分治法在超级计算中被广泛应用于排序、图搜索等问题。

2. 数据并行(Data Parallelism):数据并行是一种常见的并行计算模式,其核心思想是将数据分割成多个部分,然后将每个部分分配给不同的处理器或计算节点进行并行计算。

数据并行在超级计算中常用于矩阵运算、图像处理等任务,可以极大地提高计算效率。

3. 迭代算法优化:某些问题的解决需要通过多次迭代来逐步逼近最终结果。

在超级计算中,可以通过优化迭代算法来提高计算效率。

一种常见的优化方法是将迭代过程划分为多个阶段,并通过并行执行不同阶段的方式来加速计算。

另一种方法是通过使用更快速的收敛策略和算法,加速迭代过程中的收敛速度。

4. 任务调度优化:超级计算中的任务调度是一项关键的优化工作。

任务调度的目标是最大程度地充分利用计算资源,减少任务等待和资源浪费。

通过合理的任务调度策略,可以实现任务的负载均衡,最大化计算资源的利用率,从而提高整体计算效率。

并行计算的应用和优化

并行计算的应用和优化

并行计算的应用和优化随着科技的快速发展,计算机性能的不断提高,人们对于计算速度的需求也越来越高。

在这样的背景下,计算机科学领域的研究人员都在寻找更好的方式来提高计算机的性能。

而并行计算技术的出现则为计算机的性能提升提供了极大的可能。

并行计算是指将一个大型问题分解为若干个小问题,并且同时运行多个处理器来处理这些小问题。

这种方法能够提高计算机的运算速度,同时还能提升计算机的稳定性以及计算精度。

并行计算技术已经广泛应用于各个领域,比如绘图、科学计算、金融分析等等。

在并行计算方面,优化也是十分重要的。

优化能够提高算法的效率,减少资源的浪费,使得计算机的性能得到更好的展现。

以下是几种并行计算的应用和优化方法:1.图像处理图像处理是计算机视觉和计算机图形学领域的核心应用之一。

对于较大的图像,运用并行计算技术能够大幅提高处理速度。

其中,最常见的并行计算技术就是分解图像,将图像分解为多个部分进行处理。

同时为了更好的优化图像处理的速度,可以选择不同的硬件设备,并通过不同的硬件设备合理将数据分配,最终优化速度。

2. 科学计算并行计算技术在科学计算领域也有广泛应用。

科学计算的任务常常需要对海量数据进行分类、统计和计算等工作,这些工作相互之间分别可以通过不同的线程进行并行计算。

同时,在处理复杂的计算过程时,使用并行计算可以大大加速计算的速度。

因此,在处理这些海量数据的同时,优化并行计算技术也是非常关键的。

3. 金融分析随着金融分析越来越重要,越来越多的人们开始使用并行计算技术来处理复杂的金融问题。

使用并行计算技术,可以在更短的时间内完成分析工作,同时可以更快地识别出潜在的风险。

而在处理金融分析问题时,使用合适的算法并保持良好的硬件设备配置也是优化并行计算的重要方法。

以上三个方面只是并行计算应用的其中之一。

并行计算技术的应用之广泛和其重要性都促使人们探索如何更好地优化并行运算。

因此,人们在优化并行计算时需要充分考虑算法选择和硬件设备配置,同时还需具备较强的计算机基础知识以及管理技能来实施优化算法。

超级计算技术中的多物理场耦合模拟方法

超级计算技术中的多物理场耦合模拟方法

超级计算技术中的多物理场耦合模拟方法超级计算技术在科学研究领域的应用已经成为推动科学进步的重要工具。

在科学研究中,经常涉及到多个物理场的相互作用,例如流体力学、结构力学、热传导等。

而这些物理场之间的耦合模拟成为了研究的重点之一。

本文将介绍超级计算技术中的多物理场耦合模拟方法,包括有限元方法、有限体积法和区域分解方法等。

首先介绍有限元方法。

有限元方法是一种常用的数值模拟方法,其基本思想是将大问题分割成若干个简单的小问题,通过求解这些小问题的解来逼近整个问题的解。

在多物理场耦合模拟中,有限元方法可以用于求解各个物理场的解,并通过耦合条件将各个场的解纳入到整体的求解框架中。

有限元方法的主要优点是适用于各种复杂的几何形状和边界条件,并且可以轻松地添加新的耦合场。

然而,有限元方法的计算量较大,对计算资源的要求比较高。

其次介绍有限体积法。

有限体积法是一种计算流体力学和传热传质问题的数值方法。

它将计算区域划分为许多个有限体积单元,并将物理量平均在每个体积单元上进行离散。

在多物理场耦合模拟中,有限体积法可以用于同时考虑多个物理场,并且通过相邻体积单元的边界条件来实现耦合。

有限体积法的优点是可以准确地处理边界条件,并且适用于不规则网格。

然而,有限体积法的离散化方法对网格质量要求较高,且在处理非结构化网格时较为复杂。

最后介绍区域分解方法。

区域分解方法将大的计算区域分割成若干个子区域,每个子区域由一个或多个处理器负责计算。

在多物理场耦合模拟中,区域分解方法可以用于将问题分解成若干个子问题,各个子问题分别由不同的处理器计算。

通过处理器之间的通信和数据交换,可以实现各个子问题之间的耦合计算。

区域分解方法的优点是可以充分利用并行计算资源,提高计算效率。

然而,区域分解方法需要处理器间的通信和数据同步,对算法和程序设计要求较高。

综上所述,超级计算技术中的多物理场耦合模拟方法包括有限元方法、有限体积法和区域分解方法等。

这些方法在不同的应用场景中具有各自的优缺点,应根据具体问题的特点选择合适的方法。

并行计算的优化技巧

并行计算的优化技巧

并行计算的优化技巧并行计算是指将一个大问题分解成多个小问题,并使用多个处理单元同时执行这些小问题的方法。

在当今大数据时代,利用并行计算可以极大地提高计算效率和处理速度。

然而,并行计算本身也面临着许多挑战和问题,因此需要采用一些优化技巧来提高并行计算性能。

本文将介绍一些常用的并行计算优化技巧。

一、任务划分与负载均衡任务划分是将问题分解成多个子问题,并分配给不同的处理单元并行执行。

在任务划分过程中,需要考虑任务的粒度和分配方式。

通常情况下,任务应该被划分成足够小的粒度,以便能够充分利用处理单元;同时,任务的负载均衡也非常重要,即确保每个处理单元的工作量尽可能均衡,避免出现某些处理单元负载过重而造成性能瓶颈。

二、数据通信与同步在并行计算过程中,处理单元之间需要进行数据通信和同步操作。

数据通信包括处理单元之间的数据传输和消息传递,而同步操作则是确保各个处理单元的计算进度同步,以避免数据冲突和计算错误。

因此,良好的数据通信和同步机制是保证并行计算正确性和性能的关键。

三、数据局部性数据局部性是指在并行计算过程中,尽量减少处理单元间的数据传输,使得每个处理单元尽可能地访问本地数据而不是远程数据。

这可以通过合理的任务划分和数据位置优化来实现。

例如,可以将计算任务划分成多个子任务,并将每个子任务与其所需的数据尽可能放置在同一处理单元上,以减少数据传输的开销。

四、并行算法选择并行算法的选择也对并行计算的性能影响巨大。

不同的并行算法适用于不同类型的问题和应用场景。

因此,在进行并行计算时,需要根据问题的特点选择合适的并行算法,以充分发挥并行计算的优势。

五、硬件优化在并行计算中,硬件优化也起着至关重要的作用。

合理选择处理单元的数量、类型和配置,对硬件进行调优和升级,可以显著提升并行计算的性能。

此外,还可以通过使用高效的并行计算工具和库来简化并行计算的编程和调试过程。

六、并行计算性能评估与调优对于复杂的并行计算应用,性能评估和调优是不可或缺的环节。

有限元并行计算自动分区方法的优化

有限元并行计算自动分区方法的优化

有限元并行计算自动分区方法的优化
王琥;李光耀;钟志华
【期刊名称】《计算机辅助设计与图形学学报》
【年(卷),期】2005(017)008
【摘要】针对集群系统下动力学问题的大规模显式有限元并行计算的特点,在对多层次谱二分分区方法各个阶段的算法进行分析和试验的基础上,对其相关阶段的分区策略和算法进行了优化和调整,提出了一种多层次谱二分优化分区方法,并应用该方法对不同几何类型的有限元模型进行了分区测试,得到了满意的结果.与多层次谱二分分区方法相比,多层次谱二分优化分区方法的分区效果和分区效率都得到了明显改善.
【总页数】7页(P1766-1772)
【作者】王琥;李光耀;钟志华
【作者单位】湖南大学机械汽车工程学院现代车身技术教育部重点实验室,长沙,410082;湖南大学机械汽车工程学院现代车身技术教育部重点实验室,长
沙,410082;湖南大学机械汽车工程学院现代车身技术教育部重点实验室,长
沙,410082
【正文语种】中文
【中图分类】TP338.6
【相关文献】
1.混合网格并行计算的分区方法 [J], 牛俊强;杨振虎
2.针对无网格并行计算的基于模糊均值聚类的分区方法 [J], 王琥;李恩颖;李光耀
3.三维有限元-边界元耦合法的并行计算及优化措施 [J], 李莉;潘杰;赵曰峰;朱翠霞
4.有限元并行计算中网格自动区域划分的研究 [J], 郑哲明;程建钢;姚振汉
5.有限元并行计算中网格自动分区的优化 [J], 王琥;李光耀;钟志华
因版权原因,仅展示原文概要,查看原文内容请购买。

有限元网格自动生成的并行区域划分算法

有限元网格自动生成的并行区域划分算法

有限元网格自动生成的并行区域划分算法摘要提出了一种基于网格生成递归法的并行区域划分算法,该算法依据网格生成代价的估算分析,采用迭代分解法对区域进行并行划分.在曙光1000A 系统上的运行结果表明,该网格算法的效率和加速比均优于串行递归算法.关键词有限元网格;并行区域划分算法;网格生成代价;迭代分解法基于网络生成递归法[1~3],本文提出了一种并行区域划分算法,该算法满足以下四个基本原则:a. 任务平衡性原则.能生成平衡的子区域集,即在各子区域中生成网格的时间大致相等.b. 边界最简原则.子区域的边界结构简单,边界处理所需时间短,处理器间消息传递的费用低.c. 网格均匀原则.并行生成的最终网格形状均匀,无奇异单元.d. 区域划分代价最小原则.区域划分算法本身的代价尽可能小.1、基本思想及相关算法在网格生成递归法中,如果每个子区域都包含相同的单元数,就比较容易实现任务平衡.因此,首先按照单元数估算待处理区域的网格生成代价,然后根据当前参与并行处理的处理器数N 对区域进行分解,并对分解所得子区域进行边界处理,最终获得相互之间既平衡又独立的N个并行子任务.1.1网格生成代价的估算算法网格生成代价与分布于待处理区域中的单元数目紧密相关,而单元数目是由该区域的总面积S和区域内单元分布密度决定的.估算公式如下:G=S/S tri,(1)S tri=[L2/(2M2)]sin60°,(2)M=Σ2l i/(d i1+d i2) (i=1, 2, …,n),(3)式中,G表示三维平面区域(含有n条边) 的网格生成代价;S表示该区域的面积;Stri 是对区域内单个三角形单元平均面积的粗略估算值;L表示区域的周长;M表示区域边界上总的离散段数;l i表示第i条边的长度;d i1和d i2分别表示第i条边前端点和后端点处的单元边长.据以上公式,网格生成代价的估算算法步骤如下.步骤1依次计算区域各边界的长度和离散段数,根据式(2)和(3)计算S tri;步骤2应用三角累加算法计算S,根据式(1)求得G.三角累加算法步骤如下:a. 置变量S 为0;b. 选取区域的任意一个顶点作为V1,按顺时针(或逆时针) 方向取与V1依次相邻的两个点为V2和V3;c. 计算由V1, V2和 V3组成的三角形的面积,累加入变量S;d. 以V3为新的V2,按顺时针(或逆时针) 方向取与V2相邻的第一个点为新的V3,若V3=V1,则算法停止;否则转c.1.2区域划分算法估算出整个区域的网格生成代价后,区域划分算法的任务就是:寻找N-1条分割线,将区域分割为N个子区域,使得各个子区域的网格生成代价大致相等.由于无法精确确定子区域中的单元数目,因此允许各子区域的网格生成代价在G/N附近有一个δ误差,亦即所产生的子区域的网格生成代价都属于[G/N-δ, G/N+δ]区间.根据原则b,任何一条分割线的两端点都定位在区域的边界上,而不落在区域中.在图 1 (a)中,任何一个子域都只通过一条完整的分割线与其他子域相邻;而在图1(b)中,子域3与子域1和2之间的相邻关系不便于边界处理.(a)(b)图1区域划分效果图根据原则c,多条分割线不交于同一点,因为这种分割在N较大的情况下会导致极点现象——在多条分割线的交点处出现小内角的长薄单元,影响网格形状.本文采用迭代分解法划分区域,步骤如下.步骤1记待分解的区域为D;步骤2循环执行以下步骤N-2次:a. 在D中找一条分割线将区域分为两个子域D1和D2,使D1的网格生成代价约等于G/N;b. 将D1从D中去掉,以D2为新的D,转步骤a;步骤3在D中找一条分割线将区域分为两个子域D1和D2,使D1和D2的网格生成代价均属于[G/N-δ,G/N+δ].本算法中,寻找分割线的方法是:先在区域中找到一个合适的顶点作为分割线的前端点X,然后从这个顶点出发,沿顺时针(或逆时针)方向按对半查找法在区域的边界上寻找分割线的后端点Y.对半查找算法步骤如下:步骤1从X点出发,按顺时针(或逆时针)方向取与X依次相邻的两个点为R和Y;步骤2计算分割线XY左侧(或右侧)子域的网格生成代价g;步骤3若g∈[G/N-δ,G/N+δ],则算法停止;若g>G/N+δ,则令T=Y,以T与R 的中点为新的Y,转步骤2;若g<G/N-δ,则令R=Y.若Y是原区域的顶点,则沿顺时针(或逆时针)方向取与Y相邻的第一个点为新的Y,否则,以R与T的中点为新的Y,转步骤2.根据以下原则确定分割线的前端点X:对第一次分割,选取区域中最大顶角所在顶点为X;对第i (i=2, 3, …, N-1)次分割,选取分割线两端点中较大顶角所在的顶点为X.根据这一策略,每次分割都选取顶角较大的点作为前端点,一定程度地避免了极点的形成,但还不能完全避免极点的产生.对此,引入分割线共点控制机制:首先定义参数R,由它指明能交于一点的分割线的最大数目,然后,每次分割都用变量r记录X处的共点率,一旦发现r>R,就变换X.图 2 是对区域ABCDEF作6次划分的示意图.在图2(a)中,R取值为2,寻找第5条分割线时,因为∠CHI比∠HIE大,X原应定位在H点,但由于已有两条分割线经过H点,因此如果这次还选取H作为前端点,那么共点率r增为3,超过预定义的R值,于是,改选I点为X;而在图2(b)中,因为R取值为3,所以,H仍可作为第5条分割线的前端点.(a) R=2(b) R=3图2共点控制该区域划分算法的特点是:并行任务的负载平衡程度由δ调节;所有分割点都定位在区域的边界上,因为每次分割剩下的子域只有一条边是在分割过程中新加入的分割线,无论选取这条边的哪个端点作为X,X和Y总是落在区域的边界上,有效地满足了边界最简原则,;通过R灵活控制分割线共点率,消除极点,保证网格均匀度.2、并行实现本文研究的并行区域划分算法已在曙光1000A系统上实现.根据曙光1000A系统目前的条件和特点,选取PVM作为并行编程环境,分三个步骤实现有限元网格的并行生成:首先,由node1上的master任务程序检测当前PVM中的结点数N,运用区域划分算法分解待处理的区域为N 个子区域,将各子区域分配到各node上;然后,并行执行各处理器上的slave任务程序,在各子区域中生成均匀网格;最后,由node1上的master任务程序收集、组装在各处理器上生成的子区域网格.这里,采用了动态负载平衡策略——farm模式,但有一点与通常情况下不同:为了提高处理器利用率,node1在子区域分配过程中也分得一个子区域,所以,在数据分配之后,子区域网格传回之前,主处理器也不空闲.由于在并行划分阶段已经对边界进行了预处理,因此,一旦子区域分配给各个处理器,所有处理器将同时独立地在自己的数据子块上根据预定义的单元分布密度生成网格.经过大致相等的时间段后,它们将完成各自的工作,并将生成的子区域网格传送给master任务程序.整个并行算法的通信很小,仅包括从node1向其他各node广播子区域数据,以及各node向node1回送生成的子区域网格单元.3、实验结果表 1 以实例说明上述并行算法在曙光1000A系统上的运行效果(表中括号内外的数据分别对应例1 和例2).在例1 中,δ=G/(5N(N-1)),G=15987 个,实际生成的单元总数为12531个;例2 中,δ=G/(5N(N-1)),G=33452 个,实际生成的单元总数为28769个.由于区域划分和组装数据所耗费的时间是μs级的,因此将并行算法的执行时间(t) 分为两部分:子区域网格生成时间(t1) 和通信时间(t2).t1指各node在其分配到的子区域中生成网格的时间;t2包括node1向其他各node发送子区域数据的时间,以及各node向node1回送子区域网格数据的时间.表 1 给出了使用2,3,4,5,6个node进行并行网格生成的时间开销及加速比(ν).使用一个处理器时,既不需要做区域划分,也不用通信,因此,在区域中生成网格的时间即为全部运行时间.表 2 给出了例1中并行算法在六个node上运行时各node上生成的网格单元总数的估算值(n) 和实际值(n?),以及在子区域中生成网格的时间(t3).由表2 可见,各子区域单元总数的估算值与实际值的比例分布一致,各node之间网格生成时间差别小于5%,达到了很好的负载平衡.值得注意的是,网格生成时间并不总是与网格单元数目成正比,其原因在于网格生成的时间开销不仅受子区域内网格单元数目的影响,而且与网格单元在子区域中的分布情况有关.表2负载分配表参考文献1Facello M A. Implementation of a Randomized Algorithm for Delaunery and Regular Triangulations in Three Dimensions. Computer Aided Geometric Design, 1995 (12): 349~3702Chan C T, Anastasion K. An Automatic Tetrahedral Mesh Generation Scheme by the Advancing Front Method. Communications in Numerical Methods in Engineering, 1997, 13: 33~463Zeng Yong, Cheng Gengdong. Knowledge-Based Free Mesh Generation of Quadrilateral Elements in Two-Dimensional Domains. Microcomputers in Civil Engineering, 1993 (8): 259~270。

结构力学有限元分层并行计算方法

结构力学有限元分层并行计算方法

3
数值算例
图 3 三层并行机制 Fig.3 Scheme of three-layer parallelization
第二层并行,各节点机内分别同时进行相应 1 级子区域的组集、并行缩聚和回代求解,通信只存 在于同一节点机内的不同核之间。各节点机内可分 别指定一个局部主进程,统一负责相应 1 级子区域 的组集,数据分发,并行缩聚结果的汇总以及内部 自由度的回代求解。各节点机内相应 1 级子区域的 并行缩聚过程则由同一节点内所有进程同时参与。
规模和条件数也随之急剧增加,从而给其求解带来 困难[9]。另外在迭代求解界面方程的过程中,由于 所有进程都要参与全局通信,进程间通信和同步开 销的增加也会极大地降低并行效率[10]。 在硬件方面,具有分布式存储体系结构的大规 模并行计算机(Massively Parallel Processors, MPP) 是目前进行科学和工程计算最广泛使用的并行计算 机之一。 对于 MPP 来说, 最为重要的部分就是数据 的存储以及处理器之间的相互通信和协作,这也是 影响并行效率的很重要因素。 因此, 利用 MPP 提高 并行效率的关键在于处理好大规模数据的存储以及 处理器间的相互通信和协作问题。 为解决采用区域分解法利用大量 CPU 求解大 规模问题并行效率低的问题, 本文针对 MPP 分布式 存储体系结构提出了一种结构力学有限元分层并行 计算方法。该方法在两级分区两次缩聚的基础上不 仅实现了大量数据的分布式存储,提高了数据的内 存访问速率;而且实现了计算过程的三层并行,将 节点内通信与节点间通信分离从而有效提高了通信 效率;此外,它还进一步降低了界面方程的规模, 加快了其迭代收敛速度。鉴于有限元分析的类型十 分广泛,为有针对性地分析和解决问题本文将研究 重点集中在结构线性静力问题的分析上。

提高有限元解题精度的方法

提高有限元解题精度的方法

提高有限元解题精度的方法有限元法是一种常用的数值解析方法,用于求解各种工程和科学问题的偏微分方程。

然而,有限元法的精度受限于网格大小和元素类型等因素。

为了提高有限元法的解题精度,可以采取以下几种方法。

首先,网格细化是提高有限元解题精度的常用方法之一、通过增加网格的密度,将问题域划分为更小的单元,可以更好地近似原始问题的解。

这样可以减小离散误差,提高数值解的精度。

需要注意的是,网格细化同时也会增加计算量,因此需要权衡精度和计算效率。

其次,选择适当的有限元类型也是提高精度的关键。

有限元法中常用的有线性元、二次元和高阶元等。

线性元是最简单的元类型,可以很好地适应简单问题;而对于复杂问题,使用高阶元可以更好地逼近解,提高精度。

此外,使用更高阶的插值函数也可以提高有限元法的精度。

常用的插值函数有线性插值函数、二次插值函数、立方插值函数等。

通过选择更高阶的插值函数,可以提高近似解的精度,更好地满足原始问题。

在数值求解过程中,使用稳定的求解算法也是提高解题精度的重要因素。

通常,有限元法采用稳定的最小剩余法或加权残余法等求解方法。

通过选择稳定的算法,可以减小数值误差,提高数值解的精度。

另外,对于边界条件的处理也会影响有限元法的精度。

选择适当的边界条件并正确施加边界条件是提高解的精度的关键。

边界条件的选择应基于原始问题的物理本质,并且应该验证边界条件是否满足原始问题的要求。

最后,进行解的后处理也是提高解题精度的一种方法。

在计算得到数值解之后,对结果进行后处理,如通过平滑处理、基函数增强等方式,进一步提高数值解的精度。

总之,提高有限元解题精度的方法包括网格细化、选择适当的有限元类型和插值函数、使用稳定的求解算法、正确处理边界条件以及进行解的后处理等。

这些方法可根据具体问题的要求和计算资源的限制进行选择和组合,以获得更精确的数值解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第17卷第8期计算机辅助设计与图形学学报v01.17,No.82005年8月JOURNALOFCOMPUTER—AIDEDDESIGN&COMPUTERGRAPHICSAug.,2005有限元并行计算自动分区方法的优化王琥李光耀钟志华(湖南大学机械汽车工程学院现代车身技术教育部重点实验室长沙410082)(wanghuenying@hotmail.corn)摘要针对集群系统下动力学问题的大规模显式有限元并行计算的特点,在对多层次谱二分分区方法各个阶段的算法进行分析和试验的基础上,对其相关阶段的分区策略和算法进行了优化和调整,提出了一种多层次谱二分优化分区方法,并应用该方法对不同几何类型的有限元模型进行了分区测试,得到了满意的结果.与多层次谱二分分区方法相比,多层次谱二分优化分区方法的分区效果和分区效率都得到了明显改善.关键词分区;多层次谱二分优化分区方法;边权重优先匹配优化;顶点平衡策略;Lagrangian矩阵中图法分类号TP338.6OptimizationonAutomaticMeshPartitionMethodinParallelFiniteElementComputationWangHuLiGuangyaoZhongZhihuafTheKeyLaboratoryofAdvancedTechnologyforVehicleBodyDesign&ManufactureofMinistryofEducation,CollegeoJMechanicalandAutomotiveEngineering,HunanUniversity,Changsha410082)AbstractAccordingtothecharacteristicsoflarge—scaleclusterexplicitFEMparallelprocessfordynamicsproblem,thispaperproposesanimprovedautomaticpartitionmethodmodifiedmultilevelrecursivespectralbisection(MMRSB)basedontheoptimizationtothemultilevelrecursivespectralbisection(MRSB)methodthroughexperimentsandanalysis.ThisapproachpatchessomedeficitoftheMRSBmethodanddevelopsseveralpartitioningstrategiesandalgorithmsinthephasesofpartitioningprocess.ThepaperalsoadoptsMMRSBalgorithmtocodepartitionprogramandappliedfordifferentgeometrystyles.TheMMRSBprogramcanprovidebetterpartitionsthanMRSBmethod,andprovesitshighefficiency.Keywordspartition;modifiedmultilevelrecursivevertexbalancingstrategy;Lagrangianmatrix引言随着工程技术领域的不断拓展,出现了各种各样复杂的超大型结构.这些复杂的结构不仅具有庞大自由度,并且含有非线性本构关系、随机载荷和复杂边界条件等多种因素.这样复杂结构的有限元模型的计算量是非常巨大的,传统的串行算法已经不spectralbisection;modifiedheavyedgematching;能满足需求.近年来,并行计算已经成为大型的有限元模型计算的主流.并行计算是可同时求解的多进程集合,这些进程相互作用和协调动作,并最终获得问题的求解.对于动力学问题的显式有限元求解来说,区域分裂法作为一种粗粒度的并行算法,以其对分布式可扩展并行计算环境的良好的适应性得到了广泛的应用.而有限元网格的划分方式,即并行计算任务的分收稿日期:200403—10;修回日期:20040520基金项目:国家“八六三”高技术研究发展计划(2003AA411230);高等学校博士点基金(20020532021);教育部优秀青年教师资助项目(2002053);福特一中国研究与发展基金(50122154)万方数据8期王琥等:有限元并行汁算自动分区方法的优化配方式对最终并行计算的效率高低有着决定性的影响[1].早期的有限单元分区方法是几何分割方法,该方法完全根据有限单元网格的空间几何特性来进行网格分割.由于几何分割方法仅考虑有限单元网格的几何特性,对于单元与节点间的相连情况与节点问的关联性(即其拓扑信息)则毫无考虑,因此实际工程应用中,几何分割方法的分割结果在边切数(指子区域的相邻单元或节点数目)的控制方面表现通常并不理想.Farhat在1988年提出任何自动有限单元网格分割的算法至少应满足以下三个基本的需求_2J:(1)能应付任何不规则的有限单元网格;(2)能达到各子结构运算量的平衡;(3)能将各子结构问的边界节点数目减至最小.根据以上三个基本需求,Farhat提出贪婪网格分割算法(GR).由于GR分割法起始节点的决定与其分割结果有很大的关系【,J,不好的起始节点甚至可能使子结构产生分离的情况,所以当采用GR方法进行分区时,子区域之间的边界可能会很长,使并行计算的通信量大大增加.Pothen等于1990年提出了谱分割算法【4|.该方法是一种稀疏矩阵分割算法,同样也应用于图分割与稀疏矩阵重排问题_5J.虽然图分割的解空间为一离散空间,而且图分割为一个NP—complete问题,但是谱分割算法将其解空间由离散转为连续,进而使图分割问题转化成为矩阵的特征值问题.目前国际上采用比较多的谱二分分割(RecursiveSpectralBisection,RSB)方法由谱分割方法发展而来.RSB方法同前几种方法相比,有着严格的图形学基础,但是RSB方法所形成的Lagrangian矩阵大小与总的单元数量成平方关系,这就消耗了大量内存;同时RSB方法需要求解Fiedler特征向量,这也需要大量的计算时间.为了避免因图过大而导致图分割算法耗费太多时间,多层次方法的技术被应用于图分割与网格分割的问题上.Bui等161首先将此概念应用于稀疏矩阵分解问题与图分割问题,Hendrickson等。

刊将RSB方法稍作修改以更适合于图分割问题,Karypis等旧J还提出了几种改进的方法.多层次算法将原来的图简化为一个较小但仍大致保持原图的整体架构的小图,将该小图进行分割,此后再将小图还原.整个多层次算法大致可分为粗化、分割与还原三个阶段旧j.在分割阶段,当采用RSB方法进行分区时,我们称其为多层次谱二分分区方法(MultilevelRecursiveSpectralBisection,MRSB).MRSB方法和RSB方法相比,处理器的开销大大减小,速度也有大幅度提升,是目前国际上比较通用的方法.但是由于粗化过程导致了结构拓扑信息的丢失,以至于出现各个分区的元素不均衡和边界过长等不良结果.为此Karypis等旧1提出RM(RandomMatching),HEM(HeavyEdgeMatching),LEM(LightEdgeMatching),HCM(HeavyCliqueMatching)4种不同的粗化方法,但在实际的运用中还存在很多问题.为了克服MRSB方法的缺陷,本文在MRSB方法的基础上,对该方法的粗化和还原阶段进行了优化,并对分区阶段采用的RSB方法的存储模式进行了修改,提出了一种新的分区方法——多层次谱二分优化分区方法(ModifiedMultilevelRecursiveSpectralBisection,MMRSB),通过和MRSB方法相比较,对其有效性进行了验证.2分区方法对并行计算效率的影响在讨论分区方法之前,先讨论有关衡量分区和并行计算效率的一些概念.首先给出并行计算执行时问f。

计算方法,在不考虑内存开销对计算时间影响的情况下,tD=rst^+f∞+f。

(1)其中,f。

表示一个处理器单元(ProcessingElement,PE)上的执行时间;t。

表示并行部分的执行时间;t,表示通信所耗费的时问;_表示用一个PE执行时不可并行化部分所耗时间占f。

的百分比.通常f。

,为所有PE执行并行化部分消耗时间最长者,当各个进程任务均衡时,并行部分的执行时问f加=篙f。

(2)其中,r.为用一个PE执行时,可并行化部分所耗时间占t,的百分比,r。

=1_;N为执行的PE个数,通信所耗费的时问f,是PE数N和最大相邻PE数M的函数,并随着N和M增加而增大,即t,=f’(N,M)(3)加速比s广毒=去rs{蓑+了(4)式(1)中,由于_在通常情况下总是满足0<_万方数据计算机辅助设计与图形学学报2005正<1且总有通信开销,因此理论上加速比s。

总是小于PE数N,即有S。

<N(5)但是在实际计算中可能会出现加速比S。

非常近似于甚至大于PE数N,即可能出现超线性的加速比,这主要是由于实际的计算效率要受到内存开销的影响.在分区后,各个进程的计算规模大幅度减少,从而大大提高了各个进程的计算性能.单位PE性能发挥比率77定义为72万Op(6)一由于在采用区域分割的并行计算中,需要预先给每个PE分配相应的计算任务,通常第一部分r,t。

是固定的,此时要提高并行计算效率就是要设法减小并行部分的执行时间t。

和通信时间t。

.在第1节曾提到Farhat忪J对分区方法三条准则的定义,但是这三条准则仅仅考虑到并行程序的计算效率,而实际上网格自动分区的效率也是很重要的.如当采用RSB方法进行分区时,由于建立Lagrangian矩阵需要消耗大量的内存,而计算特征量同时也需要占用大量的CPU资源.为此,在以上三个基本需求的基础上,有限单元网格自动划分还必须满足以下两个条件:(1)系统内存资源的最优化;(2)分区时间最优化.3MMRSB方法本节将针对MRSB方法的三个阶段进行分析,并提出改进的策略和方法.3.1粗化阶段的优化首先引进一个新概念:粗化因子.当粗化因子为1时,两个顶点合二为一;当粗化因子为2时,顶点集合的个数为4;依次类推,得到V。

=24(7)其中,V,,为顶点集合数目,(:厂为粗化因子系数.在该阶段将构建一个比原图小的小图,但仍大致保持原图的架构和形状.对小图进行粗化的过程中,选取数个顶点,将它们配为一个顶点,如此继续进行将使原图变为一个较小的图.粗化阶段中,粗化的动作可能不只进行一次,而是一次接着一次进行,直到图的顶点数目达到某个标准为止.假设粗化前和粗化后的图分别用G;=(u,Ei)和Gi+l=(Vi+l,Ei+1)来表示,图的权重函数分别为w,(E,)和w,+。

相关文档
最新文档