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

Bump llvm version required for Power and backport bugfix. #18557

Merged
merged 8 commits into from
Sep 20, 2016

Conversation

vchuravy
Copy link
Sponsor Member

This backports a fix for #18555. The patch does not apply cleanly to LLVM 3.8 so I bumped the required version for Power support. I will try and nominate this patch as a backport to 3.9.1.

cc: @ViralBShah

@vchuravy vchuravy added the system:powerpc PowerPC label Sep 17, 2016
@tkelman
Copy link
Contributor

tkelman commented Sep 17, 2016

add the checksums for llvm 3.9.0

@tkelman
Copy link
Contributor

tkelman commented Sep 17, 2016

This will raise minimum cmake version to 3.4.3 on power right? I'm guessing cmake doesn't provide convenient binaries for power, did you build cmake from source or use a really new distro?

@vchuravy
Copy link
Sponsor Member Author

Yes I compiled CMake and CMake doen's provide binaries for power as far as I can tell.

The tests still fail:

    JULIA test/threads
     * threads              Warning: threaded loop executed in order
Test Failed
  Expression: x[] == m
   Evaluated: 0 == -5000
ERROR: LoadError: LoadError: There was an error during testing
 in record(::Base.Test.FallbackTestSet, ::Base.Test.Fail) at ./test.jl:397
 in do_test(::Base.Test.Returned, ::Expr) at ./test.jl:281
 in test_threaded_atomic_minmax(::Int16, ::Int16) at /home/valentin/julia/test/threads.jl:56

I put the llvm ir and code_native here https://gist.github.com/vchuravy/ba27d29870e49df5f640ff0b5aa635c3 if anybody is interested

@tkelman
Copy link
Contributor

tkelman commented Sep 17, 2016

Or do any of the recent-cmake PPA's support power? I was planning on writing a contrib/download_cmake.sh script once we upgrade to LLVM 3.9 for the sake of Linux x86 and amd64 (it's easy enough to get from homebrew and cygwin elsewhere), but maybe with exotic architectures should we think about writing a makefile to automate building cmake ourselves?

@vchuravy
Copy link
Sponsor Member Author

I think we should probably deal with CMake like with any other dependency. If in doubt download it and build it ourselves :)

@tkelman
Copy link
Contributor

tkelman commented Sep 17, 2016

Build-only dependencies have generally gotten a bit different treatment if they're easy enough to get binaries for good-enough versions, like gmake and gfortran.

@vchuravy
Copy link
Sponsor Member Author

added the checksums.

Copy link
Contributor

@tkelman tkelman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. did 3.9 include D14260?

@tkelman
Copy link
Contributor

tkelman commented Sep 17, 2016

@staticfloat @ViralBShah what version of cmake is on the power buildbot? It's running ubuntu 14.04 right, do we need to build a newer version to keep nightlies working there?

@vchuravy
Copy link
Sponsor Member Author

@tkelman I think it is in 3.9.0

[valentin@ibm-power2 llvm-svn]$ git log --grep=D14260
commit 1ca1fcaa5b4c75a65a202badfd5df8240a36ca0f
Author: Arch D. Robison <[email protected]>
Date:   Mon Apr 25 22:22:39 2016 +0000

    Optimize store of "bitcast" from vector to aggregate.

[valentin@ibm-power2 llvm-svn]$ git branch --contains 1ca1fca
  master
* release_39

@staticfloat
Copy link
Sponsor Member

staticfloat commented Sep 17, 2016

Yeah, we're going to need to build a new cmake on pretty much everything. (Except osx, because that gets cmake from Homebrew)

$ ansible julia_buildslaves -m shell -a 'export PATH=$PATH:/usr/local/bin && cmake --version 2>/dev/null | head -1' -i ./hosts

buildslave_osx10.10-x64 | SUCCESS | rc=0 >>
cmake version 3.6.1

buildslave_osx10.11-x64 | SUCCESS | rc=0 >>
cmake version 3.6.1

buildslave_osx10.9-x64 | SUCCESS | rc=0 >>
cmake version 3.6.1

buildslave_ubuntu14.04-x86 | SUCCESS | rc=0 >>
cmake version 2.8.12.2

buildslave_ubuntu14.04-x64 | SUCCESS | rc=0 >>
cmake version 2.8.12.2

buildslave_centos5.11-x86 | SUCCESS | rc=0 >>
cmake version 2.6-patch 4

