龙空技术网

Abqus:CPU选Intel还是AMD?

高性能计算HPC 716

前言:

现在大家对“amd科学计算mkl”可能比较讲究,同学们都想要学习一些“amd科学计算mkl”的相关内容。那么小编也在网摘上收集了一些有关“amd科学计算mkl””的相关知识,希望同学们能喜欢,朋友们一起来学习一下吧!

Abaqus运行速度跟哪些因素有关?

硬件,操作系统,Abaqus任务属性是影响Abaqus运行速度的三个主要因素,三者权重不同,下面分别说明:

硬件(70%)

CPU

物理核心数量

Abaqus多线程运算支持Threads/MPI/Hybrid模式,不管你是在个人电脑还是服务器集群上运行,原则上只要你有足够的Tokens,处理器物理核心是多多益善。但是个人选购CPU,肯定是存在性价比问题,金钱开销与性能提升倍数之间博弈的最佳核数是64,注意这里的提到的线程/核数通通指的是【物理核心】而不是【逻辑线程】,本文第二部分会解释这一点。个人选购CPU用来跑Abaqus,建议至少4个物理核心,推荐8-32核,最好不要超过64核,因为非常不划算。

内存速度、延迟和总带宽

更多的内存通道可以提高处理器的访问速度,延迟越低越好,总带宽是指使用所有内存通道的数据吞吐量。单线程任务的内存性能等于单个内存通道的性能,当运行多线程或多个进程应用程序时,可以同时使用多个通道,但是当多个内核共享一个内存通道时,每个内核的内存性能会降低,因此,具有最多内存通道和理论上最大带宽的系统将为内存占主导地位的并行应用程序(如Abaqus等有限元软件)提供最佳性能。

时钟频率

处理器通常会有一个基本时钟频率和一个最大时钟频率,时钟频率会根据工作负载和CPU温度自动调整,对于Abaqus来说,不管什么分析类型,CPU时钟频率越高越好。

数学特性(AVX2、AVX-512、FMA)

AVX指令集目前仅由Abaqus/Standard求解器使用,有则更快一点(提供1-2%的加速性能),无则亦可接受。

浮点单元(FPU)

数据吞吐量取决于时钟频率乘以FPU的数量,对于Abaqus的运行,处理器额外的FPU比提高时钟频率更有价值。

RAM

内存条要结合CPU内存通道和总带宽进行匹配,选频率高的,在预算范围内把内存通道插满,不要闲置。内存容量应根据CPU核数与求解器类型来定,推荐的核数与内存容量配比为,Explicit求解器1:4,Standard求解器1:8,比如CPU已定8核,机器主要运行Abaqus/Explicit,那么RAM可以定为32G,4通道的话就买4条8G的内存条插满即可。

GPU

显卡的一般要求是能亮机就行,这样推荐有两点原因,一是显卡GPU只能加速Standard中的直接稀疏求解器,二是支持加速Abaqus的GPU款式比较少,并且动不动就要几个W。如果你是土豪,工作中的模型以运行Abaqus/Standard直接稀疏求解器为主,推荐Tesla K40m, GP100/GV100或者AMD Radeon Pro V11;今年三月份一位朋友配了台Intel 8375c双路+NVIDIA Quadro GP100,Abaqus/Standard计算速度直接飞起!

SSD/HDD

建议用固态硬盘安装操作系统和软件,机械硬盘用来存放模型、设置工作路径。官方建议操作系统、软件安装、模型工作路径最好都不在同一个盘,因为Abaqus的运行会产生大量临时文件(非工作路径下那些临时文件),默认在C盘一个较深的路径下,Job结束后自动删除,因此如果都在一个盘,临时文件、程序调用、模型文件数据读写速度将彼此影响,导致整体运行速度降低。如果有条件,工作路径也建议使用固态硬盘,我测试过运行一个CEL气囊充气模型,当工作路径在SSD盘时,比在HDD盘快了12%左右!

Tips:在考虑硬件的时候还应考虑硬件互联导致的影响,这些因素间接影响Abaqus的整体运行速度。比如散热系统将直接决定CPU是否降频,高功率CPU建议用水冷系统效果会更好;再比如搭建Custer服务器集群时,随着CPU数量和MPI等级的增加,需要更多的MPI通信,具有更高带宽和更低延迟的互连通常将允许更大的性能扩展和更高的CPU限制,由于延迟显著降低,使用Infiniband互连通常比10Gb以太网性能更好。

操作系统(3%)

