These are chat archives for elemental/chat

3rd
Aug 2016
Ryan H. Lewis
@rhl-
Aug 03 2016 02:58
@poulson: are you aware of a specialization of mkl::csrmv for the binary case?
Jack Poulson
@poulson
Aug 03 2016 02:59
nope, but every test I or anyone I know has performed shows it is faster to hand code than use those functions
(in the floating-point case)
Ryan H. Lewis
@rhl-
Aug 03 2016 03:01
@andreasnoack way to find a factor of two in the build :)
now find me a factor of 10
are there existing unit tests for Multiply?
Jack Poulson
@poulson
Aug 03 2016 03:06
yes, in combination with the sparse-direct solvers
the residuals of b - A*x after solving x = A \ b are measured to be O(eps)
Ryan H. Lewis
@rhl-
Aug 03 2016 03:08
is that TestSparseDirect?
Jack Poulson
@poulson
Aug 03 2016 03:08
all the routines starting with Sparse intests/lapack_like/
Ryan H. Lewis
@rhl-
Aug 03 2016 03:08
right
so also, I added Multiply( Graph, Matrix<T>, Matrix<T>) how about the distributed variants? do they come for free?
e.g. Multiply( DistGraph, DistMatrix, Distmatrix)
that is presumably the same as Multiply( SparseMatrix, DistMatrix, DistMatrix)
oh wait
nvm
im an idiot
Ryan H. Lewis
@rhl-
Aug 03 2016 03:14
somehow in my PR I revert a change away from DistMultiVec..
not sure how that happened.
Jack Poulson
@poulson
Aug 03 2016 03:14
I would recommend essentially just slightly modifying the distributed sparse matrix-vector products to do the graph version
i'm not sure how it happens that I am changing the signature back..
Jack Poulson
@poulson
Aug 03 2016 03:16
yea...that is a bit weird but should be able to see what went on with the commit history
Ryan H. Lewis
@rhl-
Aug 03 2016 03:16
in Multiply.cpp I seem to have the MultiVec implemenation.
Is that not what is in master?
Jack Poulson
@poulson
Aug 03 2016 03:17
I'm not sure what you're asking
Ryan H. Lewis
@rhl-
Aug 03 2016 03:18
did you already remove DistMultiVec?
Jack Poulson
@poulson
Aug 03 2016 03:18
no
Ryan H. Lewis
@rhl-
Aug 03 2016 03:18
ah, so, I guess I just changed the signature then
but not the impl
I was presumably intending to do this
Ryan H. Lewis
@rhl-
Aug 03 2016 03:24
how about using something like this within cmake: find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)
or even better: -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
Jack Poulson
@poulson
Aug 03 2016 03:52
is that possible?
Ryan H. Lewis
@rhl-
Aug 03 2016 03:56
both found from google
apparently there is something wrong with it says noack
Jack Poulson
@poulson
Aug 03 2016 03:57
hmm
Yves Ineichen
@iff
Aug 03 2016 10:57
@poulson : there is still a CMAKE_INSTALL_PREFIX in the cmake build scripts: https://github.com/elemental/Elemental/blob/master/cmake/configure_files/environment.py.in#L13
Why? Would something like lib = ctypes.cdll.LoadLibrary("@CMAKE_SHARED_LIBRARY_PREFIX@El@CMAKE_SHARED_LIBRARY_SUFFIX@") make more sense?
Andreas Noack
@andreasnoack
Aug 03 2016 12:14
I used DCMAKE_CXX_COMPILER_LAUNCHER=ccache in the first version and it worked but I decided to use the symlinks instead for some reason. I still don't remember why so maybe I should just try to use it again and see what happens.
Jack Poulson
@poulson
Aug 03 2016 15:04
@iff Good point. That would make more sense given @rhl's recent GNU dirs change (it should have been fine before hand)
But @CMAKE_INSTALL_PREFIX@ is not automatically added to the Python path
so I found it necessary to specify it in the past
Yves Ineichen
@iff
Aug 03 2016 15:11
Fine. I'll try to clean up the simple CMake deb package next week. Once its submitted you can decide if you want to use it or rather wait for someone to work on a conan (or similar) solution..
Jack Poulson
@poulson
Aug 03 2016 15:23
I don't see what would be wrong with providing all of the above
but, for what it's worth, I think a Debian package is the most important
but, for sure, you are right that the current line is no longer guaranted to work and should use CMAKE_INSTALL_LIBDIR instead of hardcoding lib
but if you are more versed in python that me and know the proper means of ensuring that PYTHONPATH contains the installation directory, it would be great to remove the CMAKE_INSTALL_PREFIX prefix
Jack Poulson
@poulson
Aug 03 2016 15:30
elemental/Elemental@de131a1