These are chat archives for elemental/chat

27th
Aug 2016
Ryan H. Lewis
@rhl-
Aug 27 2016 04:00
@poulson: turned out the problem was due to File I/O, everything is working as expected now.
Ryan H. Lewis
@rhl-
Aug 27 2016 05:19
@poulson: ping?
Jack Poulson
@poulson
Aug 27 2016 15:08
Pong
I would like to get a Henry/Walker/Dongarra style distributed Hessenberg QR impl' in before the official release so that dropping Scalapack as a default dependency does not sacrifice any serious functionality
This will help with the Debian package
I think I can have it working by tomorrow night if I scramble
Ryan H. Lewis
@rhl-
Aug 27 2016 16:13
Is that a bulge chasing type thing?
Jack Poulson
@poulson
Aug 27 2016 16:35
yes
Ryan H. Lewis
@rhl-
Aug 27 2016 17:28
I actually wrote some code for that once
@poulson: lets set a date and release version number and then lets create a milestone in GitHub
Ryan H. Lewis
@rhl-
Aug 27 2016 17:55
@poulson: found the code: https://github.com/rhl-/qr
this is not necessarily efficient
Ryan H. Lewis
@rhl-
Aug 27 2016 18:06
I think its only a distributed hessenberg too
i think we never finished the actual bulge chasing
Jack Poulson
@poulson
Aug 27 2016 18:08
do you mean it was a distributed reduction to Hessenberg form?
Ryan H. Lewis
@rhl-
Aug 27 2016 18:08
yeah
Jack Poulson
@poulson
Aug 27 2016 18:09
what kind of data distribution?
Ryan H. Lewis
@rhl-
Aug 27 2016 18:09
each processor gets a block
its not much code.. and i'm sure you could improve upon it greatly
its been a long time since I thought about that
this was for something at Stanford
lexing's class or something
its not really high quality
you presumably have a distributed hessenberg already
Jack Poulson
@poulson
Aug 27 2016 18:11
even if it isn't, it's an impressive goal
yes, Elemental has distributed blocked algorithms for reducing to Hessenberg form
Ryan H. Lewis
@rhl-
Aug 27 2016 18:11
this used boost::ublas
i didn't know about elemental then
Jack Poulson
@poulson
Aug 27 2016 18:12
there are sequential Aggressive Early Deflation Hessenberg QR algorithms but not yet a distributed version
Ryan H. Lewis
@rhl-
Aug 27 2016 18:15
yeah so the QR iteration looks like its only serial, and the hessenberg is distributed
Ryan H. Lewis
@rhl-
Aug 27 2016 18:21
So, I wanted to take a stab at the documentation
i was wondering if you have seen/considered cldoc ?
Jack Poulson
@poulson
Aug 27 2016 18:23
does it support LaTeX?
ReadTheDocs is the gold standard ATM
Ryan H. Lewis
@rhl-
Aug 27 2016 18:24
im not sure
the thing is that it autogenerates documentation with a doc coverage report
I was just wondering how to get a sense of what is needed and what is missing
also I was looking the ADMM solver for logisitic regression
do you know what is needed there?
and do you have an LBFGS?
Jack Poulson
@poulson
Aug 27 2016 18:27
what is needed in the docs is well-designed tutorials and content
autogeneration is not very helpful IMO
it is helpful as a reference but not as an introduction
Ryan H. Lewis
@rhl-
Aug 27 2016 18:27
i guess I was just thinking about understanding what is missing
Jack Poulson
@poulson
Aug 27 2016 18:27
what is missing is a complete rewrite
Ryan H. Lewis
@rhl-
Aug 27 2016 18:28
well, a reference for the API's is super useful
Jack Poulson
@poulson
Aug 27 2016 18:28
that's what the header files are
Ryan H. Lewis
@rhl-
Aug 27 2016 18:28
and the stuff you have looks good
no, thats not the same
there are things like preconditions and post conditions
and the Latex statements of the equations you solve inform you what the headers do
why do you want a complete rewrite, for me, most of the content has been largely accurate
Jack Poulson
@poulson
Aug 27 2016 18:29
huge amounts of things are completely undocumented
and huge amounts are out of date
there is virtually nothing there on the sparse functionality
there is nothing on the lattice reduction
there is nothing on the support for higher precision
Ryan H. Lewis
@rhl-
Aug 27 2016 18:29
right, so, thats why documentation coverage is useful, right?
Jack Poulson
@poulson
Aug 27 2016 18:30
there is nothing on the D&C SVD or EVD
there is nothing on the AED Hessenberg QR implementation
there is nothing on the number theory support
Ryan H. Lewis
@rhl-
Aug 27 2016 18:30
right, so, you see what I am saying?
generating coverage is a good first step
so autogeneration could perhaps give us a sense of where we are missing stuff
Jack Poulson
@poulson
Aug 27 2016 18:31
perhaps, but I do not consider autogenerated things to be documentation
it is more so scaffolding for documentation
Ryan H. Lewis
@rhl-
Aug 27 2016 18:32
yeah, exactly
Jack Poulson
@poulson
Aug 27 2016 18:32
but it doesn't suggest any path for the user to learn how to use the library
Ryan H. Lewis
@rhl-
Aug 27 2016 18:32
yeah, that makes sense
its likely that more people would be interested in tutorials for the bindings
than tutorials for C++ code itself
Jack Poulson
@poulson
Aug 27 2016 18:33
I am still horrified that I know people who have printed out the Elemental doc pdfs more than once
Ryan H. Lewis
@rhl-
Aug 27 2016 18:33
wow...
anyways, its hard for me to know what to add without first seeing what is missing
it would also seem reasonable to move just the HEAD documentation into the Elemental repository, and copy versions of it out to the website repo as needed
Jack Poulson
@poulson
Aug 27 2016 18:36
more important than what is missing is that a huge amount is out of date
I don't like the docs being in the main repo because it clutters the commit history
Ryan H. Lewis
@rhl-
Aug 27 2016 18:37
(not to sound crass, but, that is what auto generation is for)
@poulson: not sure what you mean, the documentation is just as important as the code itself.
Jack Poulson
@poulson
Aug 27 2016 18:38
perhaps, but it is useful to be able to filter
Ryan H. Lewis
@rhl-
Aug 27 2016 18:38
if anything the documentation is more important :)
Jed Brown
@jedbrown
Aug 27 2016 18:39
@poulson What do you mean by not wanting docs in the main repo? That sounds like asking for it to be even more out of date.
Ryan H. Lewis
@rhl-
Aug 27 2016 18:39
@jedbrown +1
Jed Brown
@jedbrown
Aug 27 2016 18:39
By having it in the main repo, the expectation is that docs are updated concurrently with changes to the library.
Ryan H. Lewis
@rhl-
Aug 27 2016 18:40
@jedbrown +1
Jed Brown
@jedbrown
Aug 27 2016 18:40
Or do you just mean that generated docs shouldn't be checked in?
Jack Poulson
@poulson
Aug 27 2016 18:40
certainly the generated docs should not be
Ryan H. Lewis
@rhl-
Aug 27 2016 18:40
yeah, no question about that
Jack Poulson
@poulson
Aug 27 2016 18:40
Elemental's docs used to be in a doc/ subfolder back when GitHub pages required a separate branch
it caused huge pains
Ryan H. Lewis
@rhl-
Aug 27 2016 18:41
i dont understand what github pages have to do with this
Jack Poulson
@poulson
Aug 27 2016 18:41
it has been a while since the switch was made to a separate elemental-web page, which was more general and for the whole website
it used to be that the GitHub repo served the docs as well
Ryan H. Lewis
@rhl-
Aug 27 2016 18:46
ah, I see
that is not necessary :)
we can use jenkins to update the docs nightly
Jack Poulson
@poulson
Aug 27 2016 18:47
there still needs to be a repo for the website itself
and it's useful to have the docs there
Ryan H. Lewis
@rhl-
Aug 27 2016 18:47
yeah, that can stay where it is
Jack Poulson
@poulson
Aug 27 2016 18:47
unless the website repo is supposed to pull from the main repo
Ryan H. Lewis
@rhl-
Aug 27 2016 18:47
you can use jenkins to do all of this
exactly how its setup is somewhat irrelevant
you can compile and copy and commit or use git submodules
Jack Poulson
@poulson
Aug 27 2016 18:48
git submodules should be avoided at all costs due to not being supported by GitHub
Ryan H. Lewis
@rhl-
Aug 27 2016 18:48
ok, I mean, all I am saying is that its just a small bash script
whatever it is
and it can be stuck in jenkins
Jack Poulson
@poulson
Aug 27 2016 18:49
sounds fine to me now that there is a Jenkins
Ryan H. Lewis
@rhl-
Aug 27 2016 18:50
is the next release v 0.87 ?
Jack Poulson
@poulson
Aug 27 2016 18:50
yes, given the mess around releasing 0.86, let's 86 the 0.86 release
Ryan H. Lewis
@rhl-
Aug 27 2016 18:51
want to say we will release Sep 3?
Jack Poulson
@poulson
Aug 27 2016 18:51
we should release when we have packages ready
Ryan H. Lewis
@rhl-
Aug 27 2016 18:51
debian packages?
Jack Poulson
@poulson
Aug 27 2016 18:51
which seems to require ditching ScaLAPACK
which seems to require me implementing a distributed Hessenberg QR
Ryan H. Lewis
@rhl-
Aug 27 2016 18:51
ok
I think we should follow a "train leaving the station" model
Jack Poulson
@poulson
Aug 27 2016 18:52
METIS and ParMETIS will still cause headaches
Elemental needs its own AMD reorderings anyway
Ryan H. Lewis
@rhl-
Aug 27 2016 18:57
I've created the GitHub Milestone, and i'm adding issues.
Jack Poulson
@poulson
Aug 27 2016 18:57
thanks!
Ryan H. Lewis
@rhl-
Aug 27 2016 18:57
What was the thing you added recently? was there an issue for it?
the D&C SVD?
Jack Poulson
@poulson
Aug 27 2016 18:58
something in the middle of my preference to add functionality forever and your desire to release every day is likely the right compromise
Ryan H. Lewis
@rhl-
Aug 27 2016 18:58
lol
Jack Poulson
@poulson
Aug 27 2016 18:58
the D&C SVD was to greatly improve the distributed SVD performance
and also the high-precision sequential SVD perf.
Ryan H. Lewis
@rhl-
Aug 27 2016 18:59
Distributed D&C ?
Jack Poulson
@poulson
Aug 27 2016 18:59
yes, distributed D&C EVD and SVD needs to be stress tested
Ryan H. Lewis
@rhl-
Aug 27 2016 18:59
what is EVD?
Jack Poulson
@poulson
Aug 27 2016 18:59
eigenvalue decomposition
Ryan H. Lewis
@rhl-
Aug 27 2016 18:59
ah
Jack Poulson
@poulson
Aug 27 2016 18:59
the Travis tests are completely irrelevant when it comes to testing the distributed functionality
Ryan H. Lewis
@rhl-
Aug 27 2016 19:00
was there already issues for D&C ?
Jack Poulson
@poulson
Aug 27 2016 19:00
there was no D&C support in Elemental until a week or two ago
jedbrown @jedbrown cheers impending removal of ScaLAPACK.
Jack Poulson
@poulson
Aug 27 2016 19:01
I don't recall creating an issue for it
LOL
yes, distributed Hessenberg QR is the last step
the coda will be a faster implementation of the element-wise <-> block-wise redistributions
why did you create and immediately close an issue?
Ryan H. Lewis
@rhl-
Aug 27 2016 19:04
@poulson: because its done, I'm using it to just track the item
@poulson: github issues is quite inferior to JIRA for this sort of thing.
Jack Poulson
@poulson
Aug 27 2016 19:04
OK, it's worth noting that sent out 300 emails
Ryan H. Lewis
@rhl-
Aug 27 2016 19:05
haha, apologies.
Jack Poulson
@poulson
Aug 27 2016 19:05
in the past five minutes you have sent out nearly 1000 :-)
but look what I did :)
Jack Poulson
@poulson
Aug 27 2016 19:06
that is a nice checklist
Ryan H. Lewis
@rhl-
Aug 27 2016 19:06
cant tell if that was sarcastic
Jack Poulson
@poulson
Aug 27 2016 19:07
it's not sarcastic
Ryan H. Lewis
@rhl-
Aug 27 2016 19:07
Im setting the Sept 3rd deadline
I think we can meet it
I can also look into a pure .deb solution
Jack Poulson
@poulson
Aug 27 2016 19:09
OK. I'm likely to go dark for most of the weekend so that I can get the Hessenberg QR implemented
it's worth noting that there is an unfortunate habit of many users to just directly email me with their Elemental problems
one of the active ones is a supposed bug reported by an RPI student for this matrix: http://www.cise.ufl.edu/research/sparse/matrices/Bates/sls.html
Ryan H. Lewis
@rhl-
Aug 27 2016 19:11
if its not a ticket is doesn't exist :)
Jack Poulson
@poulson
Aug 27 2016 19:14
need to reproduce the bug before submitting issue
I also prefer not to spam the ever-living hell out of those watching the repo
Ryan H. Lewis
@rhl-
Aug 27 2016 19:14
you should tell that user to report it
Jack Poulson
@poulson
Aug 27 2016 19:15
but perhaps that is what is being asked for by 'watching' on GitHub
Ryan H. Lewis
@rhl-
Aug 27 2016 19:15
i think so :)
ok, i'm going to head out for a bit, when I get back ill look into debian packaging
actually, if you are still game for a hackathon we could do that tomorrow
Jack Poulson
@poulson
Aug 27 2016 21:19
I plan on working on the Hessenberg QR this weekend
happy to meet in person but that is what I think is my highest priority
Ryan H. Lewis
@rhl-
Aug 27 2016 21:25
makes sense
Jack Poulson
@poulson
Aug 27 2016 21:27
reproduced a crash in the sparse-direct least squares
will rerun in Debug mode to try to reproduce