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

Build universal wheels using GPU CI #3424

Merged
merged 1 commit into from
Jun 29, 2018

Conversation

RAMitchell
Copy link
Member

@RAMitchell RAMitchell commented Jun 29, 2018

@hcho3 where did we get to with uploading GPU enabled wheels to pypi? I will be releasing a blog post soon it would be nice to have this ready if possible.

@hcho3
Copy link
Collaborator

hcho3 commented Jun 29, 2018

@RAMitchell The current CI already tests the universal wheels on Linux? Yes, I'll upload the wheels on PyPI this weekend. Since Mac and Windows are not supported, we'll have to name the wheels "manylinux". This way, users will fall back to source tarballs for OSes without wheels

@hcho3
Copy link
Collaborator

hcho3 commented Jun 29, 2018

And let us transition to a CI setup in the future where you have multiple slaves, Linux and Windows. (I think this can happen in a month or so.) This way, we can generate Windows wheels. Only complication is that NVidia docker is Linux only, so we'll have to write scripts specific to Windows

@RAMitchell
Copy link
Member Author

Sounds good. I did a bit of testing today, note that the 9.1 wheels throw a runtime error when GPU algorithms are called on systems with cuda 8.0/9.0. We should upload the 8.0 wheel for maximum compatibility, this works fine on all systems I tested.

This PR is basically just to make the CI artifacts directly usable on a python 3 system.

@hcho3
Copy link
Collaborator

hcho3 commented Jun 29, 2018

@RAMitchell Do we really need the --universal flag? It appears to cause test failure (https://xgboost-ci.net/blue/organizations/jenkins/xgboost/detail/PR-3424/1/pipeline). I think we can simply use the artifacts given by the latest successfully Jenkins test, e.g. https://xgboost-ci.net/job/xgboost/job/master/47/.

EDIT. I plan to use the wheels from https://xgboost-ci.net/job/xgboost/job/release_0.72/5/, which has the stable 0.72 version code.

@RAMitchell
Copy link
Member Author

The test failures just due to a file having its name changed - I will fix this. You should be able to use the artifacts that already exist but you will have to rename them to work on python 3. e.g.

xgboost-0.72-py2-none-any.whl -> xgboost-0.72-py2.py3-none-any.whl

Otherwise pip thinks the py2 wheel is incompatible with python 3.

@codecov-io
Copy link

codecov-io commented Jun 29, 2018

Codecov Report

Merging #3424 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master    #3424   +/-   ##
=========================================
  Coverage     45.55%   45.55%           
  Complexity      188      188           
=========================================
  Files           166      166           
  Lines         13007    13007           
  Branches        442      442           
=========================================
  Hits           5925     5925           
  Misses         6881     6881           
  Partials        201      201
Impacted Files Coverage Δ Complexity Δ
python-package/xgboost/core.py 83.45% <0%> (ø) 0% <0%> (ø) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8bec8d5...c4d1c06. Read the comment docs.

@hcho3 hcho3 merged commit 24fde92 into dmlc:master Jun 29, 2018
CodingCat pushed a commit to CodingCat/xgboost that referenced this pull request Jul 26, 2018
@RAMitchell RAMitchell deleted the universal-gpu-wheel branch December 6, 2018 19:44
@lock lock bot locked as resolved and limited conversation to collaborators Mar 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants