仿真的硬件选型原则:CPU
做各类仿真工作,硬件条件是最基础的部分。如今主流仿真应用(结构有限元、流体CFD等)是基于CPU运行的,因此CPU的性能直接决定了仿真求解速度。本文就自身的理解,简单讲述CPU选型的几个基本原则。
1 架构与制程
基本原则:买新不买旧,一定要选发布时间较近的CPU,可以多考虑AMD的产品。
架构(architecture)是硬件的基本设计框架,直接决定了CPU的整体性能。和架构相关的另一个概念叫制程(fabrication process),表示了芯片内电路之间的间距。
通常而言,新架构会采用更先进制程,会比使用不那么先进制程的旧架构更优秀,因此可实现更强大的性能。制程则数字越低越好,例如7nm制程比14nm制程好。
近几年AMD和英特尔的架构、制程信息总结如下,格式:年份/架构名/制程/产品举例。规划中的产品线信息根据近期的新闻总结。
AMD:
2019 / Zen 2 / 7nm / Ryzen 9 3950X
2020 / Zen 3 / 7nm / Ryzen 9 5950X
2022 / Zen 4 / 5nm / Ryzen 9 7950X
规划中:2024 / Zen 5 / 3nm /
英特尔:
2020 / Comet Lake / 14nm / i9 - 10900
2021 / Rocket Lake / 14nm / i9 - 11900
2021 / Alder Lake / 10nm / i9 - 12900
2022 / Raptor Lake / 10nm / i9 - 13900
规划中:2024 / Meteor Lake / 7nm
2 核心数与频率
2.1 运行频率
对于同一架构的CPU,频率决定了单核心性能。CPU的频率包括基准频率和最大加速频率两类,其中,基准频率是指空载状态下的CPU频率,最大加速频率是指满载运行下可以实现的最大运行频率。频率要求为越高越好。
2.2 核心数和线程的关系
关于核心数问题,涉及核心线程的概念。利用超线程技术将一个CPU核心虚拟化为两个线程,可极大的方便操作系统进行硬件资源调度。但是超线程技术不会实际增加算力。操作系统分配CPU资源是按照线程进行分配,而不是核心。
类比举例,CPU算力资源是一大碗菜,每个需要CPU的程序是夹菜的人,超线程技术则将菜(CPU算力)均分为两小碗(一个核心虚拟化为两个线程),当多人吃菜(多个程序抢CPU资源)时,更容易将菜分配给每个吃菜的人(算力根据程序需求进行分配)。
在仿真软件的求解设置界面中,设置的调用核心数应该基于线程数,而非CPU核心数。应用程序不可能越过操作系统直接调度硬件资源。
任务管理器中显示的CPU信息如图,核心(cores)数量8,线程(logical processor)数量16。在仿真软件的求解计算设置界面中,调用核心数输入16才能使CPU满载运行;输入8只能使一半核心满载,一半核心空载。
2.3 核心数选型原则
核心数选择根据主要应用场景决定。所有程序都会出现核心数增加后并行效率恶化的趋势,因此无限制的增加CPU核心数并不能显著降低求解的时间。其恶化趋势如图所示。
对于并行加速效率较差的软件(例如各类基于有限元法的软件,包括ANSYS、Abaqus、HyperWorks、COMSOL等),可以考虑采用核心数中等,但是运行频率很高的型号,例如AMD线程撕裂者Pro 5965WX(24核心48线程,基准频率3.8GHz,最高加速频率4.5GHz)。由于程序本身的并行效率较差,因此进一步增加核心数量对于节约计算时间意义不大。
对于并行加速效率极佳的软件(例如基于有限体积法的Fluent、Star-CCM+,基于离散元法的EDEM等),可以考虑使用核心数更多的型号,至于单核心的频率则可以不要求太高,例如AMD线程撕裂者Pro 5995WX(64核心128线程)。
3 CPU类型
仿真的CPU主要采用桌面CPU或服务器CPU,很少见笔记本的移动端CPU。而且通常笔记本电脑无论硬件算力还是散热条件,都难以运行复杂的仿真项目。
对于同时代的CPU,因为实际上采用相同架构,因此两类CPU单核心的性能本身差异并不大。甚至部分服务器CPU因为可靠性需求而限制了频率,实际性能反而不如桌面CPU。服务器和桌面CPU,更多的差距在于两者在其他硬件的支持能力不同。部分服务器CPU型号支持多CPU扩展、大容量内存等,可适用于非常复杂的仿真问题。
3 CPU性能参考标准
CPU性能对比,可直接参考性能测试软件(performance benchmark software)的评分。整体而言,测试软件评分更高的CPU,其性能更强。不同性能测试软件的测试方法、打分标准等均不同,且侧重于不同的应用场景,因此需要参考多方性能测试数据做综合对比,且详细比较同一测试软件中不同项目的测试结果。
对于仿真应用,可推荐的测试程序:
Geekbench(官网:browser.geekbench.com)
PassMark(官网:www.cpubenchmark.net)
4 其他注意事项
4.1 电源系统搭配
电源如果供电功率不足或者供电质量太差(例如输出到主板的电压不稳定)会严重影响各设备的正常运行,甚至导致莫名其妙的死机等问题。电源输出功率要留有一定量余量,方便后续的硬件升级(如更换显卡、增加内存等)
4.2 散热系统搭配
良好的散热是硬件充分发挥性能的必备条件。散热不佳会导致系统通过降频甚至强制关机断电等办法保护硬件。如果安装空间等条件足够,建议使用水冷系统,可以承载更大的散热负荷。与此同时,散热系统需要定期做维护保养,包括清理内部积灰、加注导热硅脂等,建议对散热系统做维护频率至少一年一次。
4.3 软件问题
保持应用程序、操作系统、驱动程序、BIOS等软件部分的更新升级,使软件能够充分发挥硬件性能。特别是仿真软件本身,各个主要开发商均把提升并行效率,在更多核心数下可实现高效并行作为功能优化方向之一。
如果不存在VMWare之类必须开启超线程才能运行的程序,可建议将超线程在BIOS设置为关闭。关闭后,一个CPU核心等同于一个线程,因此实现同样的算力,可使用更少的核心数,提升并行效率。
关闭超线程提升并行效率的方法不适用于英特尔酷睿系列的12代及后续型号。原因在于,此方法的前提是每个CPU核心算力是相同的。酷睿系列的12代及后续型号采用大小核架构,仅大核(性能核)支持超线程,小核(效能核)不支持超线程,而且大核小核之间的算力差异巨大。
参考:
AMD产品手册 www.amd.com/en/products/specifications
英特尔产品手册 ark.intel.com/content/www/us/en/ark.html#@Processors
仿真的硬件选型原则:CPU相关推荐
- HFSS和CST电磁仿真的硬件选型指南(纯个人经验)
行业主流的这两款软件区别 各个搜索引擎里面都有很多相关介绍了,我就简单描述一下. HFSS:自动剖分网格,主打频域有限元,即FEM算法.适合复杂精细模型的求解,行业标杆.后续也加入了瞬态时域算法以及S ...
- 计算机设备选型的基本原则,信息系统设备选型原则.doc
选型原则 服务器平台的总体设计主要是从应用和技术两个方面入手,采用以应用体系为支撑,以技术体系为依托,满足业务体系的总体结构.其中,应用体系用于描述基于业务体系所确定的界面定义.服务内容.应用模型,它 ...
- STM32-Keil软件仿真和硬件仿真/在线仿真
软件仿真和硬件仿真什么区别?软件仿真就是没有硬件参与的仿真,完全是模拟实现的.硬件仿真是将程序下载到控制芯片的FLASH或RAM中,直接在硬件上实现仿真.[有什么问题欢迎联系讨论,一起解决问题] 仿真 ...
- 计算机硬件选型报价,计算机系统硬件选型
计算机系统硬件选型 (102页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 计算机系统部件的选型计算机选型原则:够用为度,留有余地,部件匹 ...
- 刷新存储器的容量单位是什么_什么是PLC?PLC的选型原则是什么?
头条号私信回复1,获取海量免费学习资源,内容包括自动化电气工程师必备的软件.电子书.视频教程等 合理选用PLC, 对于提高系统的性能.设备的可靠性, 以及技术经济指标, 有着重要意义. 题图:PLC ...
- 系统服务器选型依据,1.2 服务器选型原则
1.2 服务器选型原则 做技术选型时,用户首先要清楚地了解应用的类型和特点,然后才能选择合适的平台. 由于技术在不断发展,IBM的Power系列服务器上可以运行AIX.Linux等多种操作系统.如果考 ...
- 超全总结!视觉SLAM方案整理及硬件选型(附项目地址)
编辑丨智东西公开课 本文已获CSDN博主「Mega_Li」授权发布,如需转载请与原作者联系.原文链接:https://blog.csdn.net/lwx309025167/article/detail ...
- C#获取电脑硬件信息(CPU ID、主板ID、硬盘ID、BIOS编号
C#获取电脑硬件信息(CPU ID.主板ID.硬盘ID.BIOS编号 http://www.cnblogs.com/liufei88866/archive/2010/05/11/1732671.htm ...
- (04)FPGA芯片选型原则
(04)FPGA芯片选型原则 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA芯片选型原则 5)结语 1.2 FPGA简介 FPGA(Field Programm ...
- 深度学习硬件基础:CPU与GPU
文章目录 CPU和GPU 1. CPU 1. 1 CPU定义--少量复杂运算 1.2 CPU组成 1.3 CPU执行流程: 2. GPU 2.1 GPU定义--大量简单运算 2.2 GPU组成 3. ...
最新文章
- 实现量子计算,我们还需要做些什么?
- centos7.3安装MongoDB
- jzoj6316-djq的朋友圈【状压dp】
- linux mac地址文件夹,android4.4.2系统的mac地址文件在哪个文件里面
- 如何调整cmd窗口的颜色
- 简单电脑***《菜鸟级》
- 计算机连接双硬盘,电脑如何安装双硬盘
- Winform使用FTP实现自动更新
- 手写图像反转,变换,imhist,均衡化,均值中值滤波,sobel以及拉普拉斯实现图像锐化
- 前端UI框架网址大全----后续会有添加
- 格式化U盘并测试读写速度
- Java面向对象游戏-黑熊怪变成武大郎吃唐僧 --如何方法继承 重写
- Eclipse设置编辑器为绿豆沙颜色
- 移动硬盘位置不可用参数错误的解决方法
- Android初学习之四:知晓当前是哪一个活动和随时随地退出程序
- 如何在Linux下安装chrome浏览器
- python编程写完需要几年驾龄_编程小白怎么学Python,大概要多久才能学好?
- mongoDB图形可视化界面及操作
- a2dp sink 在android kk和L实现的区别
- 玄幻:开局选择瑶池,我只想默默签到!(一)
热门文章
- 国二考试报Wps还是c语言,2021 年全国计算机二级增考 WPS Office
- python安装汉化插件及翻译插件
- python pycharm 无法import win32api、win32con、win32com、win32gui 问题一次解决!方法合集
- 墨盒注墨后出现断线或堵头的处理方法
- 微型计算机原理目录,微型计算机原理与应用 目录
- 正则表达式常用匹配方式
- PHP调试工具 - FirePHP安装与使用方法
- Win XP 精简版安装SQL Server
- 使用java实现敏感词汇过滤功能
- vb mysql登录界面_VB\数据库--模拟系统登录界面