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?

回答 (2 件)

Andreas Goser
Andreas Goser 2011 年 12 月 16 日

0 投票

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 件のコメント

Andreas Goser
Andreas Goser 2011 年 12 月 16 日
Oh and how different are the results? Are we talking of numerical precision issues like 10e-12?
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 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeEigenvalues についてさらに検索

質問済み:

2011 年 12 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by