-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Divergence of SVD algorithm on our new server #66
Comments
By checking the results on another server (with no divergence), I can see that the BLAS and LAPACK library are different. Here is the example with no divergence on another server :
|
That is indeed odd. The problem must be related to the change in
BLAS/LAPACK libraries. However I routinely test with openblas, and
have not seen this.
Temporarily you could try setting the environment variable
OMP_NUM_THREADS=1 which may help, for instance by starting R with:
OMP_NUM_THREADS=1 R
Investigating...
…On 12/16/22, drbecavin ***@***.***> wrote:
By checking the results on another server (with no divergence), I can see
that the BLAS and LAPACK library are different.
There might be a problem with openblas-pthread when the number of CPUs
available is high : https://github.com/xianyi/OpenBLAS/issues
Here is the example with no divergence on another server :
```
> x <- matrix(rnorm(10000000), nrow=10000)
> p1 <- prcomp_irlba(x, n=25)
> summary(p1)
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6
PC7 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16
PC17
Standard deviation 1.31683 1.31246 1.30698 1.30556 1.30363 1.30132
1.29976 1.29890 1.29758 1.29569 1.29256 1.29110 1.29020 1.28811 1.28691
1.28593 1.28463
Proportion of Variance 0.00173 0.00172 0.00171 0.00170 0.00170 0.00169
0.00169 0.00169 0.00168 0.00168 0.00167 0.00167 0.00166 0.00166 0.00166
0.00165 0.00165
Cumulative Proportion 0.00173 0.00345 0.00516 0.00687 0.00856 0.01026
0.01195 0.01363 0.01532 0.01699 0.01866 0.02033 0.02199 0.02365 0.02531
0.02696 0.02861
PC18 PC19 PC20 PC21 PC22 PC23
PC24 PC25
Standard deviation 1.28428 1.28324 1.28054 1.27906 1.27868 1.27655
1.27589 1.27440
Proportion of Variance 0.00165 0.00165 0.00164 0.00164 0.00163 0.00163
0.00163 0.00162
Cumulative Proportion 0.03026 0.03190 0.03354 0.03518 0.03681 0.03844
0.04007 0.04169
> p2 <- prcomp_irlba(x, n=26)
> summary(p2)
Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6
PC7 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16
PC17
Standard deviation 1.31683 1.31246 1.30698 1.30556 1.30363 1.30132
1.29976 1.29890 1.29758 1.29569 1.29256 1.29110 1.29020 1.28811 1.28691
1.28593 1.28463
Proportion of Variance 0.00173 0.00172 0.00171 0.00170 0.00170 0.00169
0.00169 0.00169 0.00168 0.00168 0.00167 0.00167 0.00166 0.00166 0.00166
0.00165 0.00165
Cumulative Proportion 0.00173 0.00345 0.00516 0.00687 0.00856 0.01026
0.01195 0.01363 0.01532 0.01699 0.01866 0.02033 0.02199 0.02365 0.02531
0.02696 0.02861
PC18 PC19 PC20 PC21 PC22 PC23
PC24 PC25 PC26
Standard deviation 1.28428 1.28324 1.28054 1.27906 1.27868 1.27655
1.27589 1.27440 1.27340
Proportion of Variance 0.00165 0.00165 0.00164 0.00164 0.00163 0.00163
0.00163 0.00162 0.00162
Cumulative Proportion 0.03026 0.03190 0.03354 0.03518 0.03681 0.03844
0.04007 0.04169 0.04331
> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 10 (buster)
Matrix products: default
BLAS: /usr/lib/R/lib/libRblas.so
LAPACK: /usr/lib/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=fr_FR.UTF-8 LC_NUMERIC=C
LC_TIME=fr_FR.UTF-8 LC_COLLATE=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
[6] LC_MESSAGES=fr_FR.UTF-8 LC_PAPER=fr_FR.UTF-8 LC_NAME=C
LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] irlba_2.3.5 Matrix_1.3-4
loaded via a namespace (and not attached):
[1] compiler_4.0.2 tools_4.0.2 grid_4.0.2 lattice_0.20-44
```
--
Reply to this email directly or view it on GitHub:
#66 (comment)
You are receiving this because you are subscribed to this thread.
Message ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello
We have a weird divergence observed on our brand new DELL server. There is some kind of a limit (n=26) to which the algorithm will diverge and the variance will go to infinity. On other server, there are absolutely no divergence.
Here is what happen using your vignette:
Our full CPU info:
The text was updated successfully, but these errors were encountered: