These are chat archives for elemental/chat

21st
Nov 2016
Ryan H. Lewis
@rhl-
Nov 21 2016 00:52
@poulson do you have methods to update a cholesky factorization with a rank one update?
Jack Poulson
@poulson
Nov 21 2016 00:53
yes, see the CholeskyMod routines
Ryan H. Lewis
@rhl-
Nov 21 2016 00:56
I was thinking to modify the BFGS update to record H = LL’ and then update it twice with the rank one updates..
im not seeing whats going wrong
the line search is very simple, its hard to see what I could be doing incorrectly.
Jack Poulson
@poulson
Nov 21 2016 01:16
try the same problem with HANSO and see where they diverge
Ryan H. Lewis
@rhl-
Nov 21 2016 01:37
so when I installed octave
it decided to install a new gcc toolchain
with gfortan
and now I can’t compile anything.
Jack Poulson
@poulson
Nov 21 2016 01:38
you probably just need to specify the version number as well
e.g., gfortran-6
Ryan H. Lewis
@rhl-
Nov 21 2016 01:40
Getting this:
CMake Error at cmake/detect/MPI.cmake:43 (message):
Could not find MPI_Reduce_scatter
Jack Poulson
@poulson
Nov 21 2016 01:41
the first place to look is always CMakeFiles/CMakeError.log
search for that function
Jack Poulson
@poulson
Nov 21 2016 01:42
I also can't emphasize enough that it is better to develop new functionality outside of the main library and only import it once it is functioning
at least if you want to prevent long compilations after each change
Ryan H. Lewis
@rhl-
Nov 21 2016 01:42
well, this doesn’t recompile every time
Jack Poulson
@poulson
Nov 21 2016 01:42
OK
Ryan H. Lewis
@rhl-
Nov 21 2016 01:42
but, I can’t build anything
things are all screwed up.
Jack Poulson
@poulson
Nov 21 2016 01:43
it isn't finding libgfortran
Ryan H. Lewis
@rhl-
Nov 21 2016 01:43
for some reason clang wants gcc 5 version of gfortran
Jack Poulson
@poulson
Nov 21 2016 01:43
it might have been moved
Ryan H. Lewis
@rhl-
Nov 21 2016 01:46
$ gfortran-6 -print-file-name=libgfortran.dylib
/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.1.0/6.2.0/../../../libgfortran.dylib
cmake -DGFORTRAN_LIB="$(gfortran-6 -print-file-name=libgfortran.dylib)" .. has the same problem, it still ends up finding the wrong gfortran
Jack Poulson
@poulson
Nov 21 2016 01:52
what is the correct one and what did it find?
Ryan H. Lewis
@rhl-
Nov 21 2016 01:55
no clue, now I have the gcc-6.2.0 stack installed
alongside clang
id assume its not gcc-6 but, you suggested it earlier.
the same problem occurs without gfortran-6
Jack Poulson
@poulson
Nov 21 2016 02:58
there are now packages for xenial and yakkety, but I'm still fiddelling with the right debian/changelog version settings
the current workflow is of the form:
git clone https://github.com/elemental/Elemental.git elemental_0.87.0.orig
rm -Rf elemental_0.87.0.orig/.git
tar -czf elemental_0.87.0.orig.tar.gz elemental_0.87.0.orig/
cd elemental_0.87.0.orig

# Create the xenial package
pbuilder create distribution=xenial
pdebuild --auto-debsign --debbuildopts -S 2>&1 | tee ../scrap
dput -f ppa:libelemental/ppa/ubuntu/xenial ../elemental_0.87.0-8_source.changes

# Create the yakkety package
pbuilder create distribution=yakkety
# It is not clear why two --debbuildopts are required rather than just one
pdebuild --auto-debsign --debbuildopts -S --debbuildopts -sd 2>&1 | tee ../scrap
dput -f ppa:libelemental/ppa/ubuntu/yakkety ../elemental_0.87.0-8_source.changes
Ryan H. Lewis
@rhl-
Nov 21 2016 03:09
@poulson the ppa system doesnt pull from github on every commit?
Ryan H. Lewis
@rhl-
Nov 21 2016 04:33
@poulson found this paper reading through the LIBLBFGS source code: http://www.ii.uib.no/~lennart/drgrad/Nocedal1980.pdf
it explains that the way I was updating the inverse hessian leads to loss if positive definitess and loss of quadratic convergence
I don’t quite understand why yet. But, Nocedal provided another routine which uses the product form of the updates. I’m trying it out now..
Ryan H. Lewis
@rhl-
Nov 21 2016 04:42
sweet I fixed my system. when gcc updated, I needed to A) brew cleanup (which removed gcc 5.2.0) and then B) brew migrate mpich C) brew reinstall mpich
and everything is building again.
Ryan H. Lewis
@rhl-
Nov 21 2016 04:59

@poulson thoughts on adding this to CMakeLists.txt:

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)

Jack Poulson
@poulson
Nov 21 2016 05:37
what is the motivation for adding ccache? and has it been tested?
there are now xenial and yakkety packages in the PPA
Ryan H. Lewis
@rhl-
Nov 21 2016 15:58
I tested it locally. It's working in the positive case on my system. Motivation is faster builds via ccache by default when it's installed
Great news on the packages. Let's close out the tickets then :)
Jack Poulson
@poulson
Nov 21 2016 16:04
ah, I haven't merged the ccache support yet
can plan for next (hopefully in next month) release
still adding contribution lists for 0.87 release
Matthew Knepley
@knepley
Nov 21 2016 16:46
Jack, add your implementation link to https://en.wikipedia.org/wiki/Lattice_reduction
Jack Poulson
@poulson
Nov 21 2016 16:48
@knepley good idea!