Skip to content

Commit 5b10afb

Browse files
committed
document version requirements for bindings v.s. numba-cuda
1 parent df501fe commit 5b10afb

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

docs/source/faq.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,48 @@ Notes
122122
libc++, ensure its headers are installed (e.g., ``/usr/include/c++/v1`` or Conda ``libcxx-devel``) and pass
123123
``-stdlib=libc++``; otherwise libstdc++ is typically selected by default on Linux.
124124
- AST Canopy is linked against Clang 20. For host resources, please use corresponding Clang version.
125+
126+
127+
Generated bindings and Numba-CUDA version requirements
128+
-------------------------------------------------------
129+
130+
**What version of numba-cuda do generated bindings require?**
131+
132+
Bindings generated by Numbast have specific version requirements for ``numba-cuda`` at runtime. The version of
133+
Numbast used to generate the bindings determines the compatible ``numba-cuda`` versions.
134+
135+
.. list-table:: Numbast to numba-cuda compatibility
136+
:header-rows: 1
137+
:widths: 30 70
138+
139+
* - Numbast Version
140+
- Required numba-cuda Version
141+
* - 0.6.0 (current dev)
142+
- ``>=0.21.0,<0.23.0``
143+
* - 0.5.x
144+
- ``>=0.20.1,<0.21.0``
145+
146+
**Why do generated bindings have version requirements?**
147+
148+
Numbast generates Python code that uses Numba-CUDA's internal APIs. These APIs can change between releases, so
149+
bindings generated with a specific version of Numbast are tested against a specific range of ``numba-cuda`` versions.
150+
151+
**How do I ensure compatibility?**
152+
153+
*For dynamic binding generation:*
154+
155+
- The correct ``numba-cuda`` version constraints are automatically enforced at the package dependency level
156+
and managed by your package manager (pip or conda). When you install Numbast, compatible versions of
157+
``numba-cuda`` are installed automatically via the dependencies specified in ``pyproject.toml`` and Conda
158+
environment files.
159+
160+
*For static binding generation:*
161+
162+
- When distributing generated bindings, document the required ``numba-cuda`` version range in your package
163+
dependencies so users can install a compatible version.
164+
- Generated static bindings (see :doc:`Static binding generation <static>`) can be regenerated with newer
165+
versions of Numbast if you need to support newer ``numba-cuda`` releases.
166+
167+
.. note::
168+
These version restrictions may be relaxed or removed once ``numba-cuda`` releases a stable 1.0 version with
169+
stabilized public APIs. Until then, bindings are tested against specific version ranges to ensure compatibility.

0 commit comments

Comments
 (0)