-
Notifications
You must be signed in to change notification settings - Fork 32
Compile with pip Nvidia packages... #236
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
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #236 +/- ##
==========================================
+ Coverage 70.21% 71.45% +1.24%
==========================================
Files 34 34
Lines 2078 2172 +94
Branches 157 164 +7
==========================================
+ Hits 1459 1552 +93
+ Misses 559 558 -1
- Partials 60 62 +2 ☔ View full report in Codecov by Sentry. |
Installing this branch with pip install --no-build-isolation --verbose git+https://github.com/mpi4jax/mpi4jax.git@pv/test-install works and correctly picks up the Nvidia packages if they are installed. However one then needs to set the export LD_LIBRARY_PATH=[...]/ENV_NAME/lib/python3.11/site-packages/nvidia/cuda_runtime/lib:$LD_LIBRARY_PATH Nevertheless, this still gives raise to some annoying ptas errors.. |
Though it works for standard code |
But this is nice. It allows to avoid requiring CUDA installed.... |
This now sets the rpath so it bakes the compile-time libraries if it detects it's obtained from pip... |
@dionhaefner what can we do to package this properly? |
This looks generally fine to me. Setting I think the most important task now is to test all modes of installation on CI. That should give us enough confidence to ship this new feature pretty much as-is. |
c62d253
to
b44d87c
Compare
@dionhaefner I added a test for the build infrastructure using PyPi distributed cuda. I also added the relevant instructions and a mention that [cuda12] is not yet supported. Anything else? |
Is it fine for you if I merge and tag a new release? |
There are 3 ways to install jax with CUDA support: | ||
- using a pypi-distributed CUDA installation (suggested by jax developers) ``pip install -U 'jax[cuda12_pip]' -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html`` | ||
- using the locally-installed CUDA version, which must be compatible with jax. ``pip install -U 'jax[cuda12_local]' -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html`` | ||
The procedure to install ``mpi4jax`` for the two situations is different. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could recommend --no-build-isolation
always for CUDA builds? Can't come up with a case where this would hurt to have.
Fine with me, I could pick some nits with the logic in |
yes, that's what I was thinking. It seems that the issues with supporting They are fixing it on jax those days. I guess I'll try again in a week or two. |
No description provided.