Repository navigation
CUDA: Initial support for Minor Version Compatibility #8180
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
Merged
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
2e644a6
Initial support for Minor Version Compatibility
gmarkall f7a9e42
Merge remote-tracking branch 'numba/main' into cuda-mvc
gmarkall 088b41c
Get MVCLinker from mvclinker package
gmarkall 8602b2b
Update to use renamed cubinlinker
gmarkall fa8d810
Test with MVC with CUDA 11.7
gmarkall 2fc31ef
Merge remote-tracking branch 'numba/main' into cuda-mvc
gmarkall 9cd6980
Guard ptxcompiler and cubinlinker imports
gmarkall 0293fdb
Use cubinlinker from rapidsai and ptxcompiler from conda-forge
gmarkall 29b6f8b
Correct docstring of MVCLinker
gmarkall ef14045
CUDA Docs: document MVC
gmarkall 4f3de31
Add MVC info to Numba sysinfo
gmarkall 91a0c62
Merge remote-tracking branch 'numba/main' into cuda-mvc
gmarkall cfa840f
Add pip MVC package installation instructions
gmarkall 2b231a3
Merge remote-tracking branch 'numba/main' into cuda-mvc
gmarkall a3ef22e
Test with CUDA 11.8
gmarkall 843cb75
Switch back to rapidsai channel for cubinlinker
gmarkall 76c10b1
Merge remote-tracking branch 'numba/main' into cuda-mvc
gmarkall f358642
CUDA Docs: Refine MVC docs based on PR #8180 feedback
gmarkall cb163aa
CUDA driver.py: PR #8180 feedback
gmarkall File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,6 +9,7 @@ CUDA_TOOLKIT_VER: | |
| - "11.1" | ||
| - "11.2" | ||
| - "11.5" | ||
| - "11.8" | ||
|
|
||
| LINUX_VER: | ||
| - ubuntu18.04 | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -26,4 +26,5 @@ Numba for CUDA GPUs | |
| bindings.rst | ||
| cuda_ffi.rst | ||
| caching.rst | ||
| minor_version_compatibility.rst | ||
| faq.rst | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| .. _minor-version-compatibility: | ||
|
|
||
| CUDA Minor Version Compatiblity | ||
| =============================== | ||
|
|
||
| CUDA `Minor Version Compatibility | ||
| <https://docs.nvidia.com/deploy/cuda-compatibility/index.html#minor-version-compatibility>`_ | ||
| (MVC) enables the use of a newer CUDA toolkit version than the CUDA version | ||
| supported by the driver, provided that the toolkit and driver both have the same | ||
| major version. For example, use of CUDA toolkit 11.5 with CUDA driver 450 (CUDA | ||
| version 11.0) is supported through MVC. | ||
|
|
||
| Numba supports MVC for CUDA 11 on Linux using the external ``cubinlinker`` and | ||
| ``ptxcompiler`` packages, subject to the following limitations: | ||
|
|
||
| - Linking of archives is unsupported. | ||
| - Cooperative Groups are unsupported, because they require an archive to be | ||
| linked. | ||
|
|
||
| MVC is not supported on Windows. | ||
|
|
||
|
|
||
| Enabling MVC Support | ||
| -------------------- | ||
|
|
||
| To use MVC support, the ``cubinlinker`` and ``ptxcompiler`` compiler packages | ||
| must be installed from the appropriate channels. To install using conda, use: | ||
|
|
||
| .. code:: bash | ||
|
|
||
| conda install rapidsai::cubinlinker conda-forge::ptxcompiler | ||
|
|
||
| To install with pip, use the NVIDIA package index: | ||
|
|
||
| .. code:: bash | ||
|
|
||
| pip install ptxcompiler-cu11 cubinlinker-cu11 --extra-index-url=https://pypi.ngc.nvidia.com | ||
|
|
||
| MVC support is enabled by setting the environment variable: | ||
|
|
||
| .. code:: bash | ||
|
|
||
| export NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY=1 | ||
|
|
||
|
|
||
| or by setting a configuration variable prior to using any CUDA functionality in | ||
| Numba: | ||
|
|
||
| .. code:: python | ||
|
|
||
| from numba import config | ||
| config.CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY = True | ||
|
|
||
|
|
||
| References | ||
| ---------- | ||
|
|
||
| Further information about Minor Version Compatibility may be found in: | ||
|
|
||
| - The `CUDA Compatibility Guide | ||
| <https://docs.nvidia.com/deploy/cuda-compatibility/index.html>`_. | ||
| - The `README for ptxcompiler | ||
| <https://github.com/rapidsai/ptxcompiler/blob/main/README.md>`_. | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.