操作系统在类型、版本、库和配置设置方面的差异略微影响Abaqus运行速度,常见的Linux相比Windows在程序调度上有优势,运行速度普遍会快一些,但是一般不超过5%,而且个别的分析类型可能还会更慢一点,因此操作系统不作建议,按个人需求和习惯自行决定。

Abaqus任务属性(27%)

模型规模、网格特征、分析过程、求解器类型、精度、迭代次数或增量数、输出设置等都会影响Abaqus计算速度,很多人给Abaqus配电脑时不考虑要用它做哪方面的建模分析,完全忽略这个权重,导致非常高配的电脑跑起来却特别慢!这样的案例太多了,原因就是没有做好这方面的规划。所以,在权衡不同的硬件(主要是CPU与内存)性能时,请务必同时考虑以下一般准则:

1、Abaqus/Standard应该有足够的内存来运行分析,这个因素比其他因素更重要,这就是为什么前面提到它的内存配比会高达1:8,比Explicit高出一倍。

2、对于Abaqus/Explicit,核数与内存访问速度(带宽)是主要因素。

3、对于Abaqus/Standard直接求解器,使用连续单元的庞大模型(例如动力系统或土壤分析)是求解器计算密集型的,较高的时钟频率更为重要;此外,AVX2/AVX512等处理器特性有利于使用英特尔MKL进行DGEMM计算。

4、对于Abaqus/Standard AMG迭代求解器,或使用非求解器主导模型的直接求解器(例如飞机机身以壳为主),内存带宽更为重要。

Abaqus:CPU选Intel还是AMD?

如果你问官方技术专家Abaqus仿真推荐用什么品牌的处理器,得到的标准回答一定是"We at SIMULIA are vendor-neutral and so will not give out recommendations",我不是官方,没有利害关系、也没啥影响力,随便发表一下自己的一点经验吧,供参考~

这个问题答案很大程度上取决于你主要用Standard还是Explicit,总的来说,AMD核心数占绝对优势,性价比要高于Intel,如果你主要做Explicit这种显式积分类的运算,追求核心数量,AMD绝对是最佳选择,运行速度比同价位Intel高很多。预算比较低可以选择锐龙(Ryzen)系列;预算充足或者老板掏钱,那就买霄龙(EPYC)二代(推荐7F52/7H12)或三代(推荐74F3/75F3/7T83)以及线程撕裂者系列(总之避坑一代EPYC就对了),这些是专门为CAE分析设计的处理器,AMD官方有LS-DYNA/Abaqus等软件的Benchmark可以参考,跑Abaqus非常给力。

Intel的优势在于各种指令集对Standard求解器的加持以及软件的完美兼容,AMD这方面确实不行,低版本Abaqus在AMD上会遇到不兼容问题,经我测试,Abaqus2016.HF28至今仍无法在AMD上执行Standard与CFD的Co-Simulation,补丁到28基本上是最后一次维护,这就意味着官方彻底不再处理这个缺陷了,所以如果你用的Abaqus版本比较低(以2018为界限),尤其是经常会用Standard求解器的情况下,慎选AMD!而Intel完全没有这方面问题,推荐酷睿i7-12700K或i9-12900K,DDR5和高时钟频率会让Abaqus快乐的吞吐数据,预算高一些直接选性价比之王:8375c,配双路,这款处理器Intel挤牙膏用力过猛的杰出代表。

最后解释一下为什么前面提到的核心指的是【物理核心】:Intel的超线程(HT,Hyper-Threading)技术,或者AMD的同步多线程(SMT,Simultaneous Multithreading)技术,对Abaqus并行运算不会有真正意义上的性能提升(事实上对于计算密集型的CAE分析均是如此,开启超线程甚至会遭遇性能下降),而且还会徒增Tokens数量,对于用户来说,就是花了更多的钱,性能反而下降,得到的仅仅是看起来能调用更多线程而已。

最近几年官方也逐渐意识到并承认了这一事实,所以Abaqus2022版已经做了更改,不管你的BIOS设置有没有启用超线程技术,通通只识别【物理核心】,很多人问为什么最新版调用最大线程会报错,就是这个原因。只要你输入最大【物理核心】数,肯定就不会报错,如果你比较执着于超线程技术,还像之前的版本一样,能够识别逻辑线程,你需要在环境文件(abaqus_v6.env)中添加如下语句:

import os

os.environ['ABA_CPUS_LOGICAL'] = '1'

作者:USim

Intel平台推荐:

处理器:64核128线程主频2.9GHz

内存:512G(32G*16)

硬盘:1T固态 + 8T企业盘

显卡:按需选购,丰俭由人

塔式机箱,预装操作系统……

备注,以最终配置为准!

标签: #amd科学计算mkl