These are chat archives for elemental/chat

7th
Aug 2016
Ryan H. Lewis
@rhl-
Aug 07 2016 00:28
@poulson is this for real: CMake Error at CMakeLists.txt:15 (cmake_minimum_required):
CMake 2.8.12 or higher is required. You are running version 2.8.11
Jack Poulson
@poulson
Aug 07 2016 00:31
yes, 2.8.12 isn't particularly new
what is so crazy about that?
I only upgraded the CMake version dependence as needed
Ryan H. Lewis
@rhl-
Aug 07 2016 00:35
can we use 2.8.11 ?
or is 2.8.12 an absolute requirement
2.8.11 is default in centos 7
Jack Poulson
@poulson
Aug 07 2016 00:35
AFAIK, it was an absolute requirement at one point
but it's possible it isn't
that version bump was years ago
you can look for when it was bumped in the commit history
elemental/Elemental@b0fae8f
Jack Poulson
@poulson
Aug 07 2016 00:40
I believe it was for RPATH support on OS X: https://cmake.org/pipermail/cmake/2013-October/056020.html
so it is likely that the minimum version is lower on non OS X systems
after going through the 2.8.12 release notes, it should be fine to branch as follows:
if(APPLE)
  cmake_minimum_required(2.8.12)
else()
  cmake_minimum_required(2.8.11)
