各位来讨论一下硬件,MMA对于内存频率(带宽)需求是不是非常低
mathematica吧
全部回复
仅看楼主
level 1
sss668800 楼主
如题,单线程的mma程序,一次同时运行4个,每个占用内存100G,一共400G。
这显然超出了普通pc的内存容量,于是乎我将ssd和hdd分别划入400G的虚拟内存。
发现ssd作为虚拟内存能够在cpu不降频下正常运行,运算时间和具有400G内存的工作站时间一致(由于pc频率更高);
而用hdd出现了明显的降频。
大家应该知道ram的速度比ssd nand快了一个甚至两个数量级,因此这似乎能够说明mma对于内存带宽要求并不高,我曾经测试过完全相同配置下ddr3 1333和1866的mma程序,带宽的提升并没有提升mma的运行速度,这次用ssd作为虚拟内存似乎也说明mma对带宽的需求不高。
ssd是SanDisk exteme pro 480g,性能和现在nvme旗舰比差多了。
这倒给我提供了一个思路,使用MMA需要大内存时,并不是一定要具有大内存的工作站,而可以将ssd划分为虚拟内存使用。400G内存截图如下:
2018年01月28日 15点01分 1
level 1
sss668800 楼主
运算时间和具有400G内存的工作站时间一致(由于pc频率更高)
改为:
运算时间和具有400G内存的工作站时间一致(实际pc更快,是由于pc频率更高)
2018年01月28日 15点01分 2
level 5
期待更多人的验证
2018年01月29日 14点01分 3
level 1
大神,你还在用xp呀
2018年01月30日 08点01分 4
能支持400G内存的系统明显不是xp,是windows sever系列的
2018年01月30日 16点01分
吧务
level 15
……直觉上这应该和你测试用的代码有关吧?你用的测试代码是?低级运算多吗?
2018年02月03日 08点02分 5
都是一些求梯度、乘积、级数展开、嵌套求和之类的运算,代码有几页就不贴了。主要是需要高精度,设置所有初值的精度需要达到2000位有效数字。
2018年02月03日 08点02分
@sss668800 如果是用了这么多位的任意精度计算的话那短板恐怕真在CPU上,毕竟相对慢。机器精度大概就不一样了。(纯猜测。)
2018年02月03日 08点02分
level 3
这软件是不是基本都是单线程的?
2019年05月11日 07点05分 6
这取决于你平时都算些什么了,如果恰好用那几个能并行的函数用得多的话,你会觉得它并行得还不错——没错,会并行的函数只占总体的一小部分。
2019年06月01日 09点06分
1