buildslave_centos5.11-x64 | SUCCESS | rc=0 >>
cmake version 2.6-patch 4

buildslave_centos7.1-x64 | SUCCESS | rc=0 >>
cmake version 2.8.11

buildslave_centos6.7-x64 | SUCCESS | rc=0 >>
cmake version 2.8.12.2

buildslave_ubuntu14.04-armv7l | SUCCESS | rc=0 >>
cmake version 2.8.12.2

buildslave_centos7.2-ppc64le | SUCCESS | rc=0 >>
cmake version 2.8.11

buildslave_win6.2-x86 | SUCCESS | rc=0 >>
cmake version 3.3.2

buildslave_win6.2-x64 | SUCCESS | rc=0 >>
cmake version 3.3.2

I'll do this once the buildbot reconfig window opens, after 0.5.0 final is built.

EDIT: Issue created.

@tkelman
Copy link
Contributor

tkelman commented Sep 17, 2016

I'm the cmake maintainer on cygwin and uploaded 3.6.2 there recently. When you next upgrade cygwin packages please be very careful to not upgrade the mingw gcc cross-compilers to 5.4 though, we need to keep those held back to 4.9 until we have a solution for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77333

@ViralBShah
Copy link
Member

Would this address all threading issues on power at least as far as the tests go?

@vchuravy
Copy link
Sponsor Member Author

The last two commits work around an upstream issue and all tests pass now.

@ViralBShah
Copy link
Member

Should we backport this for 0.5?

@ViralBShah
Copy link
Member

Once CI completes, let's merge this. Marking as a backport candidate.

@tkelman tkelman added this to the 0.5.x milestone Sep 20, 2016
@ViralBShah ViralBShah merged commit 3d52d15 into master Sep 20, 2016
@tkelman tkelman deleted the vc/power_atomic branch September 20, 2016 04:24
@ViralBShah
Copy link
Member

ViralBShah commented Sep 20, 2016

I just realized that the old cmake will break the buildbot. Should we revert, or just fix the cmake? I am happy to help fix the cmake immediately for the build environment.

@ViralBShah
Copy link
Member

I just built cmake for myself. If we build it in the buildbot account and add it to the PATH, will that suffice? If somone can DM me the password to the account, I will do it. Seems like it should be easy enough to fix up.

@staticfloat
Copy link
Sponsor Member

@ViralBShah which buildbot are you referring to? We were planning on upgrading cmake after all our 0.5.0 and 0.4.7 binaries are built and verified working.

@ViralBShah
Copy link
Member

The power one.

@staticfloat
Copy link
Sponsor Member

Ah, we specifically upgraded cmake on the ppc64le buildbot, so no worries. :)

@ViralBShah
Copy link
Member

Ok - great! Thanks.

@vchuravy
Copy link
Sponsor Member Author

@tkelman to backport this I would open a PR against release-0.5?

@tkelman
Copy link
Contributor

tkelman commented Sep 20, 2016

See the steps at #17418. Does that need to be done now or can it wait until we run pkgeval for 0.5.1?

@vchuravy
Copy link
Sponsor Member Author

It can wait till 0.5.1 in my opinion. Ping me when you want to backport it
and I can prepare it.

On Wed, 21 Sep 2016 at 02:08 Tony Kelman [email protected] wrote:

See the steps at #17418 #17418.
Does that need to be done now or can it wait until we run pkgeval for 0.5.1?


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#18557 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAI3anoAVbP7qf3HI614gJs-jXNT2c7Sks5qsBMbgaJpZM4J_dOf
.

vchuravy added a commit that referenced this pull request Oct 6, 2016
only apply patch to 3.9 for now.

(cherry picked from commit 9926ef7)
x-ref: #18557
vchuravy added a commit that referenced this pull request Oct 6, 2016
(cherry picked from commit c0eedf0)
x-ref:#18557
vchuravy added a commit that referenced this pull request Oct 6, 2016
(cherry picked from commit f8cd867)
x-ref:#18557
vchuravy added a commit that referenced this pull request Oct 6, 2016
(cherry picked from commit af13585)
x-ref: #18557
vchuravy added a commit that referenced this pull request Oct 6, 2016
(cherry picked from commit 2f4cb25)
x-ref: #18557
vchuravy added a commit that referenced this pull request Oct 6, 2016
vchuravy added a commit that referenced this pull request Oct 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants