1. 引言
由于进行机器学习方面的运算,台式计算机预装的8G内存显然不能满足要求,于是买了一个16G的内存条,使得总内存变为24G。就此比较了台式计算机和笔记本电脑的运算速度(calculation rates),以便决定是否近期要购置一台新的笔记本电脑。目前使用的laptop是2018年夏季戴尔推出的产品,按当时的配置应该是比较高端的了,折合成RMB大约13,000元。这个比较使用3DEC的” Runtime Benchmark”文件进行测试。下表列出了这两台计算机的主要运行指标。
台式计算机 | 笔记本电脑 | |
电脑型号 | 联想 90K2000QCP | 戴尔 XPS 13 9370 |
CPU | Core(TM) i7-8700 | Core(TM) i7-8550U |
CPU核心数 | 12 | 8 |
GHz | 3.20GHz(3192 MHz) | 1.80GHz(1992 MHz) |
内存 | 24G | 8G |
10000次循环所需时间(秒) | 6.139 | 10.092 |
2. 问题描述
这个测试问题使用了一个立方体模型(cubic model), 使用Jset命令划分为125个块体,施加应力边界条件(pressure boundary conditions)。模型进行变形块体分析(deformable block analysis),共划分成750个单元(zones)和1000个网格点(gridpoints),模型运行10000步,通过如下所示的FISH 函数计算速率。
3. 运行结果比较
相同的代码分别在这两台计算机上运行,台式计算机的运行时间大约是6秒左右,笔记本电脑的运行时间大约在10秒左右。这个结果在预料之中, 之所以说是“大约”, 是因为计算机时钟clock引起的差异,同一台计算机反复运行同一程序得出的结果也不可能完全相同。目前笔记本电脑的主要制约因素仍然是内存,当有上万个块体运行时,8G的内存根本不够用,这在以前运行机器学习程序时已经得到了证实。 下图所示的是运行后的位移等值线图。
4. 3DEC运行时遇到的问题
自从版本5.0以后,3DEC的FISH函数提供了内联的编程格式,大大简化了代码编写过程,不过发现一个问题,内联的编写方式不能通过Validate验证,会出现如下的错误信息,但是不影响运行。这可能是目前程序版本的一个bug, 验证内联FISH函数的功能还没有合并到Validate模块中。
当进行Validate时,错误的代码会高亮,如下图所示:
在数据编辑器内右击鼠标,可以去掉高亮颜色,继续运行。
至于高亮的颜色,用户可以在主菜单Tools->Options->Editor下改变。其他一些与编辑器相关的设置,例如字体和背景颜色也可以在此改变。
5. 结束语
测试比较了同一个3DEC代码在台式计算机和笔记本电脑上的运行速度。显而易见,台式机仍然是目前主要的工作机器,基本上能够满足大部分代码的正常运行。或许,当CPU发展到第11代Core i11时再考虑更换主机。最后附上本次测试使用的全部代码。