Skip to content

Commit 47e9c2d

Browse files
committed
Merge branch 'main' into move_enum_explanations
2 parents fb12195 + 992856b commit 47e9c2d

46 files changed

Lines changed: 887 additions & 364 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

conftest.py

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
1-
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4+
45
import os
56

67
import pytest
78

9+
from cuda.pathfinder import get_cuda_path_or_home
10+
11+
12+
# Please keep in sync with the copy in cuda_core/tests/conftest.py.
13+
def _cuda_headers_available() -> bool:
14+
"""Return True if CUDA headers are available, False if no CUDA path is set.
15+
16+
Raises AssertionError if a CUDA path is set but has no include/ subdirectory.
17+
"""
18+
cuda_path = get_cuda_path_or_home()
19+
if cuda_path is None:
20+
return False
21+
assert os.path.isdir(os.path.join(cuda_path, "include")), (
22+
f"CUDA path {cuda_path} does not contain an 'include' subdirectory"
23+
)
24+
return True
25+
826

927
def pytest_collection_modifyitems(config, items): # noqa: ARG001
10-
cuda_home = os.environ.get("CUDA_HOME")
28+
have_headers = _cuda_headers_available()
1129
for item in items:
1230
nodeid = item.nodeid.replace("\\", "/")
1331

@@ -31,6 +49,10 @@ def pytest_collection_modifyitems(config, items): # noqa: ARG001
3149
):
3250
item.add_marker(pytest.mark.cython)
3351

34-
# Gate core cython tests on CUDA_HOME
35-
if "core" in item.keywords and not cuda_home:
36-
item.add_marker(pytest.mark.skip(reason="CUDA_HOME not set; skipping core cython tests"))
52+
# Gate core cython tests on CUDA_PATH
53+
if "core" in item.keywords and not have_headers:
54+
item.add_marker(
55+
pytest.mark.skip(
56+
reason="Environment variable CUDA_PATH or CUDA_HOME is not set: skipping core cython tests"
57+
)
58+
)

cuda_bindings/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ To run these tests:
3333

