a****t 发帖数: 720 | 1 不是做numeric的,但最近需要numerically test一些东西,计算量非常大,
1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。
我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完
,太慢了。
打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+
memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所
以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本
会闲置无用。
谢谢。 |
g***u 发帖数: 5413 | 2 一次性的话是不是可以考虑Amazon Elastic Compute Cloud?
【在 a****t 的大作中提到】 : 不是做numeric的,但最近需要numerically test一些东西,计算量非常大, : 1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。 : 我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完 : ,太慢了。 : 打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+ : memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所 : 以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本 : 会闲置无用。 : 谢谢。
|
a****t 发帖数: 720 | 3 谢谢,这个主意倒是可以试试。
【在 g***u 的大作中提到】 : 一次性的话是不是可以考虑Amazon Elastic Compute Cloud?
|
j****i 发帖数: 68152 | 4 一次性的话,算个十天半个月,跟几分钟也没区别吧。 |
a****t 发帖数: 720 | 5 估计有10来个这种计算量的test把,要是7-8天一个,就是几个月了。
而且如果收敛的太慢,可能会考虑矩阵维数更大到10^4(现在的这个台式机,也许内存
太小,能算的最大维数仅仅是1600x1600。)
理论上,我没有看到过类似情况下收敛速度的文章。
【在 j****i 的大作中提到】 : 一次性的话,算个十天半个月,跟几分钟也没区别吧。
|
j****i 发帖数: 68152 | 6 那还是买台电脑吧。amazon的虚拟机,一点都不比自己买电脑便宜
【在 a****t 的大作中提到】 : 估计有10来个这种计算量的test把,要是7-8天一个,就是几个月了。 : 而且如果收敛的太慢,可能会考虑矩阵维数更大到10^4(现在的这个台式机,也许内存 : 太小,能算的最大维数仅仅是1600x1600。) : 理论上,我没有看到过类似情况下收敛速度的文章。
|
t****t 发帖数: 6806 | 7 学生的话, 学校有没有计算中心? 想办法蹭一下.
【在 a****t 的大作中提到】 : 不是做numeric的,但最近需要numerically test一些东西,计算量非常大, : 1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。 : 我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完 : ,太慢了。 : 打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+ : memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所 : 以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本 : 会闲置无用。 : 谢谢。
|
j****i 发帖数: 68152 | 8 当年唐骏老师就是蹭caltech的计算中心吧
【在 t****t 的大作中提到】 : 学生的话, 学校有没有计算中心? 想办法蹭一下.
|
d******8 发帖数: 3017 | 9 你就借个朋友同事的好的电脑用一下, 请吃个饭就是了。 |
r**u 发帖数: 1567 | 10 Sandy bridge has 256-bit vector processor, should be much faster. And for
eigenvalue/eigenvector, what library do you use? I think that matters a lot.
【在 a****t 的大作中提到】 : 不是做numeric的,但最近需要numerically test一些东西,计算量非常大, : 1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。 : 我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完 : ,太慢了。 : 打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+ : memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所 : 以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本 : 会闲置无用。 : 谢谢。
|
|
|
a****t 发帖数: 720 | 11 纯数background,没什么编程经验,现有的code是matlab的,准备改用c++,lapack。
这个问题以前我run了一些小的case,最近开会,类似的问题被n多牛人提及,于是打算
seriously的做做,看能不能form一个conjecture。
能推荐具体的cpu+motherboard配置吗?不知道i5 2320,大家觉得如何?motherboard
彻底没概念。
lot.
【在 r**u 的大作中提到】 : Sandy bridge has 256-bit vector processor, should be much faster. And for : eigenvalue/eigenvector, what library do you use? I think that matters a lot.
|
a*o 发帖数: 19981 | 12 这么慢啊,会不会程序写得不对劲?编程质量可以影响速度1000倍。。。
【在 a****t 的大作中提到】 : 不是做numeric的,但最近需要numerically test一些东西,计算量非常大, : 1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。 : 我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完 : ,太慢了。 : 打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+ : memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所 : 以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本 : 会闲置无用。 : 谢谢。
|
a****t 发帖数: 720 | 13 roughly $A=\sum_1^k B_iC_iD_i+(B_iC_iD_i)^-1$, k is finite number,
each matrix B_i,C_i, D_i are all of form $exp(E)$, E is 1000x1000.
i need 1000 As, and find all of their eigenvalues and eigenvectors.
also i need push dim to be as large as i can. after getting those eigenvalues and eigenvectors, it is much easier, just do some analysis on those data.
【在 a*o 的大作中提到】 : 这么慢啊,会不会程序写得不对劲?编程质量可以影响速度1000倍。。。
|
P***P 发帖数: 1387 | 14 ..还是检查一下code吧, eig(rand(1000))在matlab里面不用一秒钟啊. cpu也是duo
core2
【在 a****t 的大作中提到】 : 不是做numeric的,但最近需要numerically test一些东西,计算量非常大, : 1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。 : 我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完 : ,太慢了。 : 打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+ : memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所 : 以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本 : 会闲置无用。 : 谢谢。
|
t****t 发帖数: 6806 | 15 要不要算eigenvector差别满大的. [e,v]=eig(rand(1000))就要三倍的时间了.
【在 P***P 的大作中提到】 : ..还是检查一下code吧, eig(rand(1000))在matlab里面不用一秒钟啊. cpu也是duo : core2
|
t****t 发帖数: 6806 | 16 matlab应该是用的现成的库, 自己写基本上不会比它快的.
【在 a*o 的大作中提到】 : 这么慢啊,会不会程序写得不对劲?编程质量可以影响速度1000倍。。。
|
a****t 发帖数: 720 | 17 in my case, i think most time cost on those matrix exp and product.
i believe the code is right, may not be optimal, but works.
for example, if i do only 1 A of dim around 1000, for this single A, all
spectrum properties match theoretical results. this small test normally take
about 20 min.
【在 P***P 的大作中提到】 : ..还是检查一下code吧, eig(rand(1000))在matlab里面不用一秒钟啊. cpu也是duo : core2
|
a****t 发帖数: 720 | 18 agree, i wrote my own code using power iteration to get spectrum, do not improve much.
the exp part, matlab already use pade approximation, it should be not too bad.
right now, i just expect mutli cores to parallel compute it.
【在 t****t 的大作中提到】 : matlab应该是用的现成的库, 自己写基本上不会比它快的.
|
P***P 发帖数: 1387 | 19 你说算1000个A, 各个A之间互相影响不? 还是A_i取决于A_{i-1}
如果互不影响这个embarrassing parallelism平行起来很快的. 那么amazon买一千个
core算一小时也没多少钱, 如果不能平行, 就没什么好办法了
take
【在 a****t 的大作中提到】 : in my case, i think most time cost on those matrix exp and product. : i believe the code is right, may not be optimal, but works. : for example, if i do only 1 A of dim around 1000, for this single A, all : spectrum properties match theoretical results. this small test normally take : about 20 min.
|
a****t 发帖数: 720 | 20 互不相干。对,所以我本来计划上4core,现在可能打算用amazon把。
【在 P***P 的大作中提到】 : 你说算1000个A, 各个A之间互相影响不? 还是A_i取决于A_{i-1} : 如果互不影响这个embarrassing parallelism平行起来很快的. 那么amazon买一千个 : core算一小时也没多少钱, 如果不能平行, 就没什么好办法了 : : take
|
|
|
r**u 发帖数: 1567 | 21 i7-2600,主板不太知道了。
motherboard
【在 a****t 的大作中提到】 : 纯数background,没什么编程经验,现有的code是matlab的,准备改用c++,lapack。 : 这个问题以前我run了一些小的case,最近开会,类似的问题被n多牛人提及,于是打算 : seriously的做做,看能不能form一个conjecture。 : 能推荐具体的cpu+motherboard配置吗?不知道i5 2320,大家觉得如何?motherboard : 彻底没概念。 : : lot.
|
r**u 发帖数: 1567 | 22 你用什么系统?如果是windows可以用performance toolkit去profile一下,找到哪个
function是bottle neck,再优化一下。
take
【在 a****t 的大作中提到】 : in my case, i think most time cost on those matrix exp and product. : i believe the code is right, may not be optimal, but works. : for example, if i do only 1 A of dim around 1000, for this single A, all : spectrum properties match theoretical results. this small test normally take : about 20 min.
|
m********1 发帖数: 177 | |
y******7 发帖数: 1554 | 24 如果code是用matlab写的,跑一个profile看看时间消耗在哪里,有没有可能优化。
【在 a****t 的大作中提到】 : 不是做numeric的,但最近需要numerically test一些东西,计算量非常大, : 1000个~1000-2000 dimension的矩阵,需要求eigenvalue和eigenvector。 : 我5年前的电脑,core 2 duo e6650,2gb mem,两个核并行计算,大约7-8天才能算完 : ,太慢了。 : 打算换一台电脑,请大家推荐一下配置,就是一个cpu+motherboard+video card+ : memory, 其他部分,都从旧电脑上拆。自己掏腰包,而且原本没有升级电脑的想法,所 : 以预算想严格控制在400$以下。做完这堆numeric,这个电脑对我来说都是排设,基本 : 会闲置无用。 : 谢谢。
|
y******7 发帖数: 1554 | 25 你是不是同时开了上千个1600x1600的矩阵?
如果是稀疏阵比较好处理。不是稀疏阵的话可能要不断把暂时不用的矩阵存/取,来释
放内存。
【在 a****t 的大作中提到】 : 估计有10来个这种计算量的test把,要是7-8天一个,就是几个月了。 : 而且如果收敛的太慢,可能会考虑矩阵维数更大到10^4(现在的这个台式机,也许内存 : 太小,能算的最大维数仅仅是1600x1600。) : 理论上,我没有看到过类似情况下收敛速度的文章。
|
y******7 发帖数: 1554 | 26 Matlab也是基于LAPACK算特征值和特征向量。
C++估计更慢,Fortran直接调用LAPACK有可能好点。貌似有限元的那些软件使用Fortran写的。
我个人经验,算eigenvalue/vector直接用Matlab就好,优化的很好了。除非你要stand-alone的可执行代码。
你的代码是基于并行计算的吗?如果不是的话,跟几核CPU关系不大,多上内存吧。算的比较久的话,放一个waitbar啥的提醒。
motherboard
【在 a****t 的大作中提到】 : 纯数background,没什么编程经验,现有的code是matlab的,准备改用c++,lapack。 : 这个问题以前我run了一些小的case,最近开会,类似的问题被n多牛人提及,于是打算 : seriously的做做,看能不能form一个conjecture。 : 能推荐具体的cpu+motherboard配置吗?不知道i5 2320,大家觉得如何?motherboard : 彻底没概念。 : : lot.
|
f*****n 发帖数: 719 | 27 matlab上跑如果用不了并行,cpu越快越好,核多了也没用,内存弄上16G。 |
a*********g 发帖数: 8087 | |
j****i 发帖数: 68152 | 29 慢的要死
【在 a*********g 的大作中提到】 : amazon ec2
|
a*s 发帖数: 425 | 30 还好吧,
上次用free account起16个instances 跑openmpi
还是要比自己的台式机要快多了
看你怎么用了,好像
ec2的一个core,相当于1个core的c2d吧,可能稍微慢点
【在 j****i 的大作中提到】 : 慢的要死
|
|
|
p**o 发帖数: 3409 | 31 matlab曾经自己写过底层库,后来就直接用intel mkl里的blas和
lapack来对付稠密矩阵了。mkl是用fortran写的,也提供了c接口。
我没看过matlab的封装,不清楚它封的是哪个接口。
稀疏矩阵的话,我的理解是matlab会调umfpack来分块求解
(调amd来做preordering),其中每一块稠密矩阵又调mkl来算。
自己写/封装eig,性能超过matlab的可能性很小。
Fortran写的。
【在 y******7 的大作中提到】 : Matlab也是基于LAPACK算特征值和特征向量。 : C++估计更慢,Fortran直接调用LAPACK有可能好点。貌似有限元的那些软件使用Fortran写的。 : 我个人经验,算eigenvalue/vector直接用Matlab就好,优化的很好了。除非你要stand-alone的可执行代码。 : 你的代码是基于并行计算的吗?如果不是的话,跟几核CPU关系不大,多上内存吧。算的比较久的话,放一个waitbar啥的提醒。 : : motherboard
|
a****t 发帖数: 720 | 32 多谢各位意见,这几天没上mitbbs,才看到回复。
最后还是上了i5 2500k+16gb ram, 四个cores并行计算,以前e6550+2gb算7天的,现在
1天完成,还是比较满意的。
只是有点后悔没上amd的f8120,八盒,并行起来,应该比四盒快。买cpu那天没看到
f8120 combo的deal。
【在 p**o 的大作中提到】 : matlab曾经自己写过底层库,后来就直接用intel mkl里的blas和 : lapack来对付稠密矩阵了。mkl是用fortran写的,也提供了c接口。 : 我没看过matlab的封装,不清楚它封的是哪个接口。 : 稀疏矩阵的话,我的理解是matlab会调umfpack来分块求解 : (调amd来做preordering),其中每一块稠密矩阵又调mkl来算。 : 自己写/封装eig,性能超过matlab的可能性很小。 : : Fortran写的。
|
a*s 发帖数: 425 | 33 amazon的ec2感觉是给大公司用的,其实,感觉也是骗funding...
个人,小的project,真的还是买个机子用用算了
还有,amazon的ec2 instances个数是有限制的
至少,我上次用最多16个,如果要用超过16个,还要申请,很麻烦
所以,感觉同时用1000估计不现实
【在 a****t 的大作中提到】 : 互不相干。对,所以我本来计划上4core,现在可能打算用amazon把。
|