SVD Differences - Single/multi Core CPU

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?

Réponses (2)

Andreas Goser
Andreas Goser le 16 Déc 2011

0 votes

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 commentaires

Andreas Goser
Andreas Goser le 16 Déc 2011
Oh and how different are the results? Are we talking of numerical precision issues like 10e-12?
Milos
Milos le 16 Déc 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 le 16 Déc 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).

Connectez-vous pour commenter.

Jan
Jan le 16 Déc 2011

0 votes

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.

Catégories

En savoir plus sur Eigenvalues dans Centre d'aide et File Exchange

Question posée :

le 16 Déc 2011

Community Treasure Hunt

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

Start Hunting!

Translated by