f*****t 发帖数: 895 | 1 最近在做一些一般的数值计算,用Matlab或者Gauss,要等很长时间才有结果。看了一
下CPU和内存的使用率,都很低。计算的时候Matlab和Gauss都最多只占用了15%左右的
CPU,内存也是只有不到1个G。
有什么方法能分配尽量多的CPU和内存给Matlab和Gauss使用?计算的时候计算机也不做
其他的事情。 |
x********r 发帖数: 37 | 2 disk I/O bound? 换SSD?
【在 f*****t 的大作中提到】 : 最近在做一些一般的数值计算,用Matlab或者Gauss,要等很长时间才有结果。看了一 : 下CPU和内存的使用率,都很低。计算的时候Matlab和Gauss都最多只占用了15%左右的 : CPU,内存也是只有不到1个G。 : 有什么方法能分配尽量多的CPU和内存给Matlab和Gauss使用?计算的时候计算机也不做 : 其他的事情。
|
c******n 发帖数: 16666 | 3 优化代码
不过整体而言matlab的并行比较搞笑 所以找个单核主频高的反而速度会快点 |
B**********r 发帖数: 812 | 4 how about P4 Extreme?
【在 c******n 的大作中提到】 : 优化代码 : 不过整体而言matlab的并行比较搞笑 所以找个单核主频高的反而速度会快点
|
f*****t 发帖数: 895 | 5 没有什么I/O。数据量也不大,都在内存里了。而且已经是SSD了。
【在 x********r 的大作中提到】 : disk I/O bound? 换SSD?
|
f*****t 发帖数: 895 | 6 往什么方向优化代码?
【在 c******n 的大作中提到】 : 优化代码 : 不过整体而言matlab的并行比较搞笑 所以找个单核主频高的反而速度会快点
|
l*****z 发帖数: 2305 | |
P*S 发帖数: 381 | 8 AMD cpu? 或者老款cpu cache太小? |
t*****z 发帖数: 1598 | 9 你用的系统是什么?这15%是单个线程的15%还是所有核心的15%?是Windows的话可以试
试改affinity和priority,Linux下可以把governer改成performance,不过我猜这招不
会有什么帮助。
楼上说的比较有可能,缓存太小。
再说下你的CPU和主板芯片组型号吧?
【在 f*****t 的大作中提到】 : 最近在做一些一般的数值计算,用Matlab或者Gauss,要等很长时间才有结果。看了一 : 下CPU和内存的使用率,都很低。计算的时候Matlab和Gauss都最多只占用了15%左右的 : CPU,内存也是只有不到1个G。 : 有什么方法能分配尽量多的CPU和内存给Matlab和Gauss使用?计算的时候计算机也不做 : 其他的事情。
|
E***e 发帖数: 3430 | 10 matlab听个响就好了别太难为自己
【在 f*****t 的大作中提到】 : 最近在做一些一般的数值计算,用Matlab或者Gauss,要等很长时间才有结果。看了一 : 下CPU和内存的使用率,都很低。计算的时候Matlab和Gauss都最多只占用了15%左右的 : CPU,内存也是只有不到1个G。 : 有什么方法能分配尽量多的CPU和内存给Matlab和Gauss使用?计算的时候计算机也不做 : 其他的事情。
|
|
|
Z**0 发帖数: 1119 | 11 因为是单线程计算,只用了1个core,1/n的CPU |
E***e 发帖数: 3430 | 12 因为马特拉伯到现在也没搞明白几个函数怎么多线程化,randn就是其中之一
【在 Z**0 的大作中提到】 : 因为是单线程计算,只用了1个core,1/n的CPU
|
d*a 发帖数: 1863 | 13 计算量大的话还是用高级语言吧
因为内存管理的原因 matlab算起来太慢了 |
a*o 发帖数: 19981 | 14 我擦,那还不如狠操一颗G3258,估计效果最佳,性价比更是绝顶。
哥家里目前单线程superpi最快的机器就是个操到了4.5Ghz的G3258,只要差不多正好8
秒。
【在 Z**0 的大作中提到】 : 因为是单线程计算,只用了1个core,1/n的CPU
|
P**H 发帖数: 1897 | 15 G3258超频要换冷却不?
8
【在 a*o 的大作中提到】 : 我擦,那还不如狠操一颗G3258,估计效果最佳,性价比更是绝顶。 : 哥家里目前单线程superpi最快的机器就是个操到了4.5Ghz的G3258,只要差不多正好8 : 秒。
|
P**H 发帖数: 1897 | 16 问题是现在有什么应用真正用到多核的?
除非自己写
【在 d*a 的大作中提到】 : 计算量大的话还是用高级语言吧 : 因为内存管理的原因 matlab算起来太慢了
|
e*i 发帖数: 10288 | 17 原装的风扇挺良心的,居然是铜芯的。
我的原装风扇风冷也稳定能到4.5G,不过好像电压偏高,满载温度偏高,因此我
的那一套后来工作在4.3G,温度好多了。
【在 P**H 的大作中提到】 : G3258超频要换冷却不? : : 8
|
E***e 发帖数: 3430 | 18 至少c++套用Eigen3和OpenMP多线程效率很高
MATLAB比起来真的就是个玩具
【在 P**H 的大作中提到】 : 问题是现在有什么应用真正用到多核的? : 除非自己写
|
x*******i 发帖数: 81 | 19 我常用的统计软件STATA,多核非常有效
不需要自己写命令。
【在 P**H 的大作中提到】 : 问题是现在有什么应用真正用到多核的? : 除非自己写
|
S*A 发帖数: 7142 | 20 你要知道算法可以自己用 C 写。
对多 CPU 和内存的使用有几乎完全的控制。
matlab 就是用起来很方便,不用写什么复杂程序。
但是运行效率其实不高,特别是多 CPU 的情况。 |
|
|
f*****t 发帖数: 895 | 21 要用到大量的矩阵计算,都是自己写,也不太现实。
花很多时间在这些算法上面,还不如让matlab慢慢的跑。
【在 S*A 的大作中提到】 : 你要知道算法可以自己用 C 写。 : 对多 CPU 和内存的使用有几乎完全的控制。 : matlab 就是用起来很方便,不用写什么复杂程序。 : 但是运行效率其实不高,特别是多 CPU 的情况。
|
E***e 发帖数: 3430 | 22 再推荐一遍 C++ Eigen3
【在 f*****t 的大作中提到】 : 要用到大量的矩阵计算,都是自己写,也不太现实。 : 花很多时间在这些算法上面,还不如让matlab慢慢的跑。
|
d******u 发帖数: 5 | 23 正解
【在 t*****z 的大作中提到】 : 你用的系统是什么?这15%是单个线程的15%还是所有核心的15%?是Windows的话可以试 : 试改affinity和priority,Linux下可以把governer改成performance,不过我猜这招不 : 会有什么帮助。 : 楼上说的比较有可能,缓存太小。 : 再说下你的CPU和主板芯片组型号吧?
|
p****n 发帖数: 21 | 24 像是多线程并行出现了锁,8核CPU使用率应该在12.5%而不是15%,内存管理器共享Heap
导致线程竞争。如果自己可以控制线程数,那可以解决,如果不行,换个四核高频的机
器吧。 |
l**k 发帖数: 1755 | |
E***e 发帖数: 3430 | 26 matlab换什么都没用
最多凑合凑合用parfor
四线程只提速50%左右
Heap
【在 p****n 的大作中提到】 : 像是多线程并行出现了锁,8核CPU使用率应该在12.5%而不是15%,内存管理器共享Heap : 导致线程竞争。如果自己可以控制线程数,那可以解决,如果不行,换个四核高频的机 : 器吧。
|
n*******0 发帖数: 2002 | 27 上perfmon和resmon看硬件瓶颈,没瓶颈的话看你的算法的并行性。都没问题的话,那
你去应聘matlab和高斯吧,去把他们的程序并行性提升提升。。。。
【在 f*****t 的大作中提到】 : 最近在做一些一般的数值计算,用Matlab或者Gauss,要等很长时间才有结果。看了一 : 下CPU和内存的使用率,都很低。计算的时候Matlab和Gauss都最多只占用了15%左右的 : CPU,内存也是只有不到1个G。 : 有什么方法能分配尽量多的CPU和内存给Matlab和Gauss使用?计算的时候计算机也不做 : 其他的事情。
|
P*S 发帖数: 381 | 28 很大可能就是并行算法的问题。楼主基本把matlab当黑盒子用,可能想用matlab并行语
句,但并行算法至少以现阶段还需要人工调试,很多时候各个并行threads并不能同步
,先完成的threads得等没完成的结果出来才能进行下一步运算。
【在 n*******0 的大作中提到】 : 上perfmon和resmon看硬件瓶颈,没瓶颈的话看你的算法的并行性。都没问题的话,那 : 你去应聘matlab和高斯吧,去把他们的程序并行性提升提升。。。。
|