Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release-0.5] backports for 0.5.1 #20736

Merged
merged 129 commits into from
Mar 5, 2017
Merged

[release-0.5] backports for 0.5.1 #20736

merged 129 commits into from
Mar 5, 2017

Conversation

tkelman
Copy link
Contributor

@tkelman tkelman commented Feb 22, 2017

this is way overdue, and still in progress making my way through the list of pending backports

will run pkgeval and nanosoldier here when ready

StefanKarpinski and others added 30 commits February 13, 2017 14:12
This is the 0.5 edition: with this change a, b, n are always hit
exactly by a:s:a+n*s construction tests. There are two parts to
the fix: 1) check that the lifted rational endpoint is exact even
*after* we've reduced terms of the fractions; 2) apply the same
fix that I've proposed for the length in the non-lifted case.

Combined backport of these commits:

    - e849169
    - b7ad743

range tests: allow any range length that hits stop (#20532)

(cherry picked from commit b7ad743)
Dividing by 8 leads to success on the second try in the case of the failure of --lisp on Windows 7.

(cherry picked from commit 0440507)
ref #18332
* lufact for sparse matrix pivot option error

base/sparse/umfpack.jl includes the following method definition for lufact

`lufact(A::SparseMatrixCSC, pivot::Type{Val{false}}) = lufact(A)`

This should likely be

`lufact(A::SparseMatrixCSC, pivot::Type{Val{true}}) = lufact(A)`

because in lufact pivoting is on by default.

The error is shown in the following example

```
A = speye(4)
A[1:2,1:2] = [-.01 -200; 200 .001]
F = lufact(A,Val{false})
F[:p]
```
which returns
```
julia> F[:q]
4-element Array{Int64,1}:
 3
 4
 1
 2
```
However it should return
```
julia> F[:q]
4-element Array{Int64,1}:
1
2
3
4
```
because pivoting was turned off.

* Added test for #18246 and #18244

* 4 space indent

oops my bad

* remove unnecessary lufact method

* update test for removed lufact method definition

(cherry picked from commit 68d3d32)
(cherry picked from commit da73b06)
ref #18425
?eval at the REPL yields the appropriate docstring. (#18491)
(cherry picked from commit bdb792f)
Add test for #18248.

Remove redundant loop.

Refactor test.

Wrap line.
(cherry picked from commit 424b3c5)
(cherry picked from commit 021895a)
ref #18474

Fix inferrability of rationalize

Even when `tol` isn't passed directly as a positional argument, due to the function barrier this also makes the core routine considerably faster.

(cherry picked from commit 2eb8259)
This enables calls to kwarg functions before Base is defined
(eg. in inference), as the frontend generates a call to vector_any.

(cherry picked from commit 95c26b5)
ref #18396

Add a test for #18396.

Call a kwarg function in Core.Inference where vector_any was unavailable.

(cherry picked from commit fab9560)
* Update require build tools

Notes:
- LLVM fails to build unless you have Python 2.7+ installed:
- cmake fails to build libgit2 unless the version is at least 3.1.2.
  For details see: https://cmake.org/Bug/view.php?id=15386

* Fix Python link

* Add build troubleshooting row

* Remove CMake version requirement

(cherry picked from commit a0cec60)
Fixes #15931.

(cherry picked from commit 7c07826)
ref #18620
(cherry picked from commit 1530ef4)
ref #18637

Added test for linalg method for sparse matrices

(cherry picked from commit 3cbcef1)
(cherry picked from commit bb5bf43)
ref #18640

Tests for conj! and spdiagm

(cherry picked from commit dd51dc3)
(cherry picked from commit 43a6ac1)
ref #18641

Test integer fallbacks

(cherry picked from commit 70c5e24)

Add test for missing rationalize error

(cherry picked from commit e6635fa)

Added type-checking for intfuncs tests

(cherry picked from commit 30fbd88)
(cherry picked from commit 329e7e1)
ref #18522

include fix for #14427

(cherry picked from commit 259e174)

expand README

(cherry picked from commit 399710e)

remove use of sudo from OS X app makefile

(cherry picked from commit 55fa673)

add recommended Info.plist keys

(cherry picked from commit aeadb11)
I'm already tired of seeing bug reports with the output of
versioninfo() that don't say Windows anywhere. Many users
don't know what NT or Darwin mean.
(cherry picked from commit 75d251e)
* add pretty-printing doctests (for #18634)

* in the HTML manual, render the HTML pretty-printing example

(cherry picked from commit c71f205)
(cherry picked from commit 3815812)
ref #18686
Also add related ccall test and test both mutable and immutable types.

(cherry picked from commit 551cd52)
ref #18689
simonster and others added 8 commits March 1, 2017 04:49
We were allocating enough memory to hold all eigenvectors even when only
computing only a range.

(cherry picked from commit 4aa48e0)
ref #20459
(cherry picked from commit e24faa5)

testset replaced by let block for release-0.5
#20464)

Don't use length of underlying arrays to query sizes

Rename variables in zero based constructors
(cherry picked from commit 769d37b)

testsets removed for release-0.5, and Vector{<:VTypes} written out
[release-0.5] Fix computation of range length in certain cases (fix 0.5/#20373)
@tkelman
Copy link
Contributor Author

tkelman commented Mar 1, 2017

@nanosoldier runbenchmarks(ALL, vs = "@3c9d75391c72d7c32eea75ff187ce77b2d5effc8")

@nanosoldier
Copy link
Collaborator

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels

@tkelman tkelman changed the title [release-0.5] WIP: backports for 0.5.1 [release-0.5] backports for 0.5.1 Mar 1, 2017
@tkelman
Copy link
Contributor Author

tkelman commented Mar 2, 2017

pkgeval identified some regressions here that I'll have to bisect on (any help would be appreciated): https://gist.github.com/anonymous/4178d02e88176194746115ff641a21b5

@tkelman
Copy link
Contributor Author

tkelman commented Mar 2, 2017

@JeffBezanson the backport of #18493 broke ASTInterpreter. If you aren't aware of a fix for that

LoadError: local variable T not defined
 in _step_expr(::ASTInterpreter.Interpreter) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:580
 in step_expr at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:666 [inlined]
 in #finish!#81(::Bool, ::Bool, ::Function, ::ASTInterpreter.Interpreter) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1720
 in finish!(::ASTInterpreter.Interpreter) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1705
 in _step_expr(::ASTInterpreter.Interpreter) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:625
 in step_expr at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:666 [inlined]
 in #finish!#81(::Bool, ::Bool, ::Function, ::ASTInterpreter.Interpreter) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1720
 in finish!(::ASTInterpreter.Interpreter) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1705
 in execute_command(::ASTInterpreter.InterpreterState, ::ASTInterpreter.Interpreter, ::Val{:finish}, ::String) at /home/vagrant/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1388
 in include_from_node1(::String) at ./loading.jl:488 (repeats 2 times)
 in process_options(::Base.JLOptions) at ./client.jl:265
 in _start() at ./client.jl:321
while loading /home/vagrant/.julia/v0.5/ASTInterpreter/test/stepping.jl, in expression starting on line 37
while loading /home/vagrant/.julia/v0.5/ASTInterpreter/test/runtests.jl, in expression starting on line 6

then I'm going to revert f32c0ed.

edit: this is also what broke FixedSizeArrays, and GeometryTypes, and QuantumOptics (though that last one has an annoying problem, fixed on QuantumOptics master, where the package was running many of its tests by shelling out to whatever version of julia happened to be on the path, not necessarily the version of julia that ran Pkg.test, which can hide the failure)

@tkelman
Copy link
Contributor Author

tkelman commented Mar 3, 2017

cc @denizyuret I think the failure in Knet.jl (log at https://gist.github.com/8ab4a5e8f0e56370221cbe39924e41fa) is intermittent, I can get it to happen even on 0.5.0 but it requires re-running the tests multiple times to get to happen. So don't think that's a real regression that any of the backports here caused.

@tkelman
Copy link
Contributor Author

tkelman commented Mar 3, 2017

The failure in OrdinaryDiffEq is a wrong if VERSION in its tests (SciML/OrdinaryDiffEq.jl@1f473b4), meaning it isn't loading a necessary test dependency which causes an UndefVarError starting at the very first commit that changed VERSION after the 0.5.0 tag. Also not a regression caused by a backport.

tkelman and others added 3 commits March 2, 2017 21:33
This reverts commit f32c0ed.
un-backports #18493, since it caused package regressions in
ASTInterpreter, FixedSizeArrays, GeometryTypes, and QuantumOptics
(cherry picked from commit 32bc971)
ref #20225

and the test from #19555 because it passes, why not
(cherry picked from commit 0eff50b)
ref #20431

use map(length, inds) instead of length.(inds) for release-0.5
@tkelman tkelman force-pushed the tk/backports-0.5.1 branch from f6003b4 to c2bede6 Compare March 3, 2017 05:56
tkelman added 3 commits March 4, 2017 18:48
This reverts commit ea37c3c.

Revert "replace checked_fptosi intrinsics with Julia implementation (#14763)"

This reverts commit 5512553.
caused significant slowdown in conversion
point to release-0.5 instead of master or latest
@tkelman tkelman force-pushed the tk/backports-0.5.1 branch from c2bede6 to 0cc7d79 Compare March 5, 2017 01:03
@tkelman
Copy link
Contributor Author

tkelman commented Mar 5, 2017

merge commit for PR, currently 0cc7d79: @nanosoldier runbenchmarks(ALL, vs = "@3c9d75391c72d7c32eea75ff187ce77b2d5effc8")

I've reverted the conversion change.

@nanosoldier
Copy link
Collaborator

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels

@tkelman
Copy link
Contributor Author

tkelman commented Mar 5, 2017

pkgeval results: https://gist.github.com/5b71a57370610d91495f79004f58f354

both failures, InformationMeasures.jl and Tensors.jl, are flaky tolerances.

@tkelman tkelman merged commit f0993f9 into release-0.5 Mar 5, 2017
@tkelman tkelman deleted the tk/backports-0.5.1 branch March 5, 2017 13:27
@timholy
Copy link
Member

timholy commented Mar 5, 2017

Woot!

@timholy timholy mentioned this pull request Mar 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.