endif()
with a comment about RPATH support in the APPLE branch being appropriate
Jack Poulson
@poulson
Aug 07 2016 00:45
pushed
Ryan H. Lewis
@rhl-
Aug 07 2016 01:47
oh, great :)
Ryan H. Lewis
@rhl-
Aug 07 2016 02:08
Jack Poulson
@poulson
Aug 07 2016 02:08
glorious!
Ryan H. Lewis
@rhl-
Aug 07 2016 02:09
I am trying to get support in for RHEL/CentOS 5,6,7, looks like Centos 7 is working
For Centos 5 I need to do some more hacking, to get it to find a newer cmake
do you have access to a centos 6.5 box by any chance?
Jack Poulson
@poulson
Aug 07 2016 02:12
no, I do not
it would be possible to set up a CentOS 6.5 VM
but my hands are full trying to finish the D&C SVD right now
Ryan H. Lewis
@rhl-
Aug 07 2016 02:13
elena is on my desktop where docker is
:(
Jack Poulson
@poulson
Aug 07 2016 02:13
we could add docker support to Jenkins
with a CentOS 6.5 VM
Ryan H. Lewis
@rhl-
Aug 07 2016 02:14
we also have this copr repository
which has slaves for all the OSes
and it supports hooks
so supposedly we can ask it to rebuild everytime we commit to elemental
Jack Poulson
@poulson
Aug 07 2016 02:18
that would require a huge amount of resources
that is free?
Ryan H. Lewis
@rhl-
Aug 07 2016 02:22
yeah, the copr stuff is all free
(not sure why, but, thanks fedora)
Jack Poulson
@poulson
Aug 07 2016 02:24
seriously; that could potentially tie up several machines nearly continuously
Ryan H. Lewis
@rhl-
Aug 07 2016 02:24
well, they gave it to us for free.
(well, me, more specifically)
Jack Poulson
@poulson
Aug 07 2016 02:24
ah
Ryan H. Lewis
@rhl-
Aug 07 2016 02:25
but, i'm donating this to elemental
so
whatever
Jack Poulson
@poulson
Aug 07 2016 02:25
what was the reason for the gift to you?
Ryan H. Lewis
@rhl-
Aug 07 2016 02:25
im not sure its a gift
but, I am a fedora packager with a fas account
and so anyone with a fas account gets access
Jack Poulson
@poulson
Aug 07 2016 02:25
ah, that makes sense
I am guessing they are expecting you to exercise discretion
Ryan H. Lewis
@rhl-
Aug 07 2016 02:26
honestly the thing is getting hammered much harder than elemental could deal
it looks like they rebuild all of fedora on multiple architectures
for many versions of fedora
Jack Poulson
@poulson
Aug 07 2016 02:26
wow
I don't want to know what that bill is
Ryan H. Lewis
@rhl-
Aug 07 2016 02:27
redhat has the $$
Ryan H. Lewis
@rhl-
Aug 07 2016 02:35
El5 probably wont ever work
Jack Poulson
@poulson
Aug 07 2016 02:35
huh?
Centos 6.5 rpms
Jack Poulson
@poulson
Aug 07 2016 02:36
ah, it seems they are missing a ton
Ryan H. Lewis
@rhl-
Aug 07 2016 02:36
granted we could turn off METIS and scalapack isn't actually being used
but devtoolset-2 not working for some reason is a bit weird.
Jack Poulson
@poulson
Aug 07 2016 02:54
ScaLAPACK is used for the distributed Schur
and within the distributed pseudospectra routines
Ryan H. Lewis
@rhl-
Aug 07 2016 18:30
Jack Poulson
@poulson
Aug 07 2016 18:35
FYI: I just submitted an issue for bugs in LAPACK's divide-and-conquer SVD: Reference-LAPACK/lapack#34
@rhl- Internal g++ compiler error?
I don't see the version of g++ printed
my guess is it is not a newer version
Ryan H. Lewis
@rhl-
Aug 07 2016 19:16
@poulson the g++ version is the version in fedora rawhide, so, probably 5.x.x
Jack Poulson
@poulson
Aug 07 2016 19:17
then perhaps it is too new?
internal g++ failures are surprisingly common
Ryan H. Lewis
@rhl-
Aug 07 2016 19:18
yeah
Jack Poulson
@poulson
Aug 07 2016 19:18
everyone says compiler bugs are rare, but I disagree
Ryan H. Lewis
@rhl-
Aug 07 2016 19:18
it doesnt really matter terribly
ive been able to get el7, f22, f23, f24 and fedora rawhide builds on x86_64 and i386
i am struggling with el6 which is the more important case for me.
devtoolset is not working for some reason within the rpm build spec file environment
Jack Poulson
@poulson
Aug 07 2016 19:24
is it a problem on Elemental's end?
Ryan H. Lewis
@rhl-
Aug 07 2016 19:24
no
its a problem with the environment, trying to ask the #fedora-devel ppl for help is like waiting for paint to dry on a sunday
Jack Poulson
@poulson
Aug 07 2016 19:25
volunteer effort and all that
Ryan H. Lewis
@rhl-
Aug 07 2016 19:26
yeah
Ryan H. Lewis
@rhl-
Aug 07 2016 19:39
gcc 6.1.1 on rawhide
yeah, a bit too new.
Ryan H. Lewis
@rhl-
Aug 07 2016 20:31
ok, I think i got the build going on el6 x86_64
i'm going to call it "done"
we dont need el6 i386
Ryan H. Lewis
@rhl-
Aug 07 2016 20:38
@poulson i've added a webhook to elemental github repo to have copr build it
not sure if it works
Once things start working a bit better i'll try it out locally and then i'll update the documentation
Jack Poulson
@poulson
Aug 07 2016 20:58
will it display something if it succeeds?
once it's hardened it might make sense to add a badge to the README.md
Ryan H. Lewis
@rhl-
Aug 07 2016 20:59
once it succeeds its a honest to goodness RPM repository
i'm looking into the el build times again
Jack Poulson
@poulson
Aug 07 2016 20:59
actual regular releases of Elemental? pssh
0.85 forever
Ryan H. Lewis
@rhl-
Aug 07 2016 21:00
hahaa
on your linode
we could setup sonarqube
not sure if there is an OSS version of that
Jack Poulson
@poulson
Aug 07 2016 21:02
uh...7000 pounds per year?
Ryan H. Lewis
@rhl-
Aug 07 2016 21:02
wrong link :P
not sure if the C/C++ stuff is free or expensive though
looks like there is a community version: https://github.com/SonarOpenCommunity/sonar-cxx
Jack Poulson
@poulson
Aug 07 2016 21:03
most of the nastiness in Elemental is the dependence on unmaintained open source C/Fortran projects
Ryan H. Lewis
@rhl-
Aug 07 2016 21:04
sonar is really useful for pointing out where we are missing test coverage.
Jack Poulson
@poulson
Aug 07 2016 21:04
everywhere? :-)
Ryan H. Lewis
@rhl-
Aug 07 2016 21:04
well, it organizes the data
Jack Poulson
@poulson
Aug 07 2016 21:05
there's definitely no harm in finding issues in the C++ layer
Ryan H. Lewis
@rhl-
Aug 07 2016 21:05
jenkins may just have a plugin for c++ code coverage though
@poulson benchmarks are important
google only reports like 50% coverage.
Jack Poulson
@poulson
Aug 07 2016 21:10
improving the foundational dependencies is equally as important
Ryan H. Lewis
@rhl-
Aug 07 2016 21:10
what do you mean?
Jack Poulson
@poulson
Aug 07 2016 21:11
I mean that only analyzing the current C++ layer ignores everything about PMRRR, METIS, LAPACK, ScaLAPACK, etc.
Ryan H. Lewis
@rhl-
Aug 07 2016 21:11
yeah, for sure
we should honestly just rewrite METIS
Jack Poulson
@poulson
Aug 07 2016 21:12
with that said, over time I expect there to be fewer dependencies
agreed, but I'm working on removing eigensolver dependencies right now
Ryan H. Lewis
@rhl-
Aug 07 2016 21:12
makes sense
how is D&C coming?
Jack Poulson
@poulson
Aug 07 2016 21:12
ideally I can drop ScaLAPACK dependence for Schur in the next year
Ryan H. Lewis
@rhl-
Aug 07 2016 21:13
that would be cool
Jack Poulson
@poulson
Aug 07 2016 21:13
slow but steady
Ryan H. Lewis
@rhl-
Aug 07 2016 21:18
@poulson can you help me fix the spec files descriptions and summaries?
Jack Poulson
@poulson
Aug 07 2016 21:18
what needs to be fixed?
Ryan H. Lewis
@rhl-
Aug 07 2016 21:19
well, I just wrote stuff
sometimes its just nonsense
other times copied and pasted
i can fix some of it
infact, let me do that quick then i'll ask you to finish it with whatever makes sense to you
Jack Poulson
@poulson
Aug 07 2016 21:20
why not use the GitHub short summary?
"Distributed-memory, arbitrary-precision, dense and sparse-direct linear algebra, conic optimization, and lattice reduction"
I need a better word for supporting float, double, DoubleDouble, ..., BigFloat than just "arbitrary" precision
Ryan H. Lewis
@rhl-
Aug 07 2016 21:22
Elemental supports a wide varied of underlying precisions, allowing computation in the following types: <list>
Jack Poulson
@poulson
Aug 07 2016 21:24
that works for now but "builds on top of" BLAS, LAPACK, and MPI is increasingly becoming an understatement
Ryan H. Lewis
@rhl-
Aug 07 2016 21:24
what do you mean?
Jack Poulson
@poulson
Aug 07 2016 21:25
eventually there will be no LAPACK dependence
not so far in the future
and BLAS and LAPACK do not support anything beyond float and double
so all the support outside of those datatypes does not make use of BLAS or LAPACK
likewise there is no number theory or lattice reduction in BLAS or LAPACK
or optimization
or sparse-direct solvers
but this is all nit-picking
Ryan H. Lewis
@rhl-
Aug 07 2016 21:27
right, so say just that, no I don't think its nitpicking, it's quite important.
Jack Poulson
@poulson
Aug 07 2016 21:27
the important thing is that there is a package
Ryan H. Lewis
@rhl-
Aug 07 2016 21:27
I would write this:
Elemental builds on top of industry standard technologies like BLAS/LAPACK and MPI. But this is an understatement, We expand up the standard types of <blah> to add support for <blah..>. It is perhaps better said that Elemental is like LAPACK on crack. We contribute our improvements upstream (links you showed me)
Jack Poulson
@poulson
Aug 07 2016 21:30
cough
Ryan H. Lewis
@rhl-
Aug 07 2016 21:31
feel free to tone down my rather hyperbolic language
but, thats my rough draft
Jack Poulson
@poulson
Aug 07 2016 21:32
what is wrong with yanking from the README.md?
Ryan H. Lewis
@rhl-
Aug 07 2016 21:33
yanking what?
i'm doing that actually.. apparently summaries are too long though, I'm using elemental description info
Jack Poulson
@poulson
Aug 07 2016 21:33
summary text
Ryan H. Lewis
@rhl-
Aug 07 2016 21:33
from README.txt
any idea on how to quickly generate man pages for all the examples?
Jack Poulson
@poulson
Aug 07 2016 21:36
use the "--help" output?
Ryan H. Lewis
@rhl-
Aug 07 2016 21:42
man pages are really silly for this
Jack Poulson
@poulson
Aug 07 2016 21:42
agreed
Ryan H. Lewis
@rhl-
Aug 07 2016 21:53
ok, i believe I fixed all the spec lint issues themselves
Jack Poulson
@poulson
Aug 07 2016 21:54
was that blocking the build?
or was it more like a warning?
Ryan H. Lewis
@rhl-
Aug 07 2016 21:54
more like warnings, there are few more serious issues like, i made elemental claim ownership of /usr/share/doc or something
easyish to fix
they only block acceptance into fedora repositories.
Jack Poulson
@poulson
Aug 07 2016 22:14
cool! how should we make use of this now functioning?
Ryan H. Lewis
@rhl-
Aug 07 2016 23:31
The idea is that you can install the rpm package through copr. And uh, well, apparently I broke it. but I can't figure out how.
e.g. the builds are all failing
i'm trying it again. One thing we can do is use the spec file as a basis for inclusion into fedora package repositories proper
right now you can install with something line 'dnf/yum enable copr/rhl && dnf install elemental' although I haven't yet tried.
and I haven't had a single collection of successful builds
so i think it hasn't published any RPMS
Ryan H. Lewis
@rhl-
Aug 07 2016 23:40
not sure what I did, but it looks like i might have fixed the builds.
the spec file syntax is weird.
Ryan H. Lewis
@rhl-
Aug 07 2016 23:45
@poulson here is how it works: https://paste.fedoraproject.org/404086/06135021/
every time a build succeeds it updates the repo
@poulson once we make real releases we should update the spec file to point Source0 at it, then we can submit the package for inclusion into fedora mainline