These are chat archives for elemental/chat

29th
Jul 2016
Jack Poulson
@poulson
Jul 29 2016 02:23
awesome
Ryan H. Lewis
@rhl-
Jul 29 2016 05:41
jack is the python bindings for both python 2 and python 3?
Jack Poulson
@poulson
Jul 29 2016 05:41
python 2
it would probably be a two day project to add python 3 support
maybe just an afternoon
who knows
Ryan H. Lewis
@rhl-
Jul 29 2016 05:42
i dont need it
there are like a zillion subpackages for elemental
im just dividing up all the install media into its appropriate places
it appears to not install a LICENSE file
and a COPYRIGHT file
Jack Poulson
@poulson
Jul 29 2016 05:42
that is fairly normal
Ryan H. Lewis
@rhl-
Jul 29 2016 05:42
is there a make documentation ?
Jack Poulson
@poulson
Jul 29 2016 05:43
the copyright is in every file
as is the essence of the license statement
no, the docs are in the elemental-web repo
and they are horrifically outdated
Ryan H. Lewis
@rhl-
Jul 29 2016 05:43
"
If the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %license. If the source package does not include the text of the license(s), the packager should contact upstream and encourage them to correct this mistake." https://fedoraproject.org/wiki/Packaging:LicensingGuidelines
Jack Poulson
@poulson
Jul 29 2016 05:44
the LICENSE file in the root directory should suffice
you're suggesting installing it...where?
Ryan H. Lewis
@rhl-
Jul 29 2016 05:46
good question
I dont remember offhand, doesn't cmake have a license directory macro?
Jack Poulson
@poulson
Jul 29 2016 05:47
perhaps, but I've never run into it
Ryan H. Lewis
@rhl-
Jul 29 2016 05:55
according to #fedora-devel the install target of python is wrong
it needs to be some kind of site-packages thing
Jack Poulson
@poulson
Jul 29 2016 05:55
that is optionally supported already
Ryan H. Lewis
@rhl-
Jul 29 2016 05:55
oh rly? how do I do that?
Ryan H. Lewis
@rhl-
Jul 29 2016 05:58
so just
-DINSTALL_PYTHON_PACKAGE=ON
Jack Poulson
@poulson
Jul 29 2016 05:59
-D INSTALL_PYTHON_INTO_USER_SITE=ON
Ryan H. Lewis
@rhl-
Jul 29 2016 06:00
is that instead of or in addition to?
Jack Poulson
@poulson
Jul 29 2016 06:00
instead of
err, both
Ryan H. Lewis
@rhl-
Jul 29 2016 06:01
thats what I thoight..
Jack Poulson
@poulson
Jul 29 2016 06:01
it would make sense to have that on by default
Ryan H. Lewis
@rhl-
Jul 29 2016 06:01
Jack Poulson
@poulson
Jul 29 2016 06:02
that is surprisingly simple
Ryan H. Lewis
@rhl-
Jul 29 2016 06:02
I know :)
i need to fix up all the descriptions and stuff
dev-ops is hard to get right
the output always looks simple
what is the sandbox thing that is packaged
also, how exactly do you build the drivers
is that just EL_TESTS=ON ?
or is there a separate EL_DRIVERS ?
Jack Poulson
@poulson
Jul 29 2016 06:05
-D EL_TESTS=ON -D EL_EXAMPLES=ON
Ryan H. Lewis
@rhl-
Jul 29 2016 06:05
so does it make sense to EL_TESTS
Jack Poulson
@poulson
Jul 29 2016 06:05
yes
definitely at least the tests
Ryan H. Lewis
@rhl-
Jul 29 2016 06:05
thats another thing to probably clean up
kinda weird to ship unit tests
but ok
Jack Poulson
@poulson
Jul 29 2016 06:06
they are also performance tests
Ryan H. Lewis
@rhl-
Jul 29 2016 06:06
yeah, so some of them make sense to ship
Jack Poulson
@poulson
Jul 29 2016 06:06
I think it is a good idea to have them
the number one question I get is how to verify performance
Ryan H. Lewis
@rhl-
Jul 29 2016 06:07
do the binaries that are created depend on a specific MPICH
MPI rather
or are they ABI compatible?
Jack Poulson
@poulson
Jul 29 2016 06:07
yes
everything built on top of MPI does
(implementation specific I mean)
there isn't an MPI ABI
e.g., for some MPI_Comm is an int (e.g., MPICH), and for others it is a void * (e.g., OpenMPI)
Ryan H. Lewis
@rhl-
Jul 29 2016 06:08
and what about sandbox ?
and conf and CMake
Jack Poulson
@poulson
Jul 29 2016 06:08
that is the least resistance way to edit something and have it build
doesn't make sense to ship
but makes sense to have in a source distribution
Ryan H. Lewis
@rhl-
Jul 29 2016 06:09
can you remove it from install then?
looks like CMake doesn't make sense either
and conf/ElVars
Jack Poulson
@poulson
Jul 29 2016 06:09
ElVars is for simplifying writing a Makefile that uses El
PETSc distributes something similar
Ryan H. Lewis
@rhl-
Jul 29 2016 06:10
so do we want to ship it in an rpm?
Jack Poulson
@poulson
Jul 29 2016 06:10
I don't know
I don't see what it hurts
Ryan H. Lewis
@rhl-
Jul 29 2016 06:11
I guess we need to figure out where it goes in the filesystem
Jack Poulson
@poulson
Jul 29 2016 06:11
it is a tiny text file that potentially saves a lot of time
Ryan H. Lewis
@rhl-
Jul 29 2016 06:11
its not in doc
Jack Poulson
@poulson
Jul 29 2016 06:11
but if the RPM installation path isn't known a priori, it can't be generated
Ryan H. Lewis
@rhl-
Jul 29 2016 06:11
hm?
Jack Poulson
@poulson
Jul 29 2016 06:12
assuming RPMs are built before-hand
Ryan H. Lewis
@rhl-
Jul 29 2016 06:12
its looking good
or are ${EL_INC} wrong?
Jack Poulson
@poulson
Jul 29 2016 06:12
is there no QD for Fedora?
Ryan H. Lewis
@rhl-
Jul 29 2016 06:12
QD?
Jack Poulson
@poulson
Jul 29 2016 06:12
Quad Double
Ryan H. Lewis
@rhl-
Jul 29 2016 06:13
idk what are you talking about
Jack Poulson
@poulson
Jul 29 2016 06:13
I guess we can add QD and MPFR/MPC support later
it is a quad precision package
Ryan H. Lewis
@rhl-
Jul 29 2016 06:13
oh yeah, the thing is that we want them to be optional packages
for the purposes of licensing
Jack Poulson
@poulson
Jul 29 2016 06:13
"QD_INCLUDES-NOTFOUND" was in the file you linked
Ryan H. Lewis
@rhl-
Jul 29 2016 06:13
oh, yeah, could be a bug, because I didn't enable that stuff
it would be nice to make the non BSD-ish stuff in a separate library
so when you want to install the BSD stuff you can do it and the LGPL /GPL things happen optionally
that may require some code change
so lets hold off on it
Jack Poulson
@poulson
Jul 29 2016 06:15
agreed
I need to figure out where to install a couple of MatrixMarket matrices as well
Ryan H. Lewis
@rhl-
Jul 29 2016 06:16
so there are definitely a place for that
cant remember the directory
Jack Poulson
@poulson
Jul 29 2016 06:17
I guess I can do what I did for examples/number_theory and just put them there so that they are autoinstalled next to the drivers that use them
Ryan H. Lewis
@rhl-
Jul 29 2016 06:17
ah yeah
/usr/share
%{_datadir}
so im just going to do this:
mkdir -p %{datadir}
mv %{buildroot}/sandox %{datadir}
mv %{buildroot}/conf %{datadir}
mv %{buildroot}/CMake %{datadir}
Jack Poulson
@poulson
Jul 29 2016 06:22
sounds good to me!
Ryan H. Lewis
@rhl-
Jul 29 2016 06:22
perhaps we can fix the CMake build to simply the spec/debian files later
Jack Poulson
@poulson
Jul 29 2016 06:22
hopefully a lot of this can be carried over to Debian
hah
agreed
Ryan H. Lewis
@rhl-
Jul 29 2016 06:23
well, debian packaging is totally different unfortunately
but they can use it as a guide
im sure alot of the rules are basically identical
i've never done this for debian though
this is the kind of thing it would be helpful to have jenkins for
travis is nice for a build, but, jenkins gives you like a web ui for the reporting of this stuff
haha just noticed you commented on the post
so I guess you've seen it :)
oh, you ASKED the question.
pfft
Jack Poulson
@poulson
Jul 29 2016 06:26
LOL
Ryan H. Lewis
@rhl-
Jul 29 2016 06:26
did you ever share the results of this?
Jack Poulson
@poulson
Jul 29 2016 06:27
I never had a eureka moment
Ryan H. Lewis
@rhl-
Jul 29 2016 06:27
i bet if you send the results to the gcc folks they can tell you whats up
also, there is a gcc/clang meetup
you should go
sorry, its an LLVM meetup actually
so no gcc
chandler pays for basically everything
its great
Jack Poulson
@poulson
Jul 29 2016 06:29
I went to that once a few years ago
at Tied House
and they indeed paid for everything
it was a good experience
Ryan H. Lewis
@rhl-
Jul 29 2016 06:32
how are you doing quaddouble
Jack Poulson
@poulson
Jul 29 2016 06:33
I wrap the QD package
and build my own Complex type on top of it
Ryan H. Lewis
@rhl-
Jul 29 2016 06:33
where is this QD package?
is it the fortran libquadmath ?
no, that corresponds to elemental's Quad type
QD is built on four doubles
Ryan H. Lewis
@rhl-
Jul 29 2016 06:34
I see
Jack Poulson
@poulson
Jul 29 2016 06:34
Quad is IEEE 128 bit
(and is much slower)
Ryan H. Lewis
@rhl-
Jul 29 2016 06:34
Oh, QD exists in fedora
do you need to specifically enable this
or does it just work if qd-devel is found?
Jack Poulson
@poulson
Jul 29 2016 06:36
it works if qd is found
unless you disable it
same with MPFR and MPC
for enabling arbitrary-precision
Ryan H. Lewis
@rhl-
Jul 29 2016 06:36
Ok, so im just adding BuildRequires qd-devel
since its BSD
does it add any extra so or binary?
or is it just more symbols?
Jack Poulson
@poulson
Jul 29 2016 06:37
it isn't building anything extra
it just instantiates templates for more types
err, there are thin wrappers for QD and MPFR
for the classes
Ryan H. Lewis
@rhl-
Jul 29 2016 06:38
right
Jack Poulson
@poulson
Jul 29 2016 06:39
Elemental now has arbitrary precision eigensolvers
which is fairly novel
Ryan H. Lewis
@rhl-
Jul 29 2016 06:45
sweet :)
so, once I get this done
I'll issue a PR for Elemental
I think we should immediately make a release candidate on El mainline
and then setup copr to build it
agreed?
Jack Poulson
@poulson
Jul 29 2016 06:47
I'd like the D&C SVD in
Ryan H. Lewis
@rhl-
Jul 29 2016 06:47
yeah
its not a release
its a release candidate
right?
i mean, we can wait on it
i guess
but, it would be nice to setup the infrastructure
i guess perhaps I should do this in a separate git repository actually
like Elemental/specfile
and then copr can setup webhooks to it so that it auto builds the rpms everytime we commit to master of it
then I can keepp the RPM as is
infact, lets do that now..
Jack Poulson
@poulson
Jul 29 2016 06:50
go for it then
Ryan H. Lewis
@rhl-
Jul 29 2016 06:50
can I get permissions to add the repo?
Jack Poulson
@poulson
Jul 29 2016 06:51
ad what repo?
Ryan H. Lewis
@rhl-
Jul 29 2016 06:51
in the Elemental project
lets add a specfile repo
idk what we call it
rpm
Elemental/rpm ?
Jack Poulson
@poulson
Jul 29 2016 06:52
I just upgraded your permissions in the org
Ryan H. Lewis
@rhl-
Jul 29 2016 06:52
I think i need to join the Elemental team or whatever
Jack Poulson
@poulson
Jul 29 2016 06:52
the invitation is out
Ryan H. Lewis
@rhl-
Jul 29 2016 06:52
it shows me in scibuilder not elemental
Jack Poulson
@poulson
Jul 29 2016 06:53
I sent the invitation two minutes ago
Ryan H. Lewis
@rhl-
Jul 29 2016 06:53
gotit
does rpm sound good?
Jack Poulson
@poulson
Jul 29 2016 06:54
sure
Ryan H. Lewis
@rhl-
Jul 29 2016 07:23
... and I set up something wrong.
Ok, I see, I need to send src.rpm's to the thing
Ryan H. Lewis
@rhl-
Jul 29 2016 15:25
@poulson they supposedly fixed scalapack in fedora