3434
Cython tests are located in `tests/cython` and need to be built. These builds have the same CUDA Toolkit header requirements as [Installing from Source](https://nvidia.github.io/cuda-python/cuda-bindings/latest/install.html#requirements) where the major.minor version must match `cuda.bindings`. To build them:
3535

36-
1. Setup environment variable `CUDA_HOME` with the path to the CUDA Toolkit installation.
36+
1. Setup environment variable `CUDA_PATH` (or `CUDA_HOME`) with the path to the CUDA Toolkit installation. Note: If both are set, `CUDA_PATH` takes precedence.
3737
2. Run `build_tests` script located in `test/cython` appropriate to your platform. This will both cythonize the tests and build them.
3838

3939
To run these tests:

cuda_bindings/build_hooks.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,16 @@
3434

3535

3636
@functools.cache
37-
def _get_cuda_paths() -> list[str]:
38-
CUDA_HOME = os.environ.get("CUDA_HOME", os.environ.get("CUDA_PATH", None))
39-
if not CUDA_HOME:
40-
raise RuntimeError("Environment variable CUDA_HOME or CUDA_PATH is not set")
41-
CUDA_HOME = CUDA_HOME.split(os.pathsep)
42-
print("CUDA paths:", CUDA_HOME)
43-
return CUDA_HOME
37+
def _get_cuda_path() -> str:
38+
# Not using cuda.pathfinder.get_cuda_path_or_home() here because this
39+
# build backend runs in an isolated venv where the cuda namespace package
40+
# from backend-path shadows the installed cuda-pathfinder. See #1803 for
41+
# a workaround to apply after cuda-pathfinder >= 1.5 is released.
42+
cuda_path = os.environ.get("CUDA_PATH", os.environ.get("CUDA_HOME"))
43+
if not cuda_path:
44+
raise RuntimeError("Environment variable CUDA_PATH or CUDA_HOME is not set")
45+
print("CUDA path:", cuda_path)
46+
return cuda_path
4447

4548

4649
# -----------------------------------------------------------------------
@@ -133,8 +136,8 @@ def _fetch_header_paths(required_headers, include_path_list):
133136
if missing_headers:
134137
error_message = "Couldn't find required headers: "
135138
error_message += ", ".join(missing_headers)
136-
cuda_paths = _get_cuda_paths()
137-
raise RuntimeError(f'{error_message}\nIs CUDA_HOME setup correctly? (CUDA_HOME="{cuda_paths}")')
139+
cuda_path = _get_cuda_path()
140+
raise RuntimeError(f'{error_message}\nIs CUDA_PATH setup correctly? (CUDA_PATH="{cuda_path}")')
138141

139142
return header_dict
140143

@@ -291,7 +294,7 @@ def _build_cuda_bindings(strip=False):
291294

292295
global _extensions
293296

294-
cuda_paths = _get_cuda_paths()
297+
cuda_path = _get_cuda_path()
295298

296299
if os.environ.get("PARALLEL_LEVEL") is not None:
297300
warn(
@@ -307,7 +310,7 @@ def _build_cuda_bindings(strip=False):
307310
compile_for_coverage = bool(int(os.environ.get("CUDA_PYTHON_COVERAGE", "0")))
308311

309312
# Parse CUDA headers
310-
include_path_list = [os.path.join(path, "include") for path in cuda_paths]
313+
include_path_list = [os.path.join(cuda_path, "include")]
311314
header_dict = _fetch_header_paths(_REQUIRED_HEADERS, include_path_list)
312315
found_types, found_functions, found_values, found_struct, struct_list = _parse_headers(
313316
header_dict, include_path_list, parser_caching
@@ -347,7 +350,7 @@ def _build_cuda_bindings(strip=False):
347350
] + include_path_list
348351
library_dirs = [sysconfig.get_path("platlib"), os.path.join(os.sys.prefix, "lib")]
349352
cudalib_subdirs = [r"lib\x64"] if sys.platform == "win32" else ["lib64", "lib"]
350-
library_dirs.extend(os.path.join(prefix, subdir) for prefix in cuda_paths for subdir in cudalib_subdirs)
353+
library_dirs.extend(os.path.join(cuda_path, subdir) for subdir in cudalib_subdirs)
351354

352355
extra_compile_args = []
353356
extra_link_args = []

cuda_bindings/cuda/bindings/runtime.pyx.in

Lines changed: 75 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
33

4-
# This code was automatically generated with version 13.2.0, generator version 8797618. Do not modify it directly.
4+
# This code was automatically generated with version 13.2.0, generator version 0.3.1.dev1422+gf4812259e.d20260318. Do not modify it directly.
55
from typing import Any, Optional
66
import cython
77
import ctypes
@@ -1858,7 +1858,9 @@ class cudaLogLevel(_FastEnum):
18581858
{{if 'cudaDataType_t' in found_types}}
18591859

18601860
class cudaDataType(_FastEnum):
1861-
""""""
1861+
"""
1862+
1863+
"""
18621864
{{if 'CUDA_R_32F' in found_values}}
18631865
CUDA_R_32F = cyruntime.cudaDataType_t.CUDA_R_32F{{endif}}
18641866
{{if 'CUDA_R_64F' in found_values}}
@@ -1934,43 +1936,98 @@ class cudaDataType(_FastEnum):
19341936
{{if 'cudaEmulationStrategy_t' in found_types}}
19351937

19361938
class cudaEmulationStrategy(_FastEnum):
1937-
""""""
1939+
"""
1940+
Enum for specifying how to leverage floating-point emulation
1941+
algorithms
1942+
"""
19381943
{{if 'CUDA_EMULATION_STRATEGY_DEFAULT' in found_values}}
1939-
CUDA_EMULATION_STRATEGY_DEFAULT = cyruntime.cudaEmulationStrategy_t.CUDA_EMULATION_STRATEGY_DEFAULT{{endif}}
1944+
1945+
CUDA_EMULATION_STRATEGY_DEFAULT = (
1946+
cyruntime.cudaEmulationStrategy_t.CUDA_EMULATION_STRATEGY_DEFAULT,
1947+
'The default emulation strategy. For emulated computations, this is\n'
1948+
'equivalent to CUDA_EMULATION_STRATEGY_PERFORMANT, unless a library\n'
1949+
'dependent environment variable is set\n'
1950+
){{endif}}
19401951
{{if 'CUDA_EMULATION_STRATEGY_PERFORMANT' in found_values}}
1941-
CUDA_EMULATION_STRATEGY_PERFORMANT = cyruntime.cudaEmulationStrategy_t.CUDA_EMULATION_STRATEGY_PERFORMANT{{endif}}
1952+
1953+
CUDA_EMULATION_STRATEGY_PERFORMANT = (
1954+
cyruntime.cudaEmulationStrategy_t.CUDA_EMULATION_STRATEGY_PERFORMANT,
1955+
'An emulation strategy which configures libraries to use emulation when it\n'
1956+
'provides a performance benefit\n'
1957+
){{endif}}
19421958
{{if 'CUDA_EMULATION_STRATEGY_EAGER' in found_values}}
1943-
CUDA_EMULATION_STRATEGY_EAGER = cyruntime.cudaEmulationStrategy_t.CUDA_EMULATION_STRATEGY_EAGER{{endif}}
1959+
1960+
CUDA_EMULATION_STRATEGY_EAGER = (
1961+
cyruntime.cudaEmulationStrategy_t.CUDA_EMULATION_STRATEGY_EAGER,
1962+
'An emulation strategy which configures libraries to use emulation whenever\n'
1963+
'possible\n'
1964+
){{endif}}
19441965

19451966
{{endif}}
19461967
{{if 'cudaEmulationMantissaControl_t' in found_types}}
19471968

19481969
class cudaEmulationMantissaControl(_FastEnum):
1949-
""""""
1970+
"""
1971+
Enum to configure the mantissa related parameters for floating-
1972+
point emulation algorithms
1973+
"""
19501974
{{if 'CUDA_EMULATION_MANTISSA_CONTROL_DYNAMIC' in found_values}}
1951-
CUDA_EMULATION_MANTISSA_CONTROL_DYNAMIC = cyruntime.cudaEmulationMantissaControl_t.CUDA_EMULATION_MANTISSA_CONTROL_DYNAMIC{{endif}}
1975+
1976+
CUDA_EMULATION_MANTISSA_CONTROL_DYNAMIC = (
1977+
cyruntime.cudaEmulationMantissaControl_t.CUDA_EMULATION_MANTISSA_CONTROL_DYNAMIC,
1978+
'The number of retained mantissa bits are computed at runtime to ensure the\n'
1979+
'same or better accuracy than the floating point representation being\n'
1980+
'emulated\n'
1981+
){{endif}}
19521982
{{if 'CUDA_EMULATION_MANTISSA_CONTROL_FIXED' in found_values}}
1953-
CUDA_EMULATION_MANTISSA_CONTROL_FIXED = cyruntime.cudaEmulationMantissaControl_t.CUDA_EMULATION_MANTISSA_CONTROL_FIXED{{endif}}
1983+
1984+
CUDA_EMULATION_MANTISSA_CONTROL_FIXED = (
1985+
cyruntime.cudaEmulationMantissaControl_t.CUDA_EMULATION_MANTISSA_CONTROL_FIXED,
1986+
'The number of retained mantissa bits are known at runtime\n'
1987+
){{endif}}
19541988

19551989
{{endif}}
19561990
{{if 'cudaEmulationSpecialValuesSupport_t' in found_types}}
19571991

19581992
class cudaEmulationSpecialValuesSupport(_FastEnum):
1959-
""""""
1993+
"""
1994+
Enum to configure how special floating-point values will be handled
1995+
by emulation algorithms
1996+
"""
19601997
{{if 'CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NONE' in found_values}}
1961-
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NONE = cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NONE{{endif}}
1998+
1999+
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NONE = (
2000+
cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NONE,
2001+
'There are no requirements for emulation algorithms to support special\n'
2002+
'values\n'
2003+
){{endif}}
19622004
{{if 'CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_INFINITY' in found_values}}
1963-
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_INFINITY = cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_INFINITY{{endif}}
2005+
2006+
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_INFINITY = (
2007+
cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_INFINITY,
2008+
'Require emulation algorithms to handle signed infinity inputs and outputs\n'
2009+
){{endif}}
19642010
{{if 'CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NAN' in found_values}}
1965-
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NAN = cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NAN{{endif}}
2011+
2012+
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NAN = (
2013+
cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_NAN,
2014+
'Require emulation algorithms to handle NaN inputs and outputs\n'
2015+
){{endif}}
19662016
{{if 'CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_DEFAULT' in found_values}}
1967-
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_DEFAULT = cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_DEFAULT{{endif}}
2017+
2018+
CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_DEFAULT = (
2019+
cyruntime.cudaEmulationSpecialValuesSupport_t.CUDA_EMULATION_SPECIAL_VALUES_SUPPORT_DEFAULT,
2020+
'The default special value support mask which contains support for signed\n'
2021+
'infinities and NaN values\n'
2022+
){{endif}}
19682023

19692024
{{endif}}
19702025
{{if 'libraryPropertyType_t' in found_types}}
19712026

19722027
class libraryPropertyType(_FastEnum):
1973-
""""""
2028+
"""
2029+
2030+
"""
19742031
{{if 'MAJOR_VERSION' in found_values}}
19752032
MAJOR_VERSION = cyruntime.libraryPropertyType_t.MAJOR_VERSION{{endif}}
19762033
{{if 'MINOR_VERSION' in found_values}}
@@ -6394,7 +6451,9 @@ class cudaTextureReadMode(_FastEnum):
63946451
{{if 'cudaRoundMode' in found_types}}
63956452

63966453
class cudaRoundMode(_FastEnum):
6397-
""""""
6454+
"""
6455+
6456+
"""
63986457
{{if 'cudaRoundNearest' in found_values}}
63996458
cudaRoundNearest = cyruntime.cudaRoundMode.cudaRoundNearest{{endif}}
64006459
{{if 'cudaRoundZero' in found_values}}

cuda_bindings/docs/source/environment_variables.rst

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,14 @@ Runtime Environment Variables
1515
Build-Time Environment Variables
1616
--------------------------------
1717

18-
- ``CUDA_HOME`` or ``CUDA_PATH``: Specifies the location of the CUDA Toolkit.
18+
- ``CUDA_PATH`` or ``CUDA_HOME``: Specifies the location of the CUDA Toolkit. If both are set, ``CUDA_PATH`` takes precedence.
19+
20+
.. note::
21+
The ``CUDA_PATH`` > ``CUDA_HOME`` priority is determined by ``cuda-pathfinder``.
22+
Earlier versions of ``cuda-pathfinder`` (before 1.5.0) used the opposite order
23+
(``CUDA_HOME`` > ``CUDA_PATH``). See the
24+
`cuda-pathfinder 1.5.0 release notes <https://nvidia.github.io/cuda-python/cuda-pathfinder/latest/release/1.5.0-notes.html>`_
25+
for details and migration guidance.
1926

2027
- ``CUDA_PYTHON_PARSER_CACHING`` : bool, toggles the caching of parsed header files during the cuda-bindings build process. If caching is enabled (``CUDA_PYTHON_PARSER_CACHING`` is True), the cache path is set to ./cache_<library_name>, where <library_name> is derived from the cuda toolkit libraries used to build cuda-bindings.
2128

cuda_bindings/docs/source/install.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ Requirements
8787

8888
[^2]: The CUDA Runtime static library (``libcudart_static.a`` on Linux, ``cudart_static.lib`` on Windows) is part of the CUDA Toolkit. If using conda packages, it is contained in the ``cuda-cudart-static`` package.
8989

90-
Source builds require that the provided CUDA headers are of the same major.minor version as the ``cuda.bindings`` you're trying to build. Despite this requirement, note that the minor version compatibility is still maintained. Use the ``CUDA_HOME`` (or ``CUDA_PATH``) environment variable to specify the location of your headers. For example, if your headers are located in ``/usr/local/cuda/include``, then you should set ``CUDA_HOME`` with:
90+
Source builds require that the provided CUDA headers are of the same major.minor version as the ``cuda.bindings`` you're trying to build. Despite this requirement, note that the minor version compatibility is still maintained. Use the ``CUDA_PATH`` (or ``CUDA_HOME``) environment variable to specify the location of your headers. If both are set, ``CUDA_PATH`` takes precedence. For example, if your headers are located in ``/usr/local/cuda/include``, then you should set ``CUDA_PATH`` with:
9191

9292
.. code-block:: console
9393
94-
$ export CUDA_HOME=/usr/local/cuda
94+
$ export CUDA_PATH=/usr/local/cuda
9595
9696
See `Environment Variables <environment_variables.rst>`_ for a description of other build-time environment variables.
9797

cuda_bindings/docs/source/module/driver.rst

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,28 @@
1-
.. SPDX-FileCopyrightText: Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+
.. SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
.. SPDX-License-Identifier: LicenseRef-NVIDIA-SOFTWARE-LICENSE
33
44
------
55
driver
66
------
77

8+
Profiler Control
9+
----------------
10+
11+
This section describes the profiler control functions of the low-level CUDA driver application programming interface.
12+
13+
.. autofunction:: cuda.bindings.driver.cuProfilerStart
14+
.. autofunction:: cuda.bindings.driver.cuProfilerStop
15+
16+
VDPAU Interoperability
17+
----------------------
18+
19+
This section describes the VDPAU interoperability functions of the low-level CUDA driver application programming interface.
20+
21+
.. autofunction:: cuda.bindings.driver.cuVDPAUGetDevice
22+
.. autofunction:: cuda.bindings.driver.cuVDPAUCtxCreate
23+
.. autofunction:: cuda.bindings.driver.cuGraphicsVDPAURegisterVideoSurface
24+
.. autofunction:: cuda.bindings.driver.cuGraphicsVDPAURegisterOutputSurface
25+
826
Data types used by CUDA driver
927
------------------------------
1028

@@ -7752,24 +7770,6 @@ Checkpoint and restore capabilities are currently restricted to Linux.
77527770
.. autofunction:: cuda.bindings.driver.cuCheckpointProcessRestore
77537771
.. autofunction:: cuda.bindings.driver.cuCheckpointProcessUnlock
77547772

7755-
EGL Interoperability
7756-
--------------------
7757-
7758-
This section describes the EGL interoperability functions of the low-level CUDA driver application programming interface.
7759-
7760-
.. autofunction:: cuda.bindings.driver.cuGraphicsEGLRegisterImage
7761-
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerConnect
7762-
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerConnectWithFlags
7763-
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerDisconnect
7764-
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerAcquireFrame
7765-
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerReleaseFrame
7766-
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerConnect
7767-
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerDisconnect
7768-
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerPresentFrame
7769-
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerReturnFrame
7770-
.. autofunction:: cuda.bindings.driver.cuGraphicsResourceGetMappedEglFrame
7771-
.. autofunction:: cuda.bindings.driver.cuEventCreateFromEGLSync
7772-
77737773
OpenGL Interoperability
77747774
-----------------------
77757775

@@ -7798,20 +7798,20 @@ This section describes the OpenGL interoperability functions of the low-level CU
77987798
.. autofunction:: cuda.bindings.driver.cuGraphicsGLRegisterImage
77997799
.. autofunction:: cuda.bindings.driver.cuGLGetDevices
78007800

7801-
Profiler Control
7802-
----------------
7803-
7804-
This section describes the profiler control functions of the low-level CUDA driver application programming interface.
7805-
7806-
.. autofunction:: cuda.bindings.driver.cuProfilerStart
7807-
.. autofunction:: cuda.bindings.driver.cuProfilerStop
7808-
7809-
VDPAU Interoperability
7810-
----------------------
7801+
EGL Interoperability
7802+
--------------------
78117803

7812-
This section describes the VDPAU interoperability functions of the low-level CUDA driver application programming interface.
7804+
This section describes the EGL interoperability functions of the low-level CUDA driver application programming interface.
78137805

7814-
.. autofunction:: cuda.bindings.driver.cuVDPAUGetDevice
7815-
.. autofunction:: cuda.bindings.driver.cuVDPAUCtxCreate
7816-
.. autofunction:: cuda.bindings.driver.cuGraphicsVDPAURegisterVideoSurface
7817-
.. autofunction:: cuda.bindings.driver.cuGraphicsVDPAURegisterOutputSurface
7806+
.. autofunction:: cuda.bindings.driver.cuGraphicsEGLRegisterImage
7807+
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerConnect
7808+
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerConnectWithFlags
7809+
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerDisconnect
7810+
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerAcquireFrame
7811+
.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerReleaseFrame
7812+
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerConnect
7813+
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerDisconnect
7814+
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerPresentFrame
7815+
.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerReturnFrame
7816+
.. autofunction:: cuda.bindings.driver.cuGraphicsResourceGetMappedEglFrame
7817+
.. autofunction:: cuda.bindings.driver.cuEventCreateFromEGLSync

0 commit comments

Comments
 (0)