SVD Differences - Single/multi Core CPU

2 次查看(过去 30 天)
Milos
Milos 2011-12-16
In data analysis I have 2 pre-processing steps that involve singular value decomposition (SVD). The final step is performing hierarchical cluster analysis (HCA), and this is where things get "interesting". On two different machines I get different results. It turns out that one machine fires on all CPU cores when performing SVD, while the other one chugs along using a single CPU core. Has anybody experienced this type of behavior?

回答(2 个)

Andreas Goser
Andreas Goser 2011-12-16
There are many reasons why results can be different on different machines. The most frequent reason I see is 32 bit vs. 64 bit architecture. Let me know if this can be a factor here.
  3 个评论
Milos
Milos 2011-12-16
Both machines are 64-bit, running Windows 7 64-bit Professional, and running 64-bit MATLAB R2011b. The only difference is that one is Core 2 Duo (uses only one core) and the other is 2nd gen. Core i7 (uses all cores).
Milos
Milos 2011-12-16
Not numerical precision issue. If [U,S,V] = svd(X); differences in U and V are ~ 0.00xxxxx (if I remember correctly, will have to check later since my colleague is not on the office and the computer is locked).

请先登录,再进行评论。


Jan
Jan 2011-12-16
The Core 2 Duo uses one core only?! What a pitty.
Such difference are caused by numerical the limited accuracy. Although 0.001 absolute difference in U and V sounds large, consider, that this actually means a very tiny angle. Such differences can be expected, when the same task is computed on a different number of cores.

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by