MSC_MARC2011单机多核并行计算示例
- 格式:pdf
- 大小:2.85 MB
- 文档页数:6
M S C_M A R C单机多核并行计算示例MSC MARC2011单机多核并行计算示例并行计算可以有效利用本地或者网络计算机计算资源,提高计算效率,特别是针对一些计算规模相对较大的问题。
本文作为MARC单机多核并行计算的一个示例。
测试平台:WIN7 64Bit MARC20110、提前设置将电脑名字最好改为administrator,或者通过修改电脑名称,会使user和display后面的名子保持一致。
改电脑名字:计算机右键—属性—更改设置—更改—计算机名1、启动多核运算打开dos界面输入(1)D:按enter回车键(d为marc所在盘)(2)cd+空格+D:\MSC.Software\Marc\2010\marc2010\intelmpi\win64\bin按enter回车键(3)ismpd+空格+ –install 按enter回车键(4)出现上图中的关闭窗口。
2、基本配置(1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择win32文件夹),运行wmpiregister.exe.(2)输入用户名(登陆windows的账户名,通常为administrator)及密码(若密码为空,需要重新设置一个密码),点击register按钮,下面的对话框中会出现“Password encrypted into the Registry”信息。
(3)运行ismpd.exe,或者到dos提示符下,进入该目录,运行ismpd -install。
假如提示都正常的话,到此即完成进行并行计算的前提条件了。
3、测试(1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择win32文件夹),运行wmpiconfig.exe(2)依次点击下面1和2.(3)红框中出现如果出现administrUnable to connect to 'administr:8678',sock error: generic socket failure, error stack:MPIDU_Sock_post_connect(1200): unable to connect to administr on port 8678, exhausted all endpoints (errno -1)MPIDU_Sock_post_connect(1216): gethostbyname failed, 请求的名称有效,但是找不到请求的类型的数据。
MSC.Marc 2010新功能:高性能计算能够在较短的时间内实现大模型的仿真计算,能够充分的利用现代计算机技术多核技术Pardiso 并行求解器支持共享内存(SMP)/分布式内存(DMP)支持Windows 32/64 以及 Linux 32&64操作系统Mumps 并行求解器支持共享内存(SMP)/支持分布式内存(DMP) 支持Windows 32/64 以及 Linux 32操作系统允许并行计算时使用全局网格自适应 单元扩展了支持热传导分析的界面单元类型,引入了4节点、8节点的平面实体单元和轴对称实体单元,新增了6节点、 8节点、 15节点、 20节点的 3-d 单元。
过去损伤分析仅限于结构分析。
然而损伤分析通常需要引入热应变。
该分析主要应用领域为航空,特别是复合材料模型。
新材料本构模型增加指数帽模型(Exponential Cap Model )和5th order Mooney model ,过去使用Shima powder 模型或者摩尔库仑模型(Mohr Coulomb model )使用削减的Mooney 模型或Ogden 模型,新增加的本构模型能够更真实准确的反映待模拟的对象,主要应用与粉末金属模型、土00.511.522.533.540246810S c a l a b i l i t yNumber of ProcessorsMUMPS Solver27965134149572688810587241527810DOF壤、橡胶材料。
材料参数设置在进行多物理场分析时,材料属性输入的形式更为强大密度可以定义为随温度变化的量发射率和吸收率可以定义为随着时间变化的量 阻尼系数可以定义为随着时间变化的量接触功能亮点片断-片断(Segment-to-segment )接触,适用于2-D 和 3-D 的线性和二阶实体单元和2-D 和 3-D 的线性和二阶壳单元,与过去的采用节点-片断(Node-to-segment )接触探测相比有效的提升计算精度。
python多核并⾏计算⽰例1(⼯作太忙,仅仅作为记录)1import math2import datetime3import multiprocessing as mp45# 调⽤ Python ⾃带的多进程库 Multiprocessing, 就可以进⾏多核并⾏计算67# 定义⽬标函数8def train_on_parameter(name, param):9 result = 010for num in param:11 result += math.sqrt(num * math.tanh(num) / math.log2(num) / math.log10(num))12return {name: result}131415if__name__ == '__main__':1617 start_t = datetime.datetime.now()1819# 核⼼数量: cpu_count() 函数可以获得计算机的核⼼数量。
20 num_cores = int(mp.cpu_count())21print("本计算机总共有: " + str(num_cores) + " 核⼼")2223# 进程池: Pool() 函数创建了⼀个进程池类,⽤来管理多进程的⽣命周期和资源分配。
24# 这⾥进程池传⼊的参数是核⼼数量,意思是最多有多少个进程可以进⾏并⾏运算。
25 pool = mp.Pool(num_cores)2627 param_dict = {'task1': list(range(10, 30000000)),28'task2': list(range(30000000, 60000000)),29'task3': list(range(60000000, 90000000)),30'task4': list(range(90000000, 120000000)),31'task5': list(range(120000000, 150000000)),32'task6': list(range(150000000, 180000000)),33'task7': list(range(180000000, 210000000)),34'task8': list(range(210000000, 240000000))}3536# 异步调度: apply_async() 是进程池的⼀个调度函数。
MARC并行计算安装说明最近很多朋友问到如何安装并行,我抽空写了个说明,与大家分享安装环境:1、三台电脑,电脑名分别为computer1computer2computer3,他们处于同一个工作组workgroup.computer1有1个CPU,Computer2有2个CPU,Computer3有3个CPU。
2、三台电脑安装的操作系统都为Windows XPSP23、computer1computer2computer3上MARC的安装路径都为D:\MSC.Software4、Computer1的工作路径为D:\work1,用户名为user1密码为passuser1Computer2的工作路径为E:\work2,用户名为user2密码为passuser2Computer3的工作路径为F:\work3,用户名为user3密码为passuser3安装步骤1、确保三台电脑能够连通,该连通主要指的是能够相互读写文件。
有的时候局域网可能出现:网络拒绝访问,请联系系统管理员,确保您有权限访问该台计算机之类的提示,这时可以按以下步骤操作方法1:在各台计算机上都建立相同的帐户名,如user007,采用相同的密码。
这时,只要网络是通的,一般都没有问题,能够相互访问方法2:各台计算机上的帐户名和密码都不同:1)确保各台计算机的用户名和密码非空2)启用Guest帐户3)开始—运行—gpedit.msc---计算机配置---Windows设置---安全设置---本地策略---用户权利指派---拒绝从网络访问这台计算机。
将Guest帐户删掉4)去掉―使用简单文件共享‖项2、设定一台Host机,两台remote机:在这里设置Computer1为Host机,其他两台为remote机3、将Host机,即Compter1,的安装目录,即D:\MSC.Software完全共享将Remote机,即Computer2computer3的安装目录和工作目录完全共享,即:两台电脑的D:\msc.software完全共享;Computer2的E:\work2;Computer3的F:\work3完全共享4、重置MP-MPICH密码在每台电脑上都执行相应的操作,这里以Computer1为例在DOS窗口下:cdD:\MSC.Software\MSC.Marc\2005r3\marc2005r3\nt_mpich\bin\mpiexec –store–save..\..\tools\setdomain.bat可以看到一些提示符,要求你输入一些参数,即输入每台计算机的计算机所述域、用户名密码。
Marc全球非线性有限元软件行业的领导者MSC.Marc 是MSC.Software 公司于1999年收购的Marc 公司的产品。
Marc 公司始创于1967年,是全球首家非线性有限元软件公司。
经过四十余年的不懈努力,Marc 软件得到学术界和工业界的大力推崇和广泛应用,建立了它在全球非线性有限元软件行业的领导者地位。
随着Marc 软件功能的不断扩展,软件的应用领域也从开发初期的核电行业迅速扩展到航空、航天、汽车、造船、铁道、石油化工、能源、电子元件、机械制造、材料工程、土木建筑、医疗器材、冶金工艺和家用电器等,成为许多知名公司和研究机构研发新产品和新技术的必备工具。
Marc 软件通过了ISO9001质量认证。
在中国,Marc 通过了全国压力容器标准化技术委员会的严格考核和认证,成为与压力容器分析设计标准GB4732-95相适应的有限元分析软件。
一.产品特色♦ 多种物理场的分析能力。
♦ 复合场的耦合分析能力。
♦ 强大的非线性分析能力。
♦ 最先进的接触分析功能。
♦ 并行计算功能。
♦ 丰富的单元库。
♦ 开放的用户环境。
♦ 强大的网格自适应功能。
♦ 全自动三维网格重划分。
二.方便高效的用户界面MSC.Mentat 作为MSC.Marc 程序的专用前后处理器, 完全支持MSC.Marc 所有功能。
另外MSC.Patran 已经实现了对MSC.Marc结构分析、热分析和热-结构耦合分析的完全支持,也支持磁场、电场、压电场分析,下面主要介绍MSC.Mentat 的功能。
1.几何建模MSC.Mentat 可通过自顶向下和自底向上的方式生成几何模型,支持对几何元素点、线、面、体的各种,例如增加、删除、编辑和显示等。
2.网格划分MSC.Mentat 提供功能齐全、性能卓越的的自动网格生成技术,可以将几何点、线、面元素直接转化成有限单元的节点、线单元和面单元。
可以自动对几何形状划分面网格或体网格。
具有专门的六面体网格生成器以及Rebar 单元生成器。
并行计算:利用多核处理器加速程序执行引言随着科技的发展,计算机硬件的性能不断提升,多核处理器成为了现代计算机的标配。
在传统的单核处理器上,程序的执行是按照顺序逐步进行的,而多核处理器则具有同时执行多个指令的能力,可以大大提高程序的执行效率。
本文将介绍并行计算的概念,以及如何利用多核处理器来加速程序的执行。
什么是并行计算并行计算是指将一个程序拆分成多个子任务,然后分别在多个处理器上同时执行这些子任务的计算模式。
与串行计算相比,并行计算能够显著提高程序的执行速度和效率。
在多核处理器上进行并行计算时,不同的处理器可以同时进行不同的计算任务,提高计算的并行度和吞吐量。
并行计算的优势并行计算具有以下几个优势: 1. 提高计算速度:并行计算利用多核处理器同时进行多个计算任务,可以大大提高程序的执行速度。
在大规模数据处理和复杂计算任务中尤为明显。
2. 提高计算效率:并行计算能够更好地利用计算资源,充分发挥多核处理器的潜力。
通过同时执行多个计算任务,可以高效利用处理器的计算能力。
3. 实现实时计算:并行计算可以实现实时计算,及时处理大量数据并获得计算结果。
在需要实时响应的应用场景中,如数据分析、机器学习和人工智能等领域,具有重要意义。
并行计算的应用领域并行计算广泛应用于以下几个领域: 1. 科学计算:并行计算在科学计算中有着广泛的应用。
科学家可以利用并行计算来快速解决复杂的数学方程和物理模型,加速科学研究的进展。
2. 数据分析:在大数据时代,数据分析任务常常需要处理海量的数据,而并行计算可以高效地处理这些数据,提高数据分析的速度和效率。
3. 计算机图形学:计算机图形学中的渲染、模拟和动画等任务都需要进行大量的计算,而并行计算可以加速这些任务的执行,提供更流畅的图形效果。
4. 人工智能:人工智能领域中的机器学习和深度学习等算法通常需要大量的计算资源,而并行计算可以提供高性能的计算能力,加速训练和推理过程。
并行计算:利用多核处理器的力量在当今的数字时代,随着数据量的激增和计算需求的日益复杂化,传统的单核处理器已难以满足高性能计算的需求。
并行计算作为一种高效的解决方案,利用多核处理器的强大力量,极大地提高了处理速度和效率。
本文将深入探讨并行计算的概念、实现方式及其在各个领域的应用。
并行计算的核心思想是将一个大的计算任务分解成多个小任务,这些小任务可以同时在不同的处理器核心上运行。
这种方法不仅可以显著缩短任务完成的时间,还能更有效地利用计算资源。
多核处理器,作为实现这一思想的硬件基础,通过集成多个计算单元(即核心)到单个芯片上,为并行计算提供了物理支撑。
在实际应用中,并行计算主要通过两种模式实现:任务并行和数据并行。
任务并行是指将不同的任务分配给不同的处理器核心,每个核心独立完成自己的任务;而数据并行则是将一个大数据集分割成多个小块,每个处理器核心处理其中一块数据。
这两种模式可以根据具体的应用场景和需求灵活选择或结合使用。
例如,在科学计算领域,并行计算被用来处理复杂的物理模拟和大规模数据分析,如气候变化模拟、蛋白质折叠研究等。
在商业领域,大数据分析和机器学习等应用也广泛采用并行计算来加速数据处理和模型训练的速度。
此外,图形处理单元的并行结构特别适合处理图像和视频编辑、游戏渲染等图形密集型任务。
尽管并行计算带来了巨大的性能提升,但它也面临着一些挑战。
其中之一就是编程的复杂性,编写能够有效利用多核处理器的程序需要对并行算法和同步机制有深入理解。
另一个挑战是数据的同步和通信问题,不同核心间的数据交换可能成为性能瓶颈。
为了解决这些挑战,研究人员和工程师正在开发新的编程语言、工具和框架,以简化并行程序的设计和实现。
同时,新的硬件架构和互连技术也在不断进步,以减少数据通信的延迟和提高带宽。
总之,并行计算作为利用多核处理器强大能力的关键技术,不仅加速了科学研究的进程,也推动了工业和商业领域的创新。
随着技术的不断进步和应用的深入,我们可以期待在不久的将来,并行计算将在更多领域发挥其巨大潜力。
面向多核处理器的并行优化算法设计与实现随着计算机科学和技术的发展,多核处理器逐渐成为计算能力强大的重要工具。
然而,要充分利用多核处理器的潜力,并发控制和任务分配方面的并行优化算法设计与实现是至关重要的。
本文将介绍如何针对多核处理器设计和实现并行优化算法。
多核处理器是一种将多个处理器集成在一起的硬件平台,它们可以同时执行多个任务。
然而,要想充分利用多核处理器的计算能力,需要设计合理的并行优化算法。
并行优化算法的目标是将任务合理地划分并分配到不同的处理器上,以减少任务之间的依赖关系,并实现高效的计算。
在设计并行优化算法时,首先需要考虑任务的划分与分配。
划分任务是将一个大任务划分为多个独立的子任务,分配任务是将这些子任务分配到不同的处理器上进行并行计算。
任务的划分和分配需要考虑任务之间的相互依赖关系,以避免冲突和数据竞争。
一种常见的并行优化算法设计思路是任务并行化。
任务并行化将一个大任务分解为多个互不相关的子任务,各个子任务可以在不同的处理器上并行执行。
这种方法可以有效地提高计算效率,特别适用于大规模计算和数据处理任务。
例如,并行图算法中的节点并行和边并行都是任务并行化的经典应用。
另一种常见的并行优化算法设计思路是数据并行化。
数据并行化是将数据划分为多个可并行处理的子集,并将这些子集分配给不同的处理器。
数据并行化可以将任务之间的依赖减少到最小,提高并行计算的效率。
这种方法适用于需要重复执行相同操作的计算任务,例如矩阵运算和向量处理。
并行优化算法的设计还需要考虑负载均衡问题。
负载均衡是指在多核处理器上合理分配任务,使得各个处理器的计算负载尽量均衡。
负载均衡不仅可以提高整体计算的效率,还可以减少资源的浪费,提高系统的稳定性。
常用的负载均衡策略包括静态负载均衡和动态负载均衡。
静态负载均衡是指在任务开始之前就确定好任务的分配方案。
静态负载均衡可以在任务之间进行全局优化,确保每个处理器的负载均衡。
然而,静态负载均衡需要对任务的性质和处理器的性能有深入的了解,并需要解决任务之间的依赖关系和数据共享问题。
MSC MARC2011单机多核并行计算示例
并行计算可以有效利用本地或者网络计算机计算资源,提高计算效率,特别是针对一些计算规模相对较大的问题。
本文作为MARC单机多核并行计算的一个示例。
测试平台:WIN7 64Bit MARC2011
1、基本配置
(1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择win32文件夹),运行wmpiregister.exe.
(2)输入用户名(登陆windows的账户名,通常为administrator)及密码(若密码为空,需要重新设置一个密码),点击register按钮,下面的对话框中会出现“Password encrypted into the Registry”信息。
(3)运行ismpd.exe,或者到dos提示符下,进入该目录,运行ismpd -install。
假如提示都正常的话,到此即完成进行并行计算的前提条件了。
2、分配单元
单机多核计算提高效率的途径在于几个核心同时进行计算,因此对一个模型完成所有的建模后需要为参与计算的多核分配计算任务(软件自动分配或者用户手动分配),也就是单元,最后在提交任务前提示软件进行并行计算。
(1)打开一个已经调试无误的待计算文件
(2)为多核分配单元
测试电脑为双核4线程,这里设置2核计算。
①Jobs—>User Domains调出面板,②Generate!按钮设置参与计算的CPU内核数,③输入分配的内核数2,回车确定,④软件自动为两个内核分配单元,并输出单元数信息,⑤勾选Identify,显示单元分配情况,最终如图所示。
也可以用户手动分配单元,①选择Manul Decomposition,出现手动分配单元的一些命令按钮,②Delete All删除之前自动分配情况,③Add Elements分别为内核分配不同的单元,④手动分配情况如图所示。
3、提交计算
完成上述步骤后,勾选Parallelization选项即可进行并行计算。
①Job—>Show Menu进入Job面板,②Run命令进入Run Job面板,③点击Parallelization进入相应面板,④勾选 Use DDM选项,假如使用用户分配的单元,选
择 Decomposition In Mentat,⑤点击OK回到Run Job面板,⑥点击Submit即可提交任务进行并行计算。
运行情况如图所示。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~。