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 Exchange에서 Eigenvalues에 대해 자세히 알아보기

질문:

2011년 12월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by