SVD Differences - Single/multi Core CPU

6 views (last 30 days)
Milos
Milos on 16 Dec 2011
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?

Answers (2)

Andreas Goser
Andreas Goser on 16 Dec 2011
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 Comments
Milos
Milos on 16 Dec 2011
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 on 16 Dec 2011
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).

Sign in to comment.


Jan
Jan on 16 Dec 2011
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.

Categories

Find more on Denoising and Compression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!