## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
• Dec 17 2021 09:42
JBlaschke opened #5
• Jul 25 2021 14:53
PierreMarchand20 closed #255
• Apr 09 2021 01:34
tldahlgren commented #254
• May 02 2020 14:21
ernstbrunr51 commented #278
• Apr 29 2020 20:49
yurivict opened #278
• Apr 24 2020 18:55
ernstbrunr51 closed #277
• Apr 24 2020 18:55
ernstbrunr51 commented #277
• Apr 24 2020 18:04
poulson commented #277
• Apr 24 2020 10:34
ernstbrunr51 opened #277
• May 14 2019 01:33
poulson closed #276
• May 14 2019 01:33
poulson commented #276
• May 14 2019 01:30

poulson on master

• May 14 2019 01:24

poulson on master

• May 10 2019 21:37
jedbrown commented #276
• May 10 2019 21:25
poulson commented #276
• May 10 2019 21:21
jedbrown commented #276
• May 10 2019 17:08
poulson commented #276
• May 10 2019 17:03
tesch1 opened #276
• Apr 10 2019 13:18
JM1 commented #275
• Apr 10 2019 13:16
JM1 synchronize #275
Jack Poulson
@poulson
assuming roughly a 3 thousand by 3 thousand matrix
ScaLAPACK uses the QR algorithm
have you tested Elemental's QR algorithm on it?
Aidan Dang
@AidanGG
is that through bidiagSVDctrl.useQR?
Jack Poulson
@poulson
yes, that is the best way
Aidan Dang
@AidanGG
Ok, it still doesn't work
Jack Poulson
@poulson
what is the error/exception?
Aidan Dang
@AidanGG
Did not converge all singular values
Jack Poulson
@poulson
one can increase the maximum number of iterations to see if it was almost converging
Aidan Dang
@AidanGG
Is that qrCtrl.maxIterPerVal?
Jack Poulson
@poulson
bidiagSVDCtrl.qrCtrl.maxIterPerVal = 20 could be tried
yes
Also, did you verify that ScaLAPACK returned with INFO=0?
Aidan Dang
@AidanGG
Oh, I haven't, but the final results were sensible, so I assumed it was ok
Jack Poulson
@poulson
I would recommend checking for the sake of consistency, as it could very well be that there is one small troublesome singular value
Aidan Dang
@AidanGG
Jack Poulson
@poulson
you can also tell Elemental not to worry if the singular values don't all converge
Aidan Dang
@AidanGG
those are my distmatrix.bin and test script
I've tried setting qrctrl.demandconverged to false, but I don't think that worked either
Jack Poulson
@poulson
it still complained about not converging?
I haven't tested that option explicitly but tried to set it up
I have about ten minutes to make/drink coffee, figure this out, and run to work but can hopefully find something
Aidan Dang
@AidanGG
Please don't stress too much about it, you've been a great help.
If I set demandconverged to false, it appears to hang
Jack Poulson
@poulson
something seems to be wrong with that file:
poulson@poulson-ASUS:~/Source/Internal/Elemental/build-gcc\$ ./bin/sandbox-test
terminate called after throwing an instance of 'std::runtime_error'
what():  Expected file to be 8 bytes but found 63406096

Aborted (core dumped)
how did you create it?
Aidan Dang
@AidanGG
El::Write
I'm on 64 bit ints
Jack Poulson
@poulson
ah, I wonder if that's it
Aidan Dang
@AidanGG
I'll check it out.
Jack Poulson
@poulson
the metadata at the beginning of the file is an El::Int, and that size is variable
I think that is the problem with me trying to run with the 32-bit version
Aidan Dang
@AidanGG
I can get you a version with 32bit ints
after I get some sleep, because it's 3:30am here in Melbourne. Thanks so much for your support.
Jack Poulson
@poulson
no worries, I can build a 64-bit version and debug
get some sleep and I will fix it by tonight
Aidan Dang
@AidanGG
Hello again Jack, my issues with this matrix occur on the default 4 process grid (2x2 after my recent pull) if that is any help.
Jack Poulson
@poulson
does the problem occur on a single process?
Aidan Dang
@AidanGG
mpirun -np 1 appears to work fine, both with useQR true or false.
Aidan Dang
@AidanGG
I've checked with a modified version of the SVD test driver, and the results are good when I run on one process
Jack Poulson
@poulson
I found the problem
it is still there when there is a single process
it has to do with when to force a zero shift in the bidiagonal QR algorithm
essentially I was purposefully avoiding a check if the tolerance was only requested to be relative to the maximal singular value
but it seems the zero shift still needs to be carried out if the conditioning of the subbidiagonal is sufficiently bad
Aidan Dang
@AidanGG
I apologise, but I don't know too much about the actual details on the algorithm.
Jack Poulson
@poulson
no worries, it's something for me to fix, but thankfully it will just be a few lines