-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: Change LLVM version to 3.9.1 #19678
Conversation
@staticfloat Pinging to see if you can help update the homebrew formula for llvm 3.9. |
I think we can move to 3.9 on master for some time and everyone can try it out over the next few weeks. We can always switch back if necessary. |
b80ada1
to
7851f77
Compare
@nanosoldier This now builds, and should pass tests, everywhere but mac travis. So this is "request for homebrew" - take a look at https://github.com/staticfloat/homebrew-julia/blob/master/llvm37-julia.rb and https://github.com/Homebrew/homebrew-core/blob/master/Formula/llvm.rb, and add the entire 3.9.1 patch list from deps/llvm.mk (use a recent master sha instead of the 0.5.0-rc2 tag for the patch urls), submit an llvm39-julia.rb as a PR to the staging branch at homebrew-julia (helps if someone with a mac can test the homebrew formula build locally) |
does nanosoldier need to run contrib/download_cmake.sh? |
Since it is building Julia every time it will need an updated cmake as well @jrevels |
I'm working on a |
I've updated Nanosoldier's @nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels |
Benchmarks are all over the place, some improvements and some slowdowns. Now bottled on homebrew for mac travis (old log at https://gist.github.com/fe6f37594cd18eaab73867768d2bfc88, restarted) so should pass everywhere. How much compile-time benchmarking do we want to do here before merging? Worth a pre-merge pkgeval run? Hopefully most packages shouldn't notice but you never know. |
ecf2462
to
79c4cec
Compare
update checksums and CI rebuilt appveyor binaries to include nvptx backend and patches install llvm39-julia explicitly on mac travis did this get built without an executable suffix?
can still build against the old copies but we won't validate those downloads anymore
I think a PkgEval would be interesting, otherwise LGTM. We can then start working on fixing the runtime regressions. |
Just noting that the homebrew tap is merged and linking the PR here: staticfloat/homebrew-julia#229 |
It looks like the slowdowns are all scalar indexing related, which would perhaps also explain the slowdown across the board in all the sorting benchmarks. |
Perhaps we can go ahead and merge this, and tackle the regressions as part of the release process post feature freeze? The performance regressions appear not to be too bad, although it is not clear what the compile time regressions will be like. |
We can estimate compilation time by looking at the time it took for the compilation heavy tests to pass on Travis:
|
Seems like there is an average of 20% slowdown - perhaps mostly attributable to compile times. |
I think we can confidently say that the slowdowns are only from compile times. |
I spend the morning investigating the worst runtime regression. From my investigations there seem to be two problems:
Another test I did was to time the sys image build
vs 3.7
|
I think this is all good enough to merge. Should we merge this first before the other stuff that is coming from @JeffBezanson ? |
I ran the microbenchmarks, and they are all similar across llvm 3.7.1 and 3.9.1, except for |
another useful test - time for initial |
We will need @Keno to pay attention to all the small regressions here after feature freeze. |
update checksums and CI
closes #19123
still needs the homebrew formula to be updated,and could use some compile-time benchmarking to see how much slower it's going to make thingsand the x86 / amd64 linux buildbots will need JuliaCI/julia-buildbot#54done(some travis failures due to swapping cmake version around backed up to https://gist.github.com/anonymous/df52ea47a8b03cbcf82113456afca167 and https://gist.github.com/anonymous/28e2387302285cdeb5a30602ea07a79d)