diff --git a/docs/pr-preview/pr-397/cuda-bindings/index.html b/docs/pr-preview/pr-397/cuda-bindings/index.html deleted file mode 100644 index b5e870a2..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - -

If this page does not refresh automatically, then please direct your browser to - our latest docs. -

- - diff --git a/docs/pr-preview/pr-397/cuda-bindings/jupyter_execute/overview.ipynb b/docs/pr-preview/pr-397/cuda-bindings/jupyter_execute/overview.ipynb deleted file mode 100644 index 63e866ec..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/jupyter_execute/overview.ipynb +++ /dev/null @@ -1,520 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "daf60953", - "metadata": {}, - "source": [ - "# Overview\n", - "\n", - "

by Matthew Nicely

\n", - "\n", - "Python plays a key role within the science, engineering, data analytics, and\n", - "deep learning application ecosystem. NVIDIA has long been committed to helping\n", - "the Python ecosystem leverage the accelerated massively parallel performance of\n", - "GPUs to deliver standardized libraries, tools, and applications. Today, we’re\n", - "introducing another step towards simplification of the developer experience with\n", - "improved Python code portability and compatibility.\n", - "\n", - "Our goal is to help unify the Python CUDA ecosystem with a single standard set\n", - "of low-level interfaces, providing full coverage of and access to the CUDA host\n", - "APIs from Python. We want to provide an ecosystem foundation to allow\n", - "interoperability among different accelerated libraries. Most importantly, it\n", - "should be easy for Python developers to use NVIDIA GPUs.\n", - "\n", - "## CUDA Python workflow\n", - "\n", - "Because Python is an interpreted language, you need a way to compile the device\n", - "code into\n", - "[PTX](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html) and\n", - "then extract the function to be called at a later point in the application. It’s\n", - "not important for understanding CUDA Python, but Parallel Thread Execution (PTX)\n", - "is a low-level virtual machine and instruction set architecture (ISA). You\n", - "construct your device code in the form of a string and compile it with\n", - "[NVRTC](http://docs.nvidia.com/cuda/nvrtc/index.html), a runtime compilation\n", - "library for CUDA C++. Using the NVIDIA [Driver\n", - "API](http://docs.nvidia.com/cuda/cuda-driver-api/index.html), manually create a\n", - "CUDA context and all required resources on the GPU, then launch the compiled\n", - "CUDA C++ code and retrieve the results from the GPU. Now that you have an\n", - "overview, jump into a commonly used example for parallel programming:\n", - "[SAXPY](https://developer.nvidia.com/blog/six-ways-saxpy/).\n", - "\n", - "The first thing to do is import the [Driver\n", - "API](https://docs.nvidia.com/cuda/cuda-driver-api/index.html) and\n", - "[NVRTC](https://docs.nvidia.com/cuda/nvrtc/index.html) modules from the CUDA\n", - "Python package. In this example, you copy data from the host to device. You need\n", - "[NumPy](https://numpy.org/doc/stable/contents.html) to store data on the host." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "1c100672", - "metadata": {}, - "outputs": [], - "source": [ - "from cuda.bindings import driver, nvrtc\n", - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "id": "205bad0b", - "metadata": {}, - "source": [ - "Error checking is a fundamental best practice in code development and a code\n", - "example is provided.\n", - "In a future release, this may automatically raise exceptions using a Python\n", - "object model." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ef9297ce", - "metadata": {}, - "outputs": [], - "source": [ - "def _cudaGetErrorEnum(error):\n", - " if isinstance(error, driver.CUresult):\n", - " err, name = driver.cuGetErrorName(error)\n", - " return name if err == driver.CUresult.CUDA_SUCCESS else \"\"\n", - " elif isinstance(error, nvrtc.nvrtcResult):\n", - " return nvrtc.nvrtcGetErrorString(error)[1]\n", - " else:\n", - " raise RuntimeError('Unknown error type: {}'.format(error))\n", - "\n", - "def checkCudaErrors(result):\n", - " if result[0].value:\n", - " raise RuntimeError(\"CUDA error code={}({})\".format(result[0].value, _cudaGetErrorEnum(result[0])))\n", - " if len(result) == 1:\n", - " return None\n", - " elif len(result) == 2:\n", - " return result[1]\n", - " else:\n", - " return result[1:]" - ] - }, - { - "cell_type": "markdown", - "id": "788aaef0", - "metadata": {}, - "source": [ - "It’s common practice to write CUDA kernels near the top of a translation unit,\n", - "so write it next. The entire kernel is wrapped in triple quotes to form a\n", - "string. The string is compiled later using NVRTC. This is the only part of CUDA\n", - "Python that requires some understanding of CUDA C++. For more information, see\n", - "[An Even Easier Introduction to\n", - "CUDA](https://developer.nvidia.com/blog/even-easier-introduction-cuda/)." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "48e4520a", - "metadata": {}, - "outputs": [], - "source": [ - "saxpy = \"\"\"\\\n", - "extern \"C\" __global__\n", - "void saxpy(float a, float *x, float *y, float *out, size_t n)\n", - "{\n", - " size_t tid = blockIdx.x * blockDim.x + threadIdx.x;\n", - " if (tid < n) {\n", - " out[tid] = a * x[tid] + y[tid];\n", - " }\n", - "}\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "id": "81c56c77", - "metadata": {}, - "source": [ - "Go ahead and compile the kernel into PTX. Remember that this is executed at runtime using NVRTC. There are three basic steps to NVRTC:\n", - "\n", - "- Create a program from the string.\n", - "- Compile the program.\n", - "- Extract PTX from the compiled program.\n", - "\n", - "In the following code example, the Driver API is initialized so that the NVIDIA driver\n", - "and GPU are accessible. Next, the GPU is queried for their compute capability. Finally,\n", - "the program is compiled to target our local compute capability architecture with FMAD enabled." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "ea3383ec", - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize CUDA Driver API\n", - "checkCudaErrors(driver.cuInit(0))\n", - "\n", - "# Retrieve handle for device 0\n", - "cuDevice = checkCudaErrors(driver.cuDeviceGet(0))\n", - "\n", - "# Derive target architecture for device 0\n", - "major = checkCudaErrors(driver.cuDeviceGetAttribute(driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, cuDevice))\n", - "minor = checkCudaErrors(driver.cuDeviceGetAttribute(driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, cuDevice))\n", - "arch_arg = bytes(f'--gpu-architecture=compute_{major}{minor}', 'ascii')\n", - "\n", - "# Create program\n", - "prog = checkCudaErrors(nvrtc.nvrtcCreateProgram(str.encode(saxpy), b\"saxpy.cu\", 0, [], []))\n", - "\n", - "# Compile program\n", - "opts = [b\"--fmad=false\", arch_arg]\n", - "checkCudaErrors(nvrtc.nvrtcCompileProgram(prog, 2, opts))\n", - "\n", - "# Get PTX from compilation\n", - "ptxSize = checkCudaErrors(nvrtc.nvrtcGetPTXSize(prog))\n", - "ptx = b\" \" * ptxSize\n", - "checkCudaErrors(nvrtc.nvrtcGetPTX(prog, ptx))" - ] - }, - { - "cell_type": "markdown", - "id": "f457bf4f", - "metadata": {}, - "source": [ - "Before you can use the PTX or do any work on the GPU, you must create a CUDA\n", - "context. CUDA contexts are analogous to host processes for the device. In the\n", - "following code example, a handle for compute device 0 is passed to\n", - "`cuCtxCreate` to designate that GPU for context creation." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fb9d4587", - "metadata": {}, - "outputs": [], - "source": [ - "# Create context\n", - "context = checkCudaErrors(driver.cuCtxCreate(0, cuDevice))" - ] - }, - { - "cell_type": "markdown", - "id": "f2175770", - "metadata": {}, - "source": [ - "With a CUDA context created on device 0, load the PTX generated earlier into a\n", - "module. A module is analogous to dynamically loaded libraries for the device.\n", - "After loading into the module, extract a specific kernel with\n", - "`cuModuleGetFunction`. It is not uncommon for multiple kernels to reside in PTX." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "f75bbbbb", - "metadata": {}, - "outputs": [], - "source": [ - "# Load PTX as module data and retrieve function\n", - "ptx = np.char.array(ptx)\n", - "# Note: Incompatible --gpu-architecture would be detected here\n", - "module = checkCudaErrors(driver.cuModuleLoadData(ptx.ctypes.data))\n", - "kernel = checkCudaErrors(driver.cuModuleGetFunction(module, b\"saxpy\"))" - ] - }, - { - "cell_type": "markdown", - "id": "f2854562", - "metadata": {}, - "source": [ - "Next, get all your data prepared and transferred to the GPU. For increased\n", - "application performance, you can input data on the device to eliminate data\n", - "transfers. For completeness, this example shows how you would transfer data to\n", - "and from the device." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "63cd9f2a", - "metadata": {}, - "outputs": [], - "source": [ - "NUM_THREADS = 512 # Threads per block\n", - "NUM_BLOCKS = 32768 # Blocks per grid\n", - "\n", - "a = np.array([2.0], dtype=np.float32)\n", - "n = np.array(NUM_THREADS * NUM_BLOCKS, dtype=np.uint32)\n", - "bufferSize = n * a.itemsize\n", - "\n", - "hX = np.random.rand(n).astype(dtype=np.float32)\n", - "hY = np.random.rand(n).astype(dtype=np.float32)\n", - "hOut = np.zeros(n).astype(dtype=np.float32)" - ] - }, - { - "cell_type": "markdown", - "id": "c8500c11", - "metadata": {}, - "source": [ - "With the input data `a`, `x`, and `y` created for the SAXPY transform device,\n", - "resources must be allocated to store the data using `cuMemAlloc`. To allow for\n", - "more overlap between compute and data movement, use the asynchronous function\n", - "`cuMemcpyHtoDAsync`. It returns control to the CPU immediately following command\n", - "execution.\n", - "\n", - "Python doesn’t have a natural concept of pointers, yet `cuMemcpyHtoDAsync` expects\n", - "`void*`. Therefore, `XX.ctypes.data` retrieves the pointer value associated with\n", - "XX." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "8857bc47", - "metadata": {}, - "outputs": [], - "source": [ - "dXclass = checkCudaErrors(driver.cuMemAlloc(bufferSize))\n", - "dYclass = checkCudaErrors(driver.cuMemAlloc(bufferSize))\n", - "dOutclass = checkCudaErrors(driver.cuMemAlloc(bufferSize))\n", - "\n", - "stream = checkCudaErrors(driver.cuStreamCreate(0))\n", - "\n", - "checkCudaErrors(driver.cuMemcpyHtoDAsync(\n", - " dXclass, hX.ctypes.data, bufferSize, stream\n", - "))\n", - "checkCudaErrors(driver.cuMemcpyHtoDAsync(\n", - " dYclass, hY.ctypes.data, bufferSize, stream\n", - "))" - ] - }, - { - "cell_type": "markdown", - "id": "7ca1fba2", - "metadata": {}, - "source": [ - "With data prep and resources allocation finished, the kernel is ready to be\n", - "launched. To pass the location of the data on the device to the kernel execution\n", - "configuration, you must retrieve the device pointer. In the following code\n", - "example, `int(dXclass)` retries the pointer value of `dXclass`, which is\n", - "`CUdeviceptr`, and assigns a memory size to store this value using `np.array`.\n", - "\n", - "Like `cuMemcpyHtoDAsync`, `cuLaunchKernel` expects `void**` in the argument list. In\n", - "the earlier code example, it creates `void**` by grabbing the `void*` value of each\n", - "individual argument and placing them into its own contiguous memory." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "b4b546c3", - "metadata": {}, - "outputs": [], - "source": [ - "# The following code example is not intuitive \n", - "# Subject to change in a future release\n", - "dX = np.array([int(dXclass)], dtype=np.uint64)\n", - "dY = np.array([int(dYclass)], dtype=np.uint64)\n", - "dOut = np.array([int(dOutclass)], dtype=np.uint64)\n", - "\n", - "args = [a, dX, dY, dOut, n]\n", - "args = np.array([arg.ctypes.data for arg in args], dtype=np.uint64)" - ] - }, - { - "cell_type": "markdown", - "id": "9b7af124", - "metadata": {}, - "source": [ - "Now the kernel can be launched:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "b71f9275", - "metadata": {}, - "outputs": [], - "source": [ - "checkCudaErrors(driver.cuLaunchKernel(\n", - " kernel,\n", - " NUM_BLOCKS, # grid x dim\n", - " 1, # grid y dim\n", - " 1, # grid z dim\n", - " NUM_THREADS, # block x dim\n", - " 1, # block y dim\n", - " 1, # block z dim\n", - " 0, # dynamic shared memory\n", - " stream, # stream\n", - " args.ctypes.data, # kernel arguments\n", - " 0, # extra (ignore)\n", - "))\n", - "\n", - "checkCudaErrors(driver.cuMemcpyDtoHAsync(\n", - " hOut.ctypes.data, dOutclass, bufferSize, stream\n", - "))\n", - "checkCudaErrors(driver.cuStreamSynchronize(stream))" - ] - }, - { - "cell_type": "markdown", - "id": "1491ba3c", - "metadata": {}, - "source": [ - "The `cuLaunchKernel` function takes the compiled module kernel and execution\n", - "configuration parameters. The device code is launched in the same stream as the\n", - "data transfers. That ensures that the kernel’s compute is performed only after\n", - "the data has finished transfer, as all API calls and kernel launches within a\n", - "stream are serialized. After the call to transfer data back to the host is\n", - "executed, `cuStreamSynchronize` is used to halt CPU execution until all operations\n", - "in the designated stream are finished." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "906c79ed", - "metadata": {}, - "outputs": [], - "source": [ - "# Assert values are same after running kernel\n", - "hZ = a * hX + hY\n", - "if not np.allclose(hOut, hZ):\n", - " raise ValueError(\"Error outside tolerance for host-device vectors\")" - ] - }, - { - "cell_type": "markdown", - "id": "dbc02b13", - "metadata": {}, - "source": [ - "Perform verification of the data to ensure correctness and finish the code with\n", - "memory clean up." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "969b2717", - "metadata": {}, - "outputs": [], - "source": [ - "checkCudaErrors(driver.cuStreamDestroy(stream))\n", - "checkCudaErrors(driver.cuMemFree(dXclass))\n", - "checkCudaErrors(driver.cuMemFree(dYclass))\n", - "checkCudaErrors(driver.cuMemFree(dOutclass))\n", - "checkCudaErrors(driver.cuModuleUnload(module))\n", - "checkCudaErrors(driver.cuCtxDestroy(context))" - ] - }, - { - "cell_type": "markdown", - "id": "d37edda7", - "metadata": {}, - "source": [ - "## Performance\n", - "\n", - "Performance is a primary driver in targeting GPUs in your application. So, how\n", - "does the above code compare to its C++ version? Table 1 shows that the results\n", - "are nearly identical. [NVIDIA NSight\n", - "Systems](https://developer.nvidia.com/nsight-systems) was used to retrieve\n", - "kernel performance and [CUDA\n", - "Events](https://developer.nvidia.com/blog/how-implement-performance-metrics-cuda-cc/)\n", - "was used for application performance.\n", - "\n", - "The following command was used to profile the applications:\n", - "\n", - "```{code-block} shell\n", - "nsys profile -s none -t cuda --stats=true \n", - "```\n", - "\n", - "```{list-table} Kernel and application performance comparison.\n", - ":header-rows: 1\n", - "\n", - "* -\n", - " - C++\n", - " - Python \n", - "* - Kernel execution\n", - " - 352µs\n", - " - 352µs\n", - "* - Application execution\n", - " - 1076ms\n", - " - 1080ms\n", - "```\n", - "\n", - "CUDA Python is also compatible with [NVIDIA Nsight\n", - "Compute](https://developer.nvidia.com/nsight-compute), which is an\n", - "interactive kernel profiler for CUDA applications. It allows you to have\n", - "detailed insights into kernel performance. This is useful when you’re trying to\n", - "maximize performance ({numref}`Figure 1`).\n", - "\n", - "```{figure} _static/images/Nsigth-Compute-CLI-625x473.png\n", - ":name: Figure 1\n", - "\n", - "Screenshot of Nsight Compute CLI output of CUDA Python example.\n", - "```\n", - "\n", - "## Future of CUDA Python\n", - "\n", - "The current bindings are built to match the C APIs as closely as possible.\n", - "\n", - "The next goal is to build a higher-level \"object oriented\" API on top of\n", - "current CUDA Python bindings and provide an overall more Pythonic experience.\n", - "One such example would be to raise exceptions on errors." - ] - } - ], - "metadata": { - "jupytext": { - "text_representation": { - "format_name": "myst" - } - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.8" - }, - "source_map": [ - 8, - 51, - 54, - 61, - 80, - 89, - 100, - 111, - 134, - 141, - 144, - 151, - 157, - 164, - 175, - 187, - 200, - 212, - 221, - 225, - 244, - 254, - 259, - 264, - 271 - ] - }, - "nbformat": 4, - "nbformat_minor": 5 -} \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.buildinfo b/docs/pr-preview/pr-397/cuda-bindings/latest/.buildinfo deleted file mode 100644 index 870b0c27..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 4b7b5da6fc64ee49e1c98a139b04e159 -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/api.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/api.doctree deleted file mode 100644 index 09546f9e..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/api.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/environment.pickle b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/environment.pickle deleted file mode 100644 index 95b23996..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/environment.pickle and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/environment_variables.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/environment_variables.doctree deleted file mode 100644 index 87793976..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/environment_variables.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/index.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/index.doctree deleted file mode 100644 index 69c670ad..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/index.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/install.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/install.doctree deleted file mode 100644 index 5dfef093..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/install.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/driver.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/driver.doctree deleted file mode 100644 index b7ed6169..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/driver.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/nvjitlink.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/nvjitlink.doctree deleted file mode 100644 index 6f207322..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/nvjitlink.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/nvrtc.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/nvrtc.doctree deleted file mode 100644 index 3ce240de..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/nvrtc.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/runtime.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/runtime.doctree deleted file mode 100644 index 49192ddd..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/module/runtime.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/motivation.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/motivation.doctree deleted file mode 100644 index 2ed7da06..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/motivation.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/overview.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/overview.doctree deleted file mode 100644 index a3b97130..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/overview.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release.doctree deleted file mode 100644 index b5c9f8e0..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.4.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.4.0-notes.doctree deleted file mode 100644 index b99de4ed..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.4.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.5.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.5.0-notes.doctree deleted file mode 100644 index 8b7c6d8e..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.5.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.6.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.6.0-notes.doctree deleted file mode 100644 index 28f2309a..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.6.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.6.1-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.6.1-notes.doctree deleted file mode 100644 index ecf34852..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.6.1-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.7.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.7.0-notes.doctree deleted file mode 100644 index 2bf329e7..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.7.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.7.1-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.7.1-notes.doctree deleted file mode 100644 index e2013cd3..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.7.1-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.0-notes.doctree deleted file mode 100644 index d23ec264..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.1-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.1-notes.doctree deleted file mode 100644 index 66411933..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.1-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.2-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.2-notes.doctree deleted file mode 100644 index c76c07aa..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.2-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.3-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.3-notes.doctree deleted file mode 100644 index 70b46cae..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.3-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.4-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.4-notes.doctree deleted file mode 100644 index c1b0be86..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.4-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.5-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.5-notes.doctree deleted file mode 100644 index df1d2d1e..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/11.8.5-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.0.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.0.0-notes.doctree deleted file mode 100644 index 1440ef9b..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.0.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.1.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.1.0-notes.doctree deleted file mode 100644 index e8e17f68..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.1.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.2.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.2.0-notes.doctree deleted file mode 100644 index 48af906f..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.2.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.2.1-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.2.1-notes.doctree deleted file mode 100644 index 87feb715..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.2.1-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.3.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.3.0-notes.doctree deleted file mode 100644 index 4c81b3b7..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.3.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.4.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.4.0-notes.doctree deleted file mode 100644 index ece9dc5c..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.4.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.5.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.5.0-notes.doctree deleted file mode 100644 index af8561aa..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.5.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.0-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.0-notes.doctree deleted file mode 100644 index 4277f93d..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.0-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.1-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.1-notes.doctree deleted file mode 100644 index 4ff55b56..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.1-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.2-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.2-notes.doctree deleted file mode 100644 index 0bd1bd54..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.6.2-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.x.y-notes.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.x.y-notes.doctree deleted file mode 100644 index 02e2a9de..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/release/12.x.y-notes.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/tips_and_tricks.doctree b/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/tips_and_tricks.doctree deleted file mode 100644 index 4a25a233..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/.doctrees/tips_and_tricks.doctree and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_images/Nsigth-Compute-CLI-625x473.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_images/Nsigth-Compute-CLI-625x473.png deleted file mode 100644 index 9895798f..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_images/Nsigth-Compute-CLI-625x473.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/api.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/api.rst.txt deleted file mode 100644 index 94dc5cbe..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/api.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -------------------------- -CUDA Python API Reference -------------------------- - -.. toctree:: - :maxdepth: 3 - :caption: CaptionHolder: - - module/driver - module/runtime - module/nvrtc - module/nvjitlink diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/environment_variables.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/environment_variables.md.txt deleted file mode 100644 index 7329e582..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/environment_variables.md.txt +++ /dev/null @@ -1,13 +0,0 @@ -# Environment Variables - -## Build-Time Environment Variables - -- `CUDA_HOME` or `CUDA_PATH`: Specifies the location of the CUDA Toolkit. - -- `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_, where is derived from the cuda toolkit libraries used to build cuda-bindings. - -- `CUDA_PYTHON_PARALLEL_LEVEL` (previously `PARALLEL_LEVEL`) : int, sets the number of threads used in the compilation of extension modules. Not setting it or setting it to 0 would disable parallel builds. - -## Runtime Environment Variables - -- `CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM` : When set to 1, the default stream is the per-thread default stream. When set to 0, the default stream is the legacy default stream. This defaults to 0, for the legacy default stream. See [Stream Synchronization Behavior](https://docs.nvidia.com/cuda/cuda-runtime-api/stream-sync-behavior.html) for an explanation of the legacy and per-thread default streams. diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/index.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/index.rst.txt deleted file mode 100644 index a1232001..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/index.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -``cuda.bindings``: Low-level Python Bindings for CUDA -===================================================== - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - install.md - overview.md - motivation.md - release.md - environment_variables.md - api.rst - tips_and_tricks.rst - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/install.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/install.md.txt deleted file mode 100644 index 95420456..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/install.md.txt +++ /dev/null @@ -1,54 +0,0 @@ -# Installation - -## Runtime Requirements - -`cuda.bindings` supports the same platforms as CUDA. Runtime dependencies are: - -* Driver: Linux (450.80.02 or later) Windows (456.38 or later) -* CUDA Toolkit 12.x - -```{note} -Only the NVRTC and nvJitLink redistributable components are required from the CUDA Toolkit, which can be obtained via PyPI, Conda, or local installers (as described in the CUDA Toolkit [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) and [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) Installation Guides). -``` - -## Installing from PyPI - -```console -$ pip install cuda-python -``` - -## Installing from Conda - -```console -$ conda install -c conda-forge cuda-python -``` - -## Installing from Source - -### Requirements - -* CUDA Toolkit headers[^1] - -[^1]: User projects that `cimport` CUDA symbols in Cython must also use CUDA Toolkit (CTK) types as provided by the `cuda.bindings` major.minor version. This results in CTK headers becoming a transitive dependency of downstream projects through CUDA Python. - -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: - -```console -$ export CUDA_HOME=/usr/local/cuda -``` - -See [Environment Variables](environment_variables.md) for a description of other build-time environment variables. - -```{note} -Only `cydriver`, `cyruntime` and `cynvrtc` are impacted by the header requirement. -``` - -### Editable Install - -You can use - -```console -$ pip install -v -e . -``` - -to install the module as editable in your current Python environment (e.g. for testing of porting other libraries to use the binding). diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/driver.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/driver.rst.txt deleted file mode 100644 index c70f742d..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/driver.rst.txt +++ /dev/null @@ -1,6782 +0,0 @@ ------- -driver ------- - -Data types used by CUDA driver ------------------------------- - - - -.. autoclass:: cuda.bindings.driver.CUuuid_st -.. autoclass:: cuda.bindings.driver.CUmemFabricHandle_st -.. autoclass:: cuda.bindings.driver.CUipcEventHandle_st -.. autoclass:: cuda.bindings.driver.CUipcMemHandle_st -.. autoclass:: cuda.bindings.driver.CUstreamBatchMemOpParams_union -.. autoclass:: cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1_st -.. autoclass:: cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUasyncNotificationInfo_st -.. autoclass:: cuda.bindings.driver.CUdevprop_st -.. autoclass:: cuda.bindings.driver.CUaccessPolicyWindow_st -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3_st -.. autoclass:: cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUDA_CONDITIONAL_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUgraphEdgeData_st -.. autoclass:: cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUlaunchMemSyncDomainMap_st -.. autoclass:: cuda.bindings.driver.CUlaunchAttributeValue_union -.. autoclass:: cuda.bindings.driver.CUlaunchAttribute_st -.. autoclass:: cuda.bindings.driver.CUlaunchConfig_st -.. autoclass:: cuda.bindings.driver.CUexecAffinitySmCount_st -.. autoclass:: cuda.bindings.driver.CUexecAffinityParam_st -.. autoclass:: cuda.bindings.driver.CUctxCigParam_st -.. autoclass:: cuda.bindings.driver.CUctxCreateParams_st -.. autoclass:: cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable_st -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY2D_st -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY3D_st -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY3D_PEER_st -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_st -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_st -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_st -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_st -.. autoclass:: cuda.bindings.driver.CUDA_RESOURCE_DESC_st -.. autoclass:: cuda.bindings.driver.CUDA_TEXTURE_DESC_st -.. autoclass:: cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_st -.. autoclass:: cuda.bindings.driver.CUtensorMap_st -.. autoclass:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_st -.. autoclass:: cuda.bindings.driver.CUDA_LAUNCH_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_st -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_st -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_st -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_st -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUarrayMapInfo_st -.. autoclass:: cuda.bindings.driver.CUmemLocation_st -.. autoclass:: cuda.bindings.driver.CUmemAllocationProp_st -.. autoclass:: cuda.bindings.driver.CUmulticastObjectProp_st -.. autoclass:: cuda.bindings.driver.CUmemAccessDesc_st -.. autoclass:: cuda.bindings.driver.CUgraphExecUpdateResultInfo_st -.. autoclass:: cuda.bindings.driver.CUmemPoolProps_st -.. autoclass:: cuda.bindings.driver.CUmemPoolPtrExportData_st -.. autoclass:: cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1_st -.. autoclass:: cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2_st -.. autoclass:: cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS_st -.. autoclass:: cuda.bindings.driver.CUgraphNodeParams_st -.. autoclass:: cuda.bindings.driver.CUeglFrame_st -.. autoclass:: cuda.bindings.driver.CUipcMem_flags - - .. autoattribute:: cuda.bindings.driver.CUipcMem_flags.CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS - - - Automatically enable peer access between remote devices as needed - -.. autoclass:: cuda.bindings.driver.CUmemAttach_flags - - .. autoattribute:: cuda.bindings.driver.CUmemAttach_flags.CU_MEM_ATTACH_GLOBAL - - - Memory can be accessed by any stream on any device - - - .. autoattribute:: cuda.bindings.driver.CUmemAttach_flags.CU_MEM_ATTACH_HOST - - - Memory cannot be accessed by any stream on any device - - - .. autoattribute:: cuda.bindings.driver.CUmemAttach_flags.CU_MEM_ATTACH_SINGLE - - - Memory can only be accessed by a single stream on the associated device - -.. autoclass:: cuda.bindings.driver.CUctx_flags - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_SCHED_AUTO - - - Automatic scheduling - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_SCHED_SPIN - - - Set spin as default scheduling - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_SCHED_YIELD - - - Set yield as default scheduling - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_SCHED_BLOCKING_SYNC - - - Set blocking synchronization as default scheduling - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_BLOCKING_SYNC - - - Set blocking synchronization as default scheduling [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_SCHED_MASK - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_MAP_HOST - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_LMEM_RESIZE_TO_MAX - - - Keep local memory allocation after launch - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_COREDUMP_ENABLE - - - Trigger coredumps from exceptions in this context - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_USER_COREDUMP_ENABLE - - - Enable user pipe to trigger coredumps in this context - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_SYNC_MEMOPS - - - Ensure synchronous memory operations on this context will synchronize - - - .. autoattribute:: cuda.bindings.driver.CUctx_flags.CU_CTX_FLAGS_MASK - -.. autoclass:: cuda.bindings.driver.CUevent_sched_flags - - .. autoattribute:: cuda.bindings.driver.CUevent_sched_flags.CU_EVENT_SCHED_AUTO - - - Automatic scheduling - - - .. autoattribute:: cuda.bindings.driver.CUevent_sched_flags.CU_EVENT_SCHED_SPIN - - - Set spin as default scheduling - - - .. autoattribute:: cuda.bindings.driver.CUevent_sched_flags.CU_EVENT_SCHED_YIELD - - - Set yield as default scheduling - - - .. autoattribute:: cuda.bindings.driver.CUevent_sched_flags.CU_EVENT_SCHED_BLOCKING_SYNC - - - Set blocking synchronization as default scheduling - -.. autoclass:: cuda.bindings.driver.cl_event_flags - - .. autoattribute:: cuda.bindings.driver.cl_event_flags.NVCL_EVENT_SCHED_AUTO - - - Automatic scheduling - - - .. autoattribute:: cuda.bindings.driver.cl_event_flags.NVCL_EVENT_SCHED_SPIN - - - Set spin as default scheduling - - - .. autoattribute:: cuda.bindings.driver.cl_event_flags.NVCL_EVENT_SCHED_YIELD - - - Set yield as default scheduling - - - .. autoattribute:: cuda.bindings.driver.cl_event_flags.NVCL_EVENT_SCHED_BLOCKING_SYNC - - - Set blocking synchronization as default scheduling - -.. autoclass:: cuda.bindings.driver.cl_context_flags - - .. autoattribute:: cuda.bindings.driver.cl_context_flags.NVCL_CTX_SCHED_AUTO - - - Automatic scheduling - - - .. autoattribute:: cuda.bindings.driver.cl_context_flags.NVCL_CTX_SCHED_SPIN - - - Set spin as default scheduling - - - .. autoattribute:: cuda.bindings.driver.cl_context_flags.NVCL_CTX_SCHED_YIELD - - - Set yield as default scheduling - - - .. autoattribute:: cuda.bindings.driver.cl_context_flags.NVCL_CTX_SCHED_BLOCKING_SYNC - - - Set blocking synchronization as default scheduling - -.. autoclass:: cuda.bindings.driver.CUstream_flags - - .. autoattribute:: cuda.bindings.driver.CUstream_flags.CU_STREAM_DEFAULT - - - Default stream flag - - - .. autoattribute:: cuda.bindings.driver.CUstream_flags.CU_STREAM_NON_BLOCKING - - - Stream does not synchronize with stream 0 (the NULL stream) - -.. autoclass:: cuda.bindings.driver.CUevent_flags - - .. autoattribute:: cuda.bindings.driver.CUevent_flags.CU_EVENT_DEFAULT - - - Default event flag - - - .. autoattribute:: cuda.bindings.driver.CUevent_flags.CU_EVENT_BLOCKING_SYNC - - - Event uses blocking synchronization - - - .. autoattribute:: cuda.bindings.driver.CUevent_flags.CU_EVENT_DISABLE_TIMING - - - Event will not record timing data - - - .. autoattribute:: cuda.bindings.driver.CUevent_flags.CU_EVENT_INTERPROCESS - - - Event is suitable for interprocess use. CU_EVENT_DISABLE_TIMING must be set - -.. autoclass:: cuda.bindings.driver.CUevent_record_flags - - .. autoattribute:: cuda.bindings.driver.CUevent_record_flags.CU_EVENT_RECORD_DEFAULT - - - Default event record flag - - - .. autoattribute:: cuda.bindings.driver.CUevent_record_flags.CU_EVENT_RECORD_EXTERNAL - - - When using stream capture, create an event record node instead of the default behavior. This flag is invalid when used outside of capture. - -.. autoclass:: cuda.bindings.driver.CUevent_wait_flags - - .. autoattribute:: cuda.bindings.driver.CUevent_wait_flags.CU_EVENT_WAIT_DEFAULT - - - Default event wait flag - - - .. autoattribute:: cuda.bindings.driver.CUevent_wait_flags.CU_EVENT_WAIT_EXTERNAL - - - When using stream capture, create an event wait node instead of the default behavior. This flag is invalid when used outside of capture. - -.. autoclass:: cuda.bindings.driver.CUstreamWaitValue_flags - - .. autoattribute:: cuda.bindings.driver.CUstreamWaitValue_flags.CU_STREAM_WAIT_VALUE_GEQ - - - Wait until (int32_t)(*addr - value) >= 0 (or int64_t for 64 bit values). Note this is a cyclic comparison which ignores wraparound. (Default behavior.) - - - .. autoattribute:: cuda.bindings.driver.CUstreamWaitValue_flags.CU_STREAM_WAIT_VALUE_EQ - - - Wait until *addr == value. - - - .. autoattribute:: cuda.bindings.driver.CUstreamWaitValue_flags.CU_STREAM_WAIT_VALUE_AND - - - Wait until (*addr & value) != 0. - - - .. autoattribute:: cuda.bindings.driver.CUstreamWaitValue_flags.CU_STREAM_WAIT_VALUE_NOR - - - Wait until ~(*addr | value) != 0. Support for this operation can be queried with :py:obj:`~.cuDeviceGetAttribute()` and :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR`. - - - .. autoattribute:: cuda.bindings.driver.CUstreamWaitValue_flags.CU_STREAM_WAIT_VALUE_FLUSH - - - Follow the wait operation with a flush of outstanding remote writes. This means that, if a remote write operation is guaranteed to have reached the device before the wait can be satisfied, that write is guaranteed to be visible to downstream device work. The device is permitted to reorder remote writes internally. For example, this flag would be required if two remote writes arrive in a defined order, the wait is satisfied by the second write, and downstream work needs to observe the first write. Support for this operation is restricted to selected platforms and can be queried with :py:obj:`~.CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES`. - -.. autoclass:: cuda.bindings.driver.CUstreamWriteValue_flags - - .. autoattribute:: cuda.bindings.driver.CUstreamWriteValue_flags.CU_STREAM_WRITE_VALUE_DEFAULT - - - Default behavior - - - .. autoattribute:: cuda.bindings.driver.CUstreamWriteValue_flags.CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER - - - Permits the write to be reordered with writes which were issued before it, as a performance optimization. Normally, :py:obj:`~.cuStreamWriteValue32` will provide a memory fence before the write, which has similar semantics to __threadfence_system() but is scoped to the stream rather than a CUDA thread. This flag is not supported in the v2 API. - -.. autoclass:: cuda.bindings.driver.CUstreamBatchMemOpType - - .. autoattribute:: cuda.bindings.driver.CUstreamBatchMemOpType.CU_STREAM_MEM_OP_WAIT_VALUE_32 - - - Represents a :py:obj:`~.cuStreamWaitValue32` operation - - - .. autoattribute:: cuda.bindings.driver.CUstreamBatchMemOpType.CU_STREAM_MEM_OP_WRITE_VALUE_32 - - - Represents a :py:obj:`~.cuStreamWriteValue32` operation - - - .. autoattribute:: cuda.bindings.driver.CUstreamBatchMemOpType.CU_STREAM_MEM_OP_WAIT_VALUE_64 - - - Represents a :py:obj:`~.cuStreamWaitValue64` operation - - - .. autoattribute:: cuda.bindings.driver.CUstreamBatchMemOpType.CU_STREAM_MEM_OP_WRITE_VALUE_64 - - - Represents a :py:obj:`~.cuStreamWriteValue64` operation - - - .. autoattribute:: cuda.bindings.driver.CUstreamBatchMemOpType.CU_STREAM_MEM_OP_BARRIER - - - Insert a memory barrier of the specified type - - - .. autoattribute:: cuda.bindings.driver.CUstreamBatchMemOpType.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES - - - This has the same effect as :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH`, but as a standalone operation. - -.. autoclass:: cuda.bindings.driver.CUstreamMemoryBarrier_flags - - .. autoattribute:: cuda.bindings.driver.CUstreamMemoryBarrier_flags.CU_STREAM_MEMORY_BARRIER_TYPE_SYS - - - System-wide memory barrier. - - - .. autoattribute:: cuda.bindings.driver.CUstreamMemoryBarrier_flags.CU_STREAM_MEMORY_BARRIER_TYPE_GPU - - - Limit memory barrier scope to the GPU. - -.. autoclass:: cuda.bindings.driver.CUoccupancy_flags - - .. autoattribute:: cuda.bindings.driver.CUoccupancy_flags.CU_OCCUPANCY_DEFAULT - - - Default behavior - - - .. autoattribute:: cuda.bindings.driver.CUoccupancy_flags.CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE - - - Assume global caching is enabled and cannot be automatically turned off - -.. autoclass:: cuda.bindings.driver.CUstreamUpdateCaptureDependencies_flags - - .. autoattribute:: cuda.bindings.driver.CUstreamUpdateCaptureDependencies_flags.CU_STREAM_ADD_CAPTURE_DEPENDENCIES - - - Add new nodes to the dependency set - - - .. autoattribute:: cuda.bindings.driver.CUstreamUpdateCaptureDependencies_flags.CU_STREAM_SET_CAPTURE_DEPENDENCIES - - - Replace the dependency set with the new nodes - -.. autoclass:: cuda.bindings.driver.CUasyncNotificationType - - .. autoattribute:: cuda.bindings.driver.CUasyncNotificationType.CU_ASYNC_NOTIFICATION_TYPE_OVER_BUDGET - -.. autoclass:: cuda.bindings.driver.CUarray_format - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNSIGNED_INT8 - - - Unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNSIGNED_INT16 - - - Unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNSIGNED_INT32 - - - Unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SIGNED_INT8 - - - Signed 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SIGNED_INT16 - - - Signed 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SIGNED_INT32 - - - Signed 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_HALF - - - 16-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_FLOAT - - - 32-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_NV12 - - - 8-bit YUV planar format, with 4:2:0 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNORM_INT8X1 - - - 1 channel unsigned 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNORM_INT8X2 - - - 2 channel unsigned 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNORM_INT8X4 - - - 4 channel unsigned 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNORM_INT16X1 - - - 1 channel unsigned 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNORM_INT16X2 - - - 2 channel unsigned 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_UNORM_INT16X4 - - - 4 channel unsigned 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SNORM_INT8X1 - - - 1 channel signed 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SNORM_INT8X2 - - - 2 channel signed 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SNORM_INT8X4 - - - 4 channel signed 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SNORM_INT16X1 - - - 1 channel signed 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SNORM_INT16X2 - - - 2 channel signed 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_SNORM_INT16X4 - - - 4 channel signed 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC1_UNORM - - - 4 channel unsigned normalized block-compressed (BC1 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC1_UNORM_SRGB - - - 4 channel unsigned normalized block-compressed (BC1 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC2_UNORM - - - 4 channel unsigned normalized block-compressed (BC2 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC2_UNORM_SRGB - - - 4 channel unsigned normalized block-compressed (BC2 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC3_UNORM - - - 4 channel unsigned normalized block-compressed (BC3 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC3_UNORM_SRGB - - - 4 channel unsigned normalized block-compressed (BC3 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC4_UNORM - - - 1 channel unsigned normalized block-compressed (BC4 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC4_SNORM - - - 1 channel signed normalized block-compressed (BC4 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC5_UNORM - - - 2 channel unsigned normalized block-compressed (BC5 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC5_SNORM - - - 2 channel signed normalized block-compressed (BC5 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC6H_UF16 - - - 3 channel unsigned half-float block-compressed (BC6H compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC6H_SF16 - - - 3 channel signed half-float block-compressed (BC6H compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC7_UNORM - - - 4 channel unsigned normalized block-compressed (BC7 compression) format - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_BC7_UNORM_SRGB - - - 4 channel unsigned normalized block-compressed (BC7 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_P010 - - - 10-bit YUV planar format, with 4:2:0 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_P016 - - - 16-bit YUV planar format, with 4:2:0 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_NV16 - - - 8-bit YUV planar format, with 4:2:2 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_P210 - - - 10-bit YUV planar format, with 4:2:2 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_P216 - - - 16-bit YUV planar format, with 4:2:2 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_YUY2 - - - 2 channel, 8-bit YUV packed planar format, with 4:2:2 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_Y210 - - - 2 channel, 10-bit YUV packed planar format, with 4:2:2 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_Y216 - - - 2 channel, 16-bit YUV packed planar format, with 4:2:2 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_AYUV - - - 4 channel, 8-bit YUV packed planar format, with 4:4:4 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_Y410 - - - 10-bit YUV packed planar format, with 4:4:4 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_Y416 - - - 4 channel, 12-bit YUV packed planar format, with 4:4:4 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_Y444_PLANAR8 - - - 3 channel 8-bit YUV planar format, with 4:4:4 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_Y444_PLANAR10 - - - 3 channel 10-bit YUV planar format, with 4:4:4 sampling - - - .. autoattribute:: cuda.bindings.driver.CUarray_format.CU_AD_FORMAT_MAX - -.. autoclass:: cuda.bindings.driver.CUaddress_mode - - .. autoattribute:: cuda.bindings.driver.CUaddress_mode.CU_TR_ADDRESS_MODE_WRAP - - - Wrapping address mode - - - .. autoattribute:: cuda.bindings.driver.CUaddress_mode.CU_TR_ADDRESS_MODE_CLAMP - - - Clamp to edge address mode - - - .. autoattribute:: cuda.bindings.driver.CUaddress_mode.CU_TR_ADDRESS_MODE_MIRROR - - - Mirror address mode - - - .. autoattribute:: cuda.bindings.driver.CUaddress_mode.CU_TR_ADDRESS_MODE_BORDER - - - Border address mode - -.. autoclass:: cuda.bindings.driver.CUfilter_mode - - .. autoattribute:: cuda.bindings.driver.CUfilter_mode.CU_TR_FILTER_MODE_POINT - - - Point filter mode - - - .. autoattribute:: cuda.bindings.driver.CUfilter_mode.CU_TR_FILTER_MODE_LINEAR - - - Linear filter mode - -.. autoclass:: cuda.bindings.driver.CUdevice_attribute - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK - - - Maximum number of threads per block - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X - - - Maximum block dimension X - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y - - - Maximum block dimension Y - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z - - - Maximum block dimension Z - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X - - - Maximum grid dimension X - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y - - - Maximum grid dimension Y - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z - - - Maximum grid dimension Z - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK - - - Maximum shared memory available per block in bytes - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK - - - Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY - - - Memory available on device for constant variables in a CUDA C kernel in bytes - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_WARP_SIZE - - - Warp size in threads - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_PITCH - - - Maximum pitch in bytes allowed by memory copies - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK - - - Maximum number of 32-bit registers available per block - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK - - - Deprecated, use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CLOCK_RATE - - - Typical clock frequency in kilohertz - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT - - - Alignment requirement for textures - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GPU_OVERLAP - - - Device can possibly copy memory and execute a kernel concurrently. Deprecated. Use instead CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT - - - Number of multiprocessors on device - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT - - - Specifies whether there is a run time limit on kernels - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_INTEGRATED - - - Device is integrated with host memory - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY - - - Device can map host memory into CUDA address space - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_MODE - - - Compute mode (See :py:obj:`~.CUcomputemode` for details) - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH - - - Maximum 1D texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH - - - Maximum 2D texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT - - - Maximum 2D texture height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH - - - Maximum 3D texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT - - - Maximum 3D texture height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH - - - Maximum 3D texture depth - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH - - - Maximum 2D layered texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT - - - Maximum 2D layered texture height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS - - - Maximum layers in a 2D layered texture - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH - - - Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT - - - Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES - - - Deprecated, use CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT - - - Alignment requirement for surfaces - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS - - - Device can possibly execute multiple kernels concurrently - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_ECC_ENABLED - - - Device has ECC support enabled - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_PCI_BUS_ID - - - PCI bus ID of the device - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID - - - PCI device ID of the device - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_TCC_DRIVER - - - Device is using TCC driver model - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE - - - Peak memory clock frequency in kilohertz - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH - - - Global memory bus width in bits - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE - - - Size of L2 cache in bytes - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR - - - Maximum resident threads per multiprocessor - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT - - - Number of asynchronous engines - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING - - - Device shares a unified address space with the host - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH - - - Maximum 1D layered texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS - - - Maximum layers in a 1D layered texture - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER - - - Deprecated, do not use. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH - - - Maximum 2D texture width if CUDA_ARRAY3D_TEXTURE_GATHER is set - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT - - - Maximum 2D texture height if CUDA_ARRAY3D_TEXTURE_GATHER is set - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE - - - Alternate maximum 3D texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE - - - Alternate maximum 3D texture height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE - - - Alternate maximum 3D texture depth - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID - - - PCI domain ID of the device - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT - - - Pitch alignment requirement for textures - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH - - - Maximum cubemap texture width/height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH - - - Maximum cubemap layered texture width/height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS - - - Maximum layers in a cubemap layered texture - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH - - - Maximum 1D surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH - - - Maximum 2D surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT - - - Maximum 2D surface height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH - - - Maximum 3D surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT - - - Maximum 3D surface height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH - - - Maximum 3D surface depth - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH - - - Maximum 1D layered surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS - - - Maximum layers in a 1D layered surface - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH - - - Maximum 2D layered surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT - - - Maximum 2D layered surface height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS - - - Maximum layers in a 2D layered surface - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH - - - Maximum cubemap surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH - - - Maximum cubemap layered surface width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS - - - Maximum layers in a cubemap layered surface - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH - - - Deprecated, do not use. Use cudaDeviceGetTexture1DLinearMaxWidth() or :py:obj:`~.cuDeviceGetTexture1DLinearMaxWidth()` instead. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH - - - Maximum 2D linear texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT - - - Maximum 2D linear texture height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH - - - Maximum 2D linear texture pitch in bytes - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH - - - Maximum mipmapped 2D texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT - - - Maximum mipmapped 2D texture height - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR - - - Major compute capability version number - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR - - - Minor compute capability version number - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH - - - Maximum mipmapped 1D texture width - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED - - - Device supports stream priorities - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED - - - Device supports caching globals in L1 - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED - - - Device supports caching locals in L1 - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR - - - Maximum shared memory available per multiprocessor in bytes - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR - - - Maximum number of 32-bit registers available per multiprocessor - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY - - - Device can allocate managed memory on this system - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD - - - Device is on a multi-GPU board - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID - - - Unique id for a group of devices on the same multi-GPU board - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED - - - Link between the device and the host supports native atomic operations (this is a placeholder attribute, and is not supported on any current hardware) - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO - - - Ratio of single precision performance (in floating-point operations per second) to double precision performance - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS - - - Device supports coherently accessing pageable memory without calling cudaHostRegister on it - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS - - - Device can coherently access managed memory concurrently with the CPU - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED - - - Device supports compute preemption. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM - - - Device can access host registered memory at the same virtual address as the CPU - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS_V1 - - - Deprecated, along with v1 MemOps API, :py:obj:`~.cuStreamBatchMemOp` and related APIs are supported. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS_V1 - - - Deprecated, along with v1 MemOps API, 64-bit operations are supported in :py:obj:`~.cuStreamBatchMemOp` and related APIs. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V1 - - - Deprecated, along with v1 MemOps API, :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH - - - Device supports launching cooperative kernels via :py:obj:`~.cuLaunchCooperativeKernel` - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH - - - Deprecated, :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` is deprecated. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN - - - Maximum optin shared memory per block - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES - - - The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the :py:obj:`~.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES` MemOp are supported on the device. See :py:obj:`~.Stream Memory Operations` for additional details. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED - - - Device supports host memory registration via :py:obj:`~.cudaHostRegister`. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES - - - Device accesses pageable memory via the host's page tables. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST - - - The host can directly access managed memory on the device without migration. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED - - - Deprecated, Use CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED - - - Device supports virtual memory management APIs like :py:obj:`~.cuMemAddressReserve`, :py:obj:`~.cuMemCreate`, :py:obj:`~.cuMemMap` and related APIs - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED - - - Device supports exporting memory to a posix file descriptor with :py:obj:`~.cuMemExportToShareableHandle`, if requested via :py:obj:`~.cuMemCreate` - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED - - - Device supports exporting memory to a Win32 NT handle with :py:obj:`~.cuMemExportToShareableHandle`, if requested via :py:obj:`~.cuMemCreate` - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED - - - Device supports exporting memory to a Win32 KMT handle with :py:obj:`~.cuMemExportToShareableHandle`, if requested via :py:obj:`~.cuMemCreate` - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR - - - Maximum number of blocks per multiprocessor - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED - - - Device supports compression of memory - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE - - - Maximum L2 persisting lines capacity setting in bytes. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE - - - Maximum value of :py:obj:`~.CUaccessPolicyWindow.num_bytes`. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED - - - Device supports specifying the GPUDirect RDMA flag with :py:obj:`~.cuMemCreate` - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK - - - Shared memory reserved by CUDA driver per block in bytes - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED - - - Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED - - - Device supports using the :py:obj:`~.cuMemHostRegister` flag :py:obj:`~.CU_MEMHOSTERGISTER_READ_ONLY` to register memory that must be mapped as read-only to the GPU - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED - - - External timeline semaphore interop is supported on the device - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED - - - Device supports using the :py:obj:`~.cuMemAllocAsync` and :py:obj:`~.cuMemPool` family of APIs - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED - - - Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see https://docs.nvidia.com/cuda/gpudirect-rdma for more information) - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS - - - The returned attribute shall be interpreted as a bitmask, where the individual bits are described by the :py:obj:`~.CUflushGPUDirectRDMAWritesOptions` enum - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING - - - GPUDirect RDMA writes to the device do not need to be flushed for consumers within the scope indicated by the returned attribute. See :py:obj:`~.CUGPUDirectRDMAWritesOrdering` for the numerical values returned here. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES - - - Handle types supported with mempool based IPC - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CLUSTER_LAUNCH - - - Indicates device supports cluster launch - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_DEFERRED_MAPPING_CUDA_ARRAY_SUPPORTED - - - Device supports deferred mapping CUDA arrays and CUDA mipmapped arrays - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS - - - 64-bit operations are supported in :py:obj:`~.cuStreamBatchMemOp` and related MemOp APIs. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR - - - :py:obj:`~.CU_STREAM_WAIT_VALUE_NOR` is supported by MemOp APIs. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_DMA_BUF_SUPPORTED - - - Device supports buffer sharing with dma_buf mechanism. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_IPC_EVENT_SUPPORTED - - - Device supports IPC Events. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MEM_SYNC_DOMAIN_COUNT - - - Number of memory domains the device supports. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_TENSOR_MAP_ACCESS_SUPPORTED - - - Device supports accessing memory using Tensor Map. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED - - - Device supports exporting memory to a fabric handle with :py:obj:`~.cuMemExportToShareableHandle()` or requested with :py:obj:`~.cuMemCreate()` - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_UNIFIED_FUNCTION_POINTERS - - - Device supports unified function pointers. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_NUMA_CONFIG - - - NUMA configuration of a device: value is of type :py:obj:`~.CUdeviceNumaConfig` enum - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_NUMA_ID - - - NUMA node ID of the GPU memory - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED - - - Device supports switch multicast and reduction operations. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MPS_ENABLED - - - Indicates if contexts created on this device will be shared via MPS - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_HOST_NUMA_ID - - - NUMA ID of the host node closest to the device. Returns -1 when system does not support NUMA. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_D3D12_CIG_SUPPORTED - - - Device supports CIG with D3D12. - - - .. autoattribute:: cuda.bindings.driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_MAX - -.. autoclass:: cuda.bindings.driver.CUpointer_attribute - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_CONTEXT - - - The :py:obj:`~.CUcontext` on which a pointer was allocated or registered - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_MEMORY_TYPE - - - The :py:obj:`~.CUmemorytype` describing the physical location of a pointer - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_DEVICE_POINTER - - - The address at which a pointer's memory may be accessed on the device - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_HOST_POINTER - - - The address at which a pointer's memory may be accessed on the host - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_P2P_TOKENS - - - A pair of tokens for use with the nv-p2p.h Linux kernel interface - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_SYNC_MEMOPS - - - Synchronize every synchronous memory operation initiated on this region - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_BUFFER_ID - - - A process-wide unique ID for an allocated memory region - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_IS_MANAGED - - - Indicates if the pointer points to managed memory - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_DEVICE_ORDINAL - - - A device ordinal of a device on which a pointer was allocated or registered - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_IS_LEGACY_CUDA_IPC_CAPABLE - - - 1 if this pointer maps to an allocation that is suitable for :py:obj:`~.cudaIpcGetMemHandle`, 0 otherwise - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_RANGE_START_ADDR - - - Starting address for this requested pointer - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_RANGE_SIZE - - - Size of the address range for this requested pointer - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_MAPPED - - - 1 if this pointer is in a valid address range that is mapped to a backing allocation, 0 otherwise - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_ALLOWED_HANDLE_TYPES - - - Bitmask of allowed :py:obj:`~.CUmemAllocationHandleType` for this allocation - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_IS_GPU_DIRECT_RDMA_CAPABLE - - - 1 if the memory this pointer is referencing can be used with the GPUDirect RDMA API - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_ACCESS_FLAGS - - - Returns the access flags the device associated with the current context has on the corresponding memory referenced by the pointer given - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_MEMPOOL_HANDLE - - - Returns the mempool handle for the allocation if it was allocated from a mempool. Otherwise returns NULL. - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_MAPPING_SIZE - - - Size of the actual underlying mapping that the pointer belongs to - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_MAPPING_BASE_ADDR - - - The start address of the mapping that the pointer belongs to - - - .. autoattribute:: cuda.bindings.driver.CUpointer_attribute.CU_POINTER_ATTRIBUTE_MEMORY_BLOCK_ID - - - A process-wide unique id corresponding to the physical allocation the pointer belongs to - -.. autoclass:: cuda.bindings.driver.CUfunction_attribute - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK - - - The maximum number of threads per block, beyond which a launch of the function would fail. This number depends on both the function and the device on which the function is currently loaded. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES - - - The size in bytes of statically-allocated shared memory required by this function. This does not include dynamically-allocated shared memory requested by the user at runtime. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES - - - The size in bytes of user-allocated constant memory required by this function. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES - - - The size in bytes of local memory used by each thread of this function. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_NUM_REGS - - - The number of registers used by each thread of this function. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_PTX_VERSION - - - The PTX virtual architecture version for which the function was compiled. This value is the major PTX version * 10 + the minor PTX version, so a PTX version 1.3 function would return the value 13. Note that this may return the undefined value of 0 for cubins compiled prior to CUDA 3.0. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_BINARY_VERSION - - - The binary architecture version for which the function was compiled. This value is the major binary version * 10 + the minor binary version, so a binary version 1.3 function would return the value 13. Note that this will return a value of 10 for legacy cubins that do not have a properly-encoded binary architecture version. - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_CACHE_MODE_CA - - - The attribute to indicate whether the function has been compiled with user specified option "-Xptxas --dlcm=ca" set . - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES - - - The maximum size in bytes of dynamically-allocated shared memory that can be used by this function. If the user-specified dynamic shared memory size is larger than this value, the launch will fail. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT - - - On devices where the L1 cache and shared memory use the same hardware resources, this sets the shared memory carveout preference, in percent of the total shared memory. Refer to :py:obj:`~.CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR`. This is only a hint, and the driver can choose a different ratio if required to execute the function. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_CLUSTER_SIZE_MUST_BE_SET - - - If this attribute is set, the kernel must launch with a valid cluster size specified. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_WIDTH - - - The required cluster width in blocks. The values must either all be 0 or all be positive. The validity of the cluster dimensions is otherwise checked at launch time. - - - - If the value is set during compile time, it cannot be set at runtime. Setting it at runtime will return CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_HEIGHT - - - The required cluster height in blocks. The values must either all be 0 or all be positive. The validity of the cluster dimensions is otherwise checked at launch time. - - - - If the value is set during compile time, it cannot be set at runtime. Setting it at runtime should return CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_REQUIRED_CLUSTER_DEPTH - - - The required cluster depth in blocks. The values must either all be 0 or all be positive. The validity of the cluster dimensions is otherwise checked at launch time. - - - - If the value is set during compile time, it cannot be set at runtime. Setting it at runtime should return CUDA_ERROR_NOT_PERMITTED. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_NON_PORTABLE_CLUSTER_SIZE_ALLOWED - - - Whether the function can be launched with non-portable cluster size. 1 is allowed, 0 is disallowed. A non-portable cluster size may only function on the specific SKUs the program is tested on. The launch might fail if the program is run on a different hardware platform. - - - - CUDA API provides cudaOccupancyMaxActiveClusters to assist with checking whether the desired size can be launched on the current device. - - - - Portable Cluster Size - - - - A portable cluster size is guaranteed to be functional on all compute capabilities higher than the target compute capability. The portable cluster size for sm_90 is 8 blocks per cluster. This value may increase for future compute capabilities. - - - - The specific hardware unit may support higher cluster sizes that’s not guaranteed to be portable. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE - - - The block scheduling policy of a function. The value type is CUclusterSchedulingPolicy / cudaClusterSchedulingPolicy. See :py:obj:`~.cuFuncSetAttribute`, :py:obj:`~.cuKernelSetAttribute` - - - .. autoattribute:: cuda.bindings.driver.CUfunction_attribute.CU_FUNC_ATTRIBUTE_MAX - -.. autoclass:: cuda.bindings.driver.CUfunc_cache - - .. autoattribute:: cuda.bindings.driver.CUfunc_cache.CU_FUNC_CACHE_PREFER_NONE - - - no preference for shared memory or L1 (default) - - - .. autoattribute:: cuda.bindings.driver.CUfunc_cache.CU_FUNC_CACHE_PREFER_SHARED - - - prefer larger shared memory and smaller L1 cache - - - .. autoattribute:: cuda.bindings.driver.CUfunc_cache.CU_FUNC_CACHE_PREFER_L1 - - - prefer larger L1 cache and smaller shared memory - - - .. autoattribute:: cuda.bindings.driver.CUfunc_cache.CU_FUNC_CACHE_PREFER_EQUAL - - - prefer equal sized L1 cache and shared memory - -.. autoclass:: cuda.bindings.driver.CUsharedconfig - - .. autoattribute:: cuda.bindings.driver.CUsharedconfig.CU_SHARED_MEM_CONFIG_DEFAULT_BANK_SIZE - - - set default shared memory bank size - - - .. autoattribute:: cuda.bindings.driver.CUsharedconfig.CU_SHARED_MEM_CONFIG_FOUR_BYTE_BANK_SIZE - - - set shared memory bank width to four bytes - - - .. autoattribute:: cuda.bindings.driver.CUsharedconfig.CU_SHARED_MEM_CONFIG_EIGHT_BYTE_BANK_SIZE - - - set shared memory bank width to eight bytes - -.. autoclass:: cuda.bindings.driver.CUshared_carveout - - .. autoattribute:: cuda.bindings.driver.CUshared_carveout.CU_SHAREDMEM_CARVEOUT_DEFAULT - - - No preference for shared memory or L1 (default) - - - .. autoattribute:: cuda.bindings.driver.CUshared_carveout.CU_SHAREDMEM_CARVEOUT_MAX_SHARED - - - Prefer maximum available shared memory, minimum L1 cache - - - .. autoattribute:: cuda.bindings.driver.CUshared_carveout.CU_SHAREDMEM_CARVEOUT_MAX_L1 - - - Prefer maximum available L1 cache, minimum shared memory - -.. autoclass:: cuda.bindings.driver.CUmemorytype - - .. autoattribute:: cuda.bindings.driver.CUmemorytype.CU_MEMORYTYPE_HOST - - - Host memory - - - .. autoattribute:: cuda.bindings.driver.CUmemorytype.CU_MEMORYTYPE_DEVICE - - - Device memory - - - .. autoattribute:: cuda.bindings.driver.CUmemorytype.CU_MEMORYTYPE_ARRAY - - - Array memory - - - .. autoattribute:: cuda.bindings.driver.CUmemorytype.CU_MEMORYTYPE_UNIFIED - - - Unified device or host memory - -.. autoclass:: cuda.bindings.driver.CUcomputemode - - .. autoattribute:: cuda.bindings.driver.CUcomputemode.CU_COMPUTEMODE_DEFAULT - - - Default compute mode (Multiple contexts allowed per device) - - - .. autoattribute:: cuda.bindings.driver.CUcomputemode.CU_COMPUTEMODE_PROHIBITED - - - Compute-prohibited mode (No contexts can be created on this device at this time) - - - .. autoattribute:: cuda.bindings.driver.CUcomputemode.CU_COMPUTEMODE_EXCLUSIVE_PROCESS - - - Compute-exclusive-process mode (Only one context used by a single process can be present on this device at a time) - -.. autoclass:: cuda.bindings.driver.CUmem_advise - - .. autoattribute:: cuda.bindings.driver.CUmem_advise.CU_MEM_ADVISE_SET_READ_MOSTLY - - - Data will mostly be read and only occasionally be written to - - - .. autoattribute:: cuda.bindings.driver.CUmem_advise.CU_MEM_ADVISE_UNSET_READ_MOSTLY - - - Undo the effect of :py:obj:`~.CU_MEM_ADVISE_SET_READ_MOSTLY` - - - .. autoattribute:: cuda.bindings.driver.CUmem_advise.CU_MEM_ADVISE_SET_PREFERRED_LOCATION - - - Set the preferred location for the data as the specified device - - - .. autoattribute:: cuda.bindings.driver.CUmem_advise.CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION - - - Clear the preferred location for the data - - - .. autoattribute:: cuda.bindings.driver.CUmem_advise.CU_MEM_ADVISE_SET_ACCESSED_BY - - - Data will be accessed by the specified device, so prevent page faults as much as possible - - - .. autoattribute:: cuda.bindings.driver.CUmem_advise.CU_MEM_ADVISE_UNSET_ACCESSED_BY - - - Let the Unified Memory subsystem decide on the page faulting policy for the specified device - -.. autoclass:: cuda.bindings.driver.CUmem_range_attribute - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY - - - Whether the range will mostly be read and only occasionally be written to - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION - - - The preferred location of the range - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY - - - Memory range has :py:obj:`~.CU_MEM_ADVISE_SET_ACCESSED_BY` set for specified device - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION - - - The last location to which the range was prefetched - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_TYPE - - - The preferred location type of the range - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION_ID - - - The preferred location id of the range - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_TYPE - - - The last location type to which the range was prefetched - - - .. autoattribute:: cuda.bindings.driver.CUmem_range_attribute.CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION_ID - - - The last location id to which the range was prefetched - -.. autoclass:: cuda.bindings.driver.CUjit_option - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_MAX_REGISTERS - - - Max number of registers that a thread may use. - - Option type: unsigned int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_THREADS_PER_BLOCK - - - IN: Specifies minimum number of threads per block to target compilation for - - OUT: Returns the number of threads the compiler actually targeted. This restricts the resource utilization of the compiler (e.g. max registers) such that a block with the given number of threads should be able to launch based on register limitations. Note, this option does not currently take into account any other resource limitations, such as shared memory utilization. - - Cannot be combined with :py:obj:`~.CU_JIT_TARGET`. - - Option type: unsigned int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_WALL_TIME - - - Overwrites the option value with the total wall clock time, in milliseconds, spent in the compiler and linker - - Option type: float - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_INFO_LOG_BUFFER - - - Pointer to a buffer in which to print any log messages that are informational in nature (the buffer size is specified via option :py:obj:`~.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES`) - - Option type: char * - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES - - - IN: Log buffer size in bytes. Log messages will be capped at this size (including null terminator) - - OUT: Amount of log buffer filled with messages - - Option type: unsigned int - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_ERROR_LOG_BUFFER - - - Pointer to a buffer in which to print any log messages that reflect errors (the buffer size is specified via option :py:obj:`~.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES`) - - Option type: char * - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES - - - IN: Log buffer size in bytes. Log messages will be capped at this size (including null terminator) - - OUT: Amount of log buffer filled with messages - - Option type: unsigned int - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_OPTIMIZATION_LEVEL - - - Level of optimizations to apply to generated code (0 - 4), with 4 being the default and highest level of optimizations. - - Option type: unsigned int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_TARGET_FROM_CUCONTEXT - - - No option value required. Determines the target based on the current attached context (default) - - Option type: No option value needed - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_TARGET - - - Target is chosen based on supplied :py:obj:`~.CUjit_target`. Cannot be combined with :py:obj:`~.CU_JIT_THREADS_PER_BLOCK`. - - Option type: unsigned int for enumerated type :py:obj:`~.CUjit_target` - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_FALLBACK_STRATEGY - - - Specifies choice of fallback strategy if matching cubin is not found. Choice is based on supplied :py:obj:`~.CUjit_fallback`. This option cannot be used with cuLink* APIs as the linker requires exact matches. - - Option type: unsigned int for enumerated type :py:obj:`~.CUjit_fallback` - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_GENERATE_DEBUG_INFO - - - Specifies whether to create debug information in output (-g) (0: false, default) - - Option type: int - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_LOG_VERBOSE - - - Generate verbose log messages (0: false, default) - - Option type: int - - Applies to: compiler and linker - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_GENERATE_LINE_INFO - - - Generate line number information (-lineinfo) (0: false, default) - - Option type: int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_CACHE_MODE - - - Specifies whether to enable caching explicitly (-dlcm) - - Choice is based on supplied :py:obj:`~.CUjit_cacheMode_enum`. - - Option type: unsigned int for enumerated type :py:obj:`~.CUjit_cacheMode_enum` - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_NEW_SM3X_OPT - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_FAST_COMPILE - - - This jit option is used for internal purpose only. - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_GLOBAL_SYMBOL_NAMES - - - Array of device symbol names that will be relocated to the corresponding host addresses stored in :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_ADDRESSES`. - - Must contain :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_COUNT` entries. - - When loading a device module, driver will relocate all encountered unresolved symbols to the host addresses. - - It is only allowed to register symbols that correspond to unresolved global variables. - - It is illegal to register the same device symbol at multiple addresses. - - Option type: const char ** - - Applies to: dynamic linker only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_GLOBAL_SYMBOL_ADDRESSES - - - Array of host addresses that will be used to relocate corresponding device symbols stored in :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_NAMES`. - - Must contain :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_COUNT` entries. - - Option type: void ** - - Applies to: dynamic linker only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_GLOBAL_SYMBOL_COUNT - - - Number of entries in :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_NAMES` and :py:obj:`~.CU_JIT_GLOBAL_SYMBOL_ADDRESSES` arrays. - - Option type: unsigned int - - Applies to: dynamic linker only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_LTO - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_FTZ - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_PREC_DIV - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_PREC_SQRT - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_FMA - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_REFERENCED_KERNEL_NAMES - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_REFERENCED_KERNEL_COUNT - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_REFERENCED_VARIABLE_NAMES - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_REFERENCED_VARIABLE_COUNT - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_OPTIMIZE_UNUSED_DEVICE_VARIABLES - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_POSITION_INDEPENDENT_CODE - - - Generate position independent code (0: false) - - Option type: int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_MIN_CTA_PER_SM - - - This option hints to the JIT compiler the minimum number of CTAs from the kernel’s grid to be mapped to a SM. This option is ignored when used together with :py:obj:`~.CU_JIT_MAX_REGISTERS` or :py:obj:`~.CU_JIT_THREADS_PER_BLOCK`. Optimizations based on this option need :py:obj:`~.CU_JIT_MAX_THREADS_PER_BLOCK` to be specified as well. For kernels already using PTX directive .minnctapersm, this option will be ignored by default. Use :py:obj:`~.CU_JIT_OVERRIDE_DIRECTIVE_VALUES` to let this option take precedence over the PTX directive. Option type: unsigned int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_MAX_THREADS_PER_BLOCK - - - Maximum number threads in a thread block, computed as the product of the maximum extent specifed for each dimension of the block. This limit is guaranteed not to be exeeded in any invocation of the kernel. Exceeding the the maximum number of threads results in runtime error or kernel launch failure. For kernels already using PTX directive .maxntid, this option will be ignored by default. Use :py:obj:`~.CU_JIT_OVERRIDE_DIRECTIVE_VALUES` to let this option take precedence over the PTX directive. Option type: int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_OVERRIDE_DIRECTIVE_VALUES - - - This option lets the values specified using :py:obj:`~.CU_JIT_MAX_REGISTERS`, :py:obj:`~.CU_JIT_THREADS_PER_BLOCK`, :py:obj:`~.CU_JIT_MAX_THREADS_PER_BLOCK` and :py:obj:`~.CU_JIT_MIN_CTA_PER_SM` take precedence over any PTX directives. (0: Disable, default; 1: Enable) Option type: int - - Applies to: compiler only - - - .. autoattribute:: cuda.bindings.driver.CUjit_option.CU_JIT_NUM_OPTIONS - -.. autoclass:: cuda.bindings.driver.CUjit_target - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_30 - - - Compute device class 3.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_32 - - - Compute device class 3.2 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_35 - - - Compute device class 3.5 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_37 - - - Compute device class 3.7 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_50 - - - Compute device class 5.0 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_52 - - - Compute device class 5.2 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_53 - - - Compute device class 5.3 - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_60 - - - Compute device class 6.0. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_61 - - - Compute device class 6.1. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_62 - - - Compute device class 6.2. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_70 - - - Compute device class 7.0. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_72 - - - Compute device class 7.2. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_75 - - - Compute device class 7.5. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_80 - - - Compute device class 8.0. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_86 - - - Compute device class 8.6. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_87 - - - Compute device class 8.7. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_89 - - - Compute device class 8.9. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_90 - - - Compute device class 9.0. Compute device class 9.0. with accelerated features. - - - .. autoattribute:: cuda.bindings.driver.CUjit_target.CU_TARGET_COMPUTE_90A - -.. autoclass:: cuda.bindings.driver.CUjit_fallback - - .. autoattribute:: cuda.bindings.driver.CUjit_fallback.CU_PREFER_PTX - - - Prefer to compile ptx if exact binary match not found - - - .. autoattribute:: cuda.bindings.driver.CUjit_fallback.CU_PREFER_BINARY - - - Prefer to fall back to compatible binary code if exact match not found - -.. autoclass:: cuda.bindings.driver.CUjit_cacheMode - - .. autoattribute:: cuda.bindings.driver.CUjit_cacheMode.CU_JIT_CACHE_OPTION_NONE - - - Compile with no -dlcm flag specified - - - .. autoattribute:: cuda.bindings.driver.CUjit_cacheMode.CU_JIT_CACHE_OPTION_CG - - - Compile with L1 cache disabled - - - .. autoattribute:: cuda.bindings.driver.CUjit_cacheMode.CU_JIT_CACHE_OPTION_CA - - - Compile with L1 cache enabled - -.. autoclass:: cuda.bindings.driver.CUjitInputType - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_INPUT_CUBIN - - - Compiled device-class-specific device code - - Applicable options: none - - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_INPUT_PTX - - - PTX source code - - Applicable options: PTX compiler options - - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_INPUT_FATBINARY - - - Bundle of multiple cubins and/or PTX of some device code - - Applicable options: PTX compiler options, :py:obj:`~.CU_JIT_FALLBACK_STRATEGY` - - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_INPUT_OBJECT - - - Host object with embedded device code - - Applicable options: PTX compiler options, :py:obj:`~.CU_JIT_FALLBACK_STRATEGY` - - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_INPUT_LIBRARY - - - Archive of host objects with embedded device code - - Applicable options: PTX compiler options, :py:obj:`~.CU_JIT_FALLBACK_STRATEGY` - - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_INPUT_NVVM - - - [Deprecated] - - - - Only valid with LTO-IR compiled with toolkits prior to CUDA 12.0 - - - .. autoattribute:: cuda.bindings.driver.CUjitInputType.CU_JIT_NUM_INPUT_TYPES - -.. autoclass:: cuda.bindings.driver.CUgraphicsRegisterFlags - - .. autoattribute:: cuda.bindings.driver.CUgraphicsRegisterFlags.CU_GRAPHICS_REGISTER_FLAGS_NONE - - - .. autoattribute:: cuda.bindings.driver.CUgraphicsRegisterFlags.CU_GRAPHICS_REGISTER_FLAGS_READ_ONLY - - - .. autoattribute:: cuda.bindings.driver.CUgraphicsRegisterFlags.CU_GRAPHICS_REGISTER_FLAGS_WRITE_DISCARD - - - .. autoattribute:: cuda.bindings.driver.CUgraphicsRegisterFlags.CU_GRAPHICS_REGISTER_FLAGS_SURFACE_LDST - - - .. autoattribute:: cuda.bindings.driver.CUgraphicsRegisterFlags.CU_GRAPHICS_REGISTER_FLAGS_TEXTURE_GATHER - -.. autoclass:: cuda.bindings.driver.CUgraphicsMapResourceFlags - - .. autoattribute:: cuda.bindings.driver.CUgraphicsMapResourceFlags.CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE - - - .. autoattribute:: cuda.bindings.driver.CUgraphicsMapResourceFlags.CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY - - - .. autoattribute:: cuda.bindings.driver.CUgraphicsMapResourceFlags.CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD - -.. autoclass:: cuda.bindings.driver.CUarray_cubemap_face - - .. autoattribute:: cuda.bindings.driver.CUarray_cubemap_face.CU_CUBEMAP_FACE_POSITIVE_X - - - Positive X face of cubemap - - - .. autoattribute:: cuda.bindings.driver.CUarray_cubemap_face.CU_CUBEMAP_FACE_NEGATIVE_X - - - Negative X face of cubemap - - - .. autoattribute:: cuda.bindings.driver.CUarray_cubemap_face.CU_CUBEMAP_FACE_POSITIVE_Y - - - Positive Y face of cubemap - - - .. autoattribute:: cuda.bindings.driver.CUarray_cubemap_face.CU_CUBEMAP_FACE_NEGATIVE_Y - - - Negative Y face of cubemap - - - .. autoattribute:: cuda.bindings.driver.CUarray_cubemap_face.CU_CUBEMAP_FACE_POSITIVE_Z - - - Positive Z face of cubemap - - - .. autoattribute:: cuda.bindings.driver.CUarray_cubemap_face.CU_CUBEMAP_FACE_NEGATIVE_Z - - - Negative Z face of cubemap - -.. autoclass:: cuda.bindings.driver.CUlimit - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_STACK_SIZE - - - GPU thread stack size - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_PRINTF_FIFO_SIZE - - - GPU printf FIFO size - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_MALLOC_HEAP_SIZE - - - GPU malloc heap size - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_DEV_RUNTIME_SYNC_DEPTH - - - GPU device runtime launch synchronize depth - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_DEV_RUNTIME_PENDING_LAUNCH_COUNT - - - GPU device runtime pending launch count - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_MAX_L2_FETCH_GRANULARITY - - - A value between 0 and 128 that indicates the maximum fetch granularity of L2 (in Bytes). This is a hint - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_PERSISTING_L2_CACHE_SIZE - - - A size in bytes for L2 persisting lines cache size - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_SHMEM_SIZE - - - A maximum size in bytes of shared memory available to CUDA kernels on a CIG context. Can only be queried, cannot be set - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_CIG_ENABLED - - - A non-zero value indicates this CUDA context is a CIG-enabled context. Can only be queried, cannot be set - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_CIG_SHMEM_FALLBACK_ENABLED - - - When set to a non-zero value, CUDA will fail to launch a kernel on a CIG context, instead of using the fallback path, if the kernel uses more shared memory than available - - - .. autoattribute:: cuda.bindings.driver.CUlimit.CU_LIMIT_MAX - -.. autoclass:: cuda.bindings.driver.CUresourcetype - - .. autoattribute:: cuda.bindings.driver.CUresourcetype.CU_RESOURCE_TYPE_ARRAY - - - Array resource - - - .. autoattribute:: cuda.bindings.driver.CUresourcetype.CU_RESOURCE_TYPE_MIPMAPPED_ARRAY - - - Mipmapped array resource - - - .. autoattribute:: cuda.bindings.driver.CUresourcetype.CU_RESOURCE_TYPE_LINEAR - - - Linear resource - - - .. autoattribute:: cuda.bindings.driver.CUresourcetype.CU_RESOURCE_TYPE_PITCH2D - - - Pitch 2D resource - -.. autoclass:: cuda.bindings.driver.CUaccessProperty - - .. autoattribute:: cuda.bindings.driver.CUaccessProperty.CU_ACCESS_PROPERTY_NORMAL - - - Normal cache persistence. - - - .. autoattribute:: cuda.bindings.driver.CUaccessProperty.CU_ACCESS_PROPERTY_STREAMING - - - Streaming access is less likely to persit from cache. - - - .. autoattribute:: cuda.bindings.driver.CUaccessProperty.CU_ACCESS_PROPERTY_PERSISTING - - - Persisting access is more likely to persist in cache. - -.. autoclass:: cuda.bindings.driver.CUgraphConditionalNodeType - - .. autoattribute:: cuda.bindings.driver.CUgraphConditionalNodeType.CU_GRAPH_COND_TYPE_IF - - - Conditional 'if' Node. Body executed once if condition value is non-zero. - - - .. autoattribute:: cuda.bindings.driver.CUgraphConditionalNodeType.CU_GRAPH_COND_TYPE_WHILE - - - Conditional 'while' Node. Body executed repeatedly while condition value is non-zero. - -.. autoclass:: cuda.bindings.driver.CUgraphNodeType - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_KERNEL - - - GPU kernel node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_MEMCPY - - - Memcpy node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_MEMSET - - - Memset node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_HOST - - - Host (executable) node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_GRAPH - - - Node which executes an embedded graph - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_EMPTY - - - Empty (no-op) node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_WAIT_EVENT - - - External event wait node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_EVENT_RECORD - - - External event record node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_EXT_SEMAS_SIGNAL - - - External semaphore signal node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_EXT_SEMAS_WAIT - - - External semaphore wait node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_MEM_ALLOC - - - Memory Allocation Node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_MEM_FREE - - - Memory Free Node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_BATCH_MEM_OP - - - Batch MemOp Node - - - .. autoattribute:: cuda.bindings.driver.CUgraphNodeType.CU_GRAPH_NODE_TYPE_CONDITIONAL - - - Conditional Node May be used to implement a conditional execution path or loop - - inside of a graph. The graph(s) contained within the body of the conditional node - - can be selectively executed or iterated upon based on the value of a conditional - - variable. - - - - Handles must be created in advance of creating the node - - using :py:obj:`~.cuGraphConditionalHandleCreate`. - - - - The following restrictions apply to graphs which contain conditional nodes: - - The graph cannot be used in a child node. - - Only one instantiation of the graph may exist at any point in time. - - The graph cannot be cloned. - - - - To set the control value, supply a default value when creating the handle and/or - - call :py:obj:`~.cudaGraphSetConditional` from device code. - -.. autoclass:: cuda.bindings.driver.CUgraphDependencyType - - .. autoattribute:: cuda.bindings.driver.CUgraphDependencyType.CU_GRAPH_DEPENDENCY_TYPE_DEFAULT - - - This is an ordinary dependency. - - - .. autoattribute:: cuda.bindings.driver.CUgraphDependencyType.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC - - - This dependency type allows the downstream node to use `cudaGridDependencySynchronize()`. It may only be used between kernel nodes, and must be used with either the :py:obj:`~.CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC` or :py:obj:`~.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER` outgoing port. - -.. autoclass:: cuda.bindings.driver.CUgraphInstantiateResult - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiateResult.CUDA_GRAPH_INSTANTIATE_SUCCESS - - - Instantiation succeeded - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiateResult.CUDA_GRAPH_INSTANTIATE_ERROR - - - Instantiation failed for an unexpected reason which is described in the return value of the function - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiateResult.CUDA_GRAPH_INSTANTIATE_INVALID_STRUCTURE - - - Instantiation failed due to invalid structure, such as cycles - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiateResult.CUDA_GRAPH_INSTANTIATE_NODE_OPERATION_NOT_SUPPORTED - - - Instantiation for device launch failed because the graph contained an unsupported operation - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiateResult.CUDA_GRAPH_INSTANTIATE_MULTIPLE_CTXS_NOT_SUPPORTED - - - Instantiation for device launch failed due to the nodes belonging to different contexts - -.. autoclass:: cuda.bindings.driver.CUsynchronizationPolicy - - .. autoattribute:: cuda.bindings.driver.CUsynchronizationPolicy.CU_SYNC_POLICY_AUTO - - - .. autoattribute:: cuda.bindings.driver.CUsynchronizationPolicy.CU_SYNC_POLICY_SPIN - - - .. autoattribute:: cuda.bindings.driver.CUsynchronizationPolicy.CU_SYNC_POLICY_YIELD - - - .. autoattribute:: cuda.bindings.driver.CUsynchronizationPolicy.CU_SYNC_POLICY_BLOCKING_SYNC - -.. autoclass:: cuda.bindings.driver.CUclusterSchedulingPolicy - - .. autoattribute:: cuda.bindings.driver.CUclusterSchedulingPolicy.CU_CLUSTER_SCHEDULING_POLICY_DEFAULT - - - the default policy - - - .. autoattribute:: cuda.bindings.driver.CUclusterSchedulingPolicy.CU_CLUSTER_SCHEDULING_POLICY_SPREAD - - - spread the blocks within a cluster to the SMs - - - .. autoattribute:: cuda.bindings.driver.CUclusterSchedulingPolicy.CU_CLUSTER_SCHEDULING_POLICY_LOAD_BALANCING - - - allow the hardware to load-balance the blocks in a cluster to the SMs - -.. autoclass:: cuda.bindings.driver.CUlaunchMemSyncDomain - - .. autoattribute:: cuda.bindings.driver.CUlaunchMemSyncDomain.CU_LAUNCH_MEM_SYNC_DOMAIN_DEFAULT - - - Launch kernels in the default domain - - - .. autoattribute:: cuda.bindings.driver.CUlaunchMemSyncDomain.CU_LAUNCH_MEM_SYNC_DOMAIN_REMOTE - - - Launch kernels in the remote domain - -.. autoclass:: cuda.bindings.driver.CUlaunchAttributeID - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_IGNORE - - - Ignored entry, for convenient composition - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_ACCESS_POLICY_WINDOW - - - Valid for streams, graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.accessPolicyWindow`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_COOPERATIVE - - - Valid for graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.cooperative`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_SYNCHRONIZATION_POLICY - - - Valid for streams. See :py:obj:`~.CUlaunchAttributeValue.syncPolicy`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION - - - Valid for graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.clusterDim`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE - - - Valid for graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.clusterSchedulingPolicyPreference`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_STREAM_SERIALIZATION - - - Valid for launches. Setting :py:obj:`~.CUlaunchAttributeValue.programmaticStreamSerializationAllowed` to non-0 signals that the kernel will use programmatic means to resolve its stream dependency, so that the CUDA runtime should opportunistically allow the grid's execution to overlap with the previous kernel in the stream, if that kernel requests the overlap. The dependent launches can choose to wait on the dependency using the programmatic sync (cudaGridDependencySynchronize() or equivalent PTX instructions). - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT - - - Valid for launches. Set :py:obj:`~.CUlaunchAttributeValue.programmaticEvent` to record the event. Event recorded through this launch attribute is guaranteed to only trigger after all block in the associated kernel trigger the event. A block can trigger the event through PTX launchdep.release or CUDA builtin function cudaTriggerProgrammaticLaunchCompletion(). A trigger can also be inserted at the beginning of each block's execution if triggerAtBlockStart is set to non-0. The dependent launches can choose to wait on the dependency using the programmatic sync (cudaGridDependencySynchronize() or equivalent PTX instructions). Note that dependents (including the CPU thread calling :py:obj:`~.cuEventSynchronize()`) are not guaranteed to observe the release precisely when it is released. For example, :py:obj:`~.cuEventSynchronize()` may only observe the event trigger long after the associated kernel has completed. This recording type is primarily meant for establishing programmatic dependency between device tasks. Note also this type of dependency allows, but does not guarantee, concurrent execution of tasks. - - The event supplied must not be an interprocess or interop event. The event must disable timing (i.e. must be created with the :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set). - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_PRIORITY - - - Valid for streams, graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.priority`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP - - - Valid for streams, graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.memSyncDomainMap`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_MEM_SYNC_DOMAIN - - - Valid for streams, graph nodes, launches. See :py:obj:`~.CUlaunchAttributeValue.memSyncDomain`. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT - - - Valid for launches. Set :py:obj:`~.CUlaunchAttributeValue.launchCompletionEvent` to record the event. - - Nominally, the event is triggered once all blocks of the kernel have begun execution. Currently this is a best effort. If a kernel B has a launch completion dependency on a kernel A, B may wait until A is complete. Alternatively, blocks of B may begin before all blocks of A have begun, for example if B can claim execution resources unavailable to A (e.g. they run on different GPUs) or if B is a higher priority than A. Exercise caution if such an ordering inversion could lead to deadlock. - - A launch completion event is nominally similar to a programmatic event with `triggerAtBlockStart` set except that it is not visible to `cudaGridDependencySynchronize()` and can be used with compute capability less than 9.0. - - The event supplied must not be an interprocess or interop event. The event must disable timing (i.e. must be created with the :py:obj:`~.CU_EVENT_DISABLE_TIMING` flag set). - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE - - - Valid for graph nodes, launches. This attribute is graphs-only, and passing it to a launch in a non-capturing stream will result in an error. - - :py:obj:`~.CUlaunchAttributeValue`::deviceUpdatableKernelNode::deviceUpdatable can only be set to 0 or 1. Setting the field to 1 indicates that the corresponding kernel node should be device-updatable. On success, a handle will be returned via :py:obj:`~.CUlaunchAttributeValue`::deviceUpdatableKernelNode::devNode which can be passed to the various device-side update functions to update the node's kernel parameters from within another kernel. For more information on the types of device updates that can be made, as well as the relevant limitations thereof, see :py:obj:`~.cudaGraphKernelNodeUpdatesApply`. - - Nodes which are device-updatable have additional restrictions compared to regular kernel nodes. Firstly, device-updatable nodes cannot be removed from their graph via :py:obj:`~.cuGraphDestroyNode`. Additionally, once opted-in to this functionality, a node cannot opt out, and any attempt to set the deviceUpdatable attribute to 0 will result in an error. Device-updatable kernel nodes also cannot have their attributes copied to/from another kernel node via :py:obj:`~.cuGraphKernelNodeCopyAttributes`. Graphs containing one or more device-updatable nodes also do not allow multiple instantiation, and neither the graph nor its instantiated version can be passed to :py:obj:`~.cuGraphExecUpdate`. - - If a graph contains device-updatable nodes and updates those nodes from the device from within the graph, the graph must be uploaded with :py:obj:`~.cuGraphUpload` before it is launched. For such a graph, if host-side executable graph updates are made to the device-updatable nodes, the graph must be uploaded before it is launched again. - - - .. autoattribute:: cuda.bindings.driver.CUlaunchAttributeID.CU_LAUNCH_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT - - - Valid for launches. On devices where the L1 cache and shared memory use the same hardware resources, setting :py:obj:`~.CUlaunchAttributeValue.sharedMemCarveout` to a percentage between 0-100 signals the CUDA driver to set the shared memory carveout preference, in percent of the total shared memory for that kernel launch. This attribute takes precedence over :py:obj:`~.CU_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT`. This is only a hint, and the CUDA driver can choose a different configuration if required for the launch. - -.. autoclass:: cuda.bindings.driver.CUstreamCaptureStatus - - .. autoattribute:: cuda.bindings.driver.CUstreamCaptureStatus.CU_STREAM_CAPTURE_STATUS_NONE - - - Stream is not capturing - - - .. autoattribute:: cuda.bindings.driver.CUstreamCaptureStatus.CU_STREAM_CAPTURE_STATUS_ACTIVE - - - Stream is actively capturing - - - .. autoattribute:: cuda.bindings.driver.CUstreamCaptureStatus.CU_STREAM_CAPTURE_STATUS_INVALIDATED - - - Stream is part of a capture sequence that has been invalidated, but not terminated - -.. autoclass:: cuda.bindings.driver.CUstreamCaptureMode - - .. autoattribute:: cuda.bindings.driver.CUstreamCaptureMode.CU_STREAM_CAPTURE_MODE_GLOBAL - - - .. autoattribute:: cuda.bindings.driver.CUstreamCaptureMode.CU_STREAM_CAPTURE_MODE_THREAD_LOCAL - - - .. autoattribute:: cuda.bindings.driver.CUstreamCaptureMode.CU_STREAM_CAPTURE_MODE_RELAXED - -.. autoclass:: cuda.bindings.driver.CUdriverProcAddress_flags - - .. autoattribute:: cuda.bindings.driver.CUdriverProcAddress_flags.CU_GET_PROC_ADDRESS_DEFAULT - - - Default search mode for driver symbols. - - - .. autoattribute:: cuda.bindings.driver.CUdriverProcAddress_flags.CU_GET_PROC_ADDRESS_LEGACY_STREAM - - - Search for legacy versions of driver symbols. - - - .. autoattribute:: cuda.bindings.driver.CUdriverProcAddress_flags.CU_GET_PROC_ADDRESS_PER_THREAD_DEFAULT_STREAM - - - Search for per-thread versions of driver symbols. - -.. autoclass:: cuda.bindings.driver.CUdriverProcAddressQueryResult - - .. autoattribute:: cuda.bindings.driver.CUdriverProcAddressQueryResult.CU_GET_PROC_ADDRESS_SUCCESS - - - Symbol was succesfully found - - - .. autoattribute:: cuda.bindings.driver.CUdriverProcAddressQueryResult.CU_GET_PROC_ADDRESS_SYMBOL_NOT_FOUND - - - Symbol was not found in search - - - .. autoattribute:: cuda.bindings.driver.CUdriverProcAddressQueryResult.CU_GET_PROC_ADDRESS_VERSION_NOT_SUFFICIENT - - - Symbol was found but version supplied was not sufficient - -.. autoclass:: cuda.bindings.driver.CUexecAffinityType - - .. autoattribute:: cuda.bindings.driver.CUexecAffinityType.CU_EXEC_AFFINITY_TYPE_SM_COUNT - - - Create a context with limited SMs. - - - .. autoattribute:: cuda.bindings.driver.CUexecAffinityType.CU_EXEC_AFFINITY_TYPE_MAX - -.. autoclass:: cuda.bindings.driver.CUcigDataType - - .. autoattribute:: cuda.bindings.driver.CUcigDataType.CIG_DATA_TYPE_D3D12_COMMAND_QUEUE - -.. autoclass:: cuda.bindings.driver.CUlibraryOption - - .. autoattribute:: cuda.bindings.driver.CUlibraryOption.CU_LIBRARY_HOST_UNIVERSAL_FUNCTION_AND_DATA_TABLE - - - .. autoattribute:: cuda.bindings.driver.CUlibraryOption.CU_LIBRARY_BINARY_IS_PRESERVED - - - Specifes that the argument `code` passed to :py:obj:`~.cuLibraryLoadData()` will be preserved. Specifying this option will let the driver know that `code` can be accessed at any point until :py:obj:`~.cuLibraryUnload()`. The default behavior is for the driver to allocate and maintain its own copy of `code`. Note that this is only a memory usage optimization hint and the driver can choose to ignore it if required. Specifying this option with :py:obj:`~.cuLibraryLoadFromFile()` is invalid and will return :py:obj:`~.CUDA_ERROR_INVALID_VALUE`. - - - .. autoattribute:: cuda.bindings.driver.CUlibraryOption.CU_LIBRARY_NUM_OPTIONS - -.. autoclass:: cuda.bindings.driver.CUresult - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_SUCCESS - - - The API call returned with no errors. In the case of query calls, this also means that the operation being queried is complete (see :py:obj:`~.cuEventQuery()` and :py:obj:`~.cuStreamQuery()`). - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_VALUE - - - This indicates that one or more of the parameters passed to the API call is not within an acceptable range of values. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_OUT_OF_MEMORY - - - The API call failed because it was unable to allocate enough memory or other resources to perform the requested operation. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_INITIALIZED - - - This indicates that the CUDA driver has not been initialized with :py:obj:`~.cuInit()` or that initialization has failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_DEINITIALIZED - - - This indicates that the CUDA driver is in the process of shutting down. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PROFILER_DISABLED - - - This indicates profiler is not initialized for this run. This can happen when the application is running with external profiling tools like visual profiler. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PROFILER_NOT_INITIALIZED - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PROFILER_ALREADY_STARTED - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PROFILER_ALREADY_STOPPED - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STUB_LIBRARY - - - This indicates that the CUDA driver that the application has loaded is a stub library. Applications that run with the stub rather than a real driver loaded will result in CUDA API returning this error. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_DEVICE_UNAVAILABLE - - - This indicates that requested CUDA device is unavailable at the current time. Devices are often unavailable due to use of :py:obj:`~.CU_COMPUTEMODE_EXCLUSIVE_PROCESS` or :py:obj:`~.CU_COMPUTEMODE_PROHIBITED`. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NO_DEVICE - - - This indicates that no CUDA-capable devices were detected by the installed CUDA driver. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_DEVICE - - - This indicates that the device ordinal supplied by the user does not correspond to a valid CUDA device or that the action requested is invalid for the specified device. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_DEVICE_NOT_LICENSED - - - This error indicates that the Grid license is not applied. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_IMAGE - - - This indicates that the device kernel image is invalid. This can also indicate an invalid CUDA module. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_CONTEXT - - - This most frequently indicates that there is no context bound to the current thread. This can also be returned if the context passed to an API call is not a valid handle (such as a context that has had :py:obj:`~.cuCtxDestroy()` invoked on it). This can also be returned if a user mixes different API versions (i.e. 3010 context with 3020 API calls). See :py:obj:`~.cuCtxGetApiVersion()` for more details. This can also be returned if the green context passed to an API call was not converted to a :py:obj:`~.CUcontext` using :py:obj:`~.cuCtxFromGreenCtx` API. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_CONTEXT_ALREADY_CURRENT - - - This indicated that the context being supplied as a parameter to the API call was already the active context. [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MAP_FAILED - - - This indicates that a map or register operation has failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_UNMAP_FAILED - - - This indicates that an unmap or unregister operation has failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ARRAY_IS_MAPPED - - - This indicates that the specified array is currently mapped and thus cannot be destroyed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ALREADY_MAPPED - - - This indicates that the resource is already mapped. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NO_BINARY_FOR_GPU - - - This indicates that there is no kernel image available that is suitable for the device. This can occur when a user specifies code generation options for a particular CUDA source file that do not include the corresponding device configuration. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ALREADY_ACQUIRED - - - This indicates that a resource has already been acquired. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_MAPPED - - - This indicates that a resource is not mapped. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_MAPPED_AS_ARRAY - - - This indicates that a mapped resource is not available for access as an array. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_MAPPED_AS_POINTER - - - This indicates that a mapped resource is not available for access as a pointer. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ECC_UNCORRECTABLE - - - This indicates that an uncorrectable ECC error was detected during execution. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_UNSUPPORTED_LIMIT - - - This indicates that the :py:obj:`~.CUlimit` passed to the API call is not supported by the active device. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_CONTEXT_ALREADY_IN_USE - - - This indicates that the :py:obj:`~.CUcontext` passed to the API call can only be bound to a single CPU thread at a time but is already bound to a CPU thread. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PEER_ACCESS_UNSUPPORTED - - - This indicates that peer access is not supported across the given devices. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_PTX - - - This indicates that a PTX JIT compilation failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_GRAPHICS_CONTEXT - - - This indicates an error with OpenGL or DirectX context. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NVLINK_UNCORRECTABLE - - - This indicates that an uncorrectable NVLink error was detected during the execution. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_JIT_COMPILER_NOT_FOUND - - - This indicates that the PTX JIT compiler library was not found. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_UNSUPPORTED_PTX_VERSION - - - This indicates that the provided PTX was compiled with an unsupported toolchain. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_JIT_COMPILATION_DISABLED - - - This indicates that the PTX JIT compilation was disabled. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_UNSUPPORTED_EXEC_AFFINITY - - - This indicates that the :py:obj:`~.CUexecAffinityType` passed to the API call is not supported by the active device. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_UNSUPPORTED_DEVSIDE_SYNC - - - This indicates that the code to be compiled by the PTX JIT contains unsupported call to cudaDeviceSynchronize. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_SOURCE - - - This indicates that the device kernel source is invalid. This includes compilation/linker errors encountered in device code or user error. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_FILE_NOT_FOUND - - - This indicates that the file specified was not found. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND - - - This indicates that a link to a shared object failed to resolve. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_SHARED_OBJECT_INIT_FAILED - - - This indicates that initialization of a shared object failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_OPERATING_SYSTEM - - - This indicates that an OS call failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_HANDLE - - - This indicates that a resource handle passed to the API call was not valid. Resource handles are opaque types like :py:obj:`~.CUstream` and :py:obj:`~.CUevent`. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ILLEGAL_STATE - - - This indicates that a resource required by the API call is not in a valid state to perform the requested operation. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_LOSSY_QUERY - - - This indicates an attempt was made to introspect an object in a way that would discard semantically important information. This is either due to the object using funtionality newer than the API version used to introspect it or omission of optional return arguments. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_FOUND - - - This indicates that a named symbol was not found. Examples of symbols are global/constant variable names, driver function names, texture names, and surface names. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_READY - - - This indicates that asynchronous operations issued previously have not completed yet. This result is not actually an error, but must be indicated differently than :py:obj:`~.CUDA_SUCCESS` (which indicates completion). Calls that may return this value include :py:obj:`~.cuEventQuery()` and :py:obj:`~.cuStreamQuery()`. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ILLEGAL_ADDRESS - - - While executing a kernel, the device encountered a load or store instruction on an invalid memory address. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES - - - This indicates that a launch did not occur because it did not have appropriate resources. This error usually indicates that the user has attempted to pass too many arguments to the device kernel, or the kernel launch specifies too many threads for the kernel's register count. Passing arguments of the wrong size (i.e. a 64-bit pointer when a 32-bit int is expected) is equivalent to passing too many arguments and can also result in this error. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_LAUNCH_TIMEOUT - - - This indicates that the device kernel took too long to execute. This can only occur if timeouts are enabled - see the device attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT` for more information. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING - - - This error indicates a kernel launch that uses an incompatible texturing mode. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED - - - This error indicates that a call to :py:obj:`~.cuCtxEnablePeerAccess()` is trying to re-enable peer access to a context which has already had peer access to it enabled. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PEER_ACCESS_NOT_ENABLED - - - This error indicates that :py:obj:`~.cuCtxDisablePeerAccess()` is trying to disable peer access which has not been enabled yet via :py:obj:`~.cuCtxEnablePeerAccess()`. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE - - - This error indicates that the primary context for the specified device has already been initialized. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_CONTEXT_IS_DESTROYED - - - This error indicates that the context current to the calling thread has been destroyed using :py:obj:`~.cuCtxDestroy`, or is a primary context which has not yet been initialized. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ASSERT - - - A device-side assert triggered during kernel execution. The context cannot be used anymore, and must be destroyed. All existing device memory allocations from this context are invalid and must be reconstructed if the program is to continue using CUDA. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_TOO_MANY_PEERS - - - This error indicates that the hardware resources required to enable peer access have been exhausted for one or more of the devices passed to :py:obj:`~.cuCtxEnablePeerAccess()`. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED - - - This error indicates that the memory range passed to :py:obj:`~.cuMemHostRegister()` has already been registered. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED - - - This error indicates that the pointer passed to :py:obj:`~.cuMemHostUnregister()` does not correspond to any currently registered memory region. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_HARDWARE_STACK_ERROR - - - While executing a kernel, the device encountered a stack error. This can be due to stack corruption or exceeding the stack size limit. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_ILLEGAL_INSTRUCTION - - - While executing a kernel, the device encountered an illegal instruction. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MISALIGNED_ADDRESS - - - While executing a kernel, the device encountered a load or store instruction on a memory address which is not aligned. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_ADDRESS_SPACE - - - While executing a kernel, the device encountered an instruction which can only operate on memory locations in certain address spaces (global, shared, or local), but was supplied a memory address not belonging to an allowed address space. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_PC - - - While executing a kernel, the device program counter wrapped its address space. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_LAUNCH_FAILED - - - An exception occurred on the device while executing a kernel. Common causes include dereferencing an invalid device pointer and accessing out of bounds shared memory. Less common cases can be system specific - more information about these cases can be found in the system specific user guide. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE - - - This error indicates that the number of blocks launched per grid for a kernel that was launched via either :py:obj:`~.cuLaunchCooperativeKernel` or :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` exceeds the maximum number of blocks as allowed by :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessor` or :py:obj:`~.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags` times the number of multiprocessors as specified by the device attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT`. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_PERMITTED - - - This error indicates that the attempted operation is not permitted. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_NOT_SUPPORTED - - - This error indicates that the attempted operation is not supported on the current system or device. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_SYSTEM_NOT_READY - - - This error indicates that the system is not yet ready to start any CUDA work. To continue using CUDA, verify the system configuration is in a valid state and all required driver daemons are actively running. More information about this error can be found in the system specific user guide. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_SYSTEM_DRIVER_MISMATCH - - - This error indicates that there is a mismatch between the versions of the display driver and the CUDA driver. Refer to the compatibility documentation for supported versions. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE - - - This error indicates that the system was upgraded to run with forward compatibility but the visible hardware detected by CUDA does not support this configuration. Refer to the compatibility documentation for the supported hardware matrix or ensure that only supported hardware is visible during initialization via the CUDA_VISIBLE_DEVICES environment variable. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MPS_CONNECTION_FAILED - - - This error indicates that the MPS client failed to connect to the MPS control daemon or the MPS server. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MPS_RPC_FAILURE - - - This error indicates that the remote procedural call between the MPS server and the MPS client failed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MPS_SERVER_NOT_READY - - - This error indicates that the MPS server is not ready to accept new MPS client requests. This error can be returned when the MPS server is in the process of recovering from a fatal failure. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MPS_MAX_CLIENTS_REACHED - - - This error indicates that the hardware resources required to create MPS client have been exhausted. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MPS_MAX_CONNECTIONS_REACHED - - - This error indicates the the hardware resources required to support device connections have been exhausted. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_MPS_CLIENT_TERMINATED - - - This error indicates that the MPS client has been terminated by the server. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_CDP_NOT_SUPPORTED - - - This error indicates that the module is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_CDP_VERSION_MISMATCH - - - This error indicates that a module contains an unsupported interaction between different versions of CUDA Dynamic Parallelism. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED - - - This error indicates that the operation is not permitted when the stream is capturing. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_INVALIDATED - - - This error indicates that the current capture sequence on the stream has been invalidated due to a previous error. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_MERGE - - - This error indicates that the operation would have resulted in a merge of two independent capture sequences. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_UNMATCHED - - - This error indicates that the capture was not initiated in this stream. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_UNJOINED - - - This error indicates that the capture sequence contains a fork that was not joined to the primary stream. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_ISOLATION - - - This error indicates that a dependency would have been created which crosses the capture sequence boundary. Only implicit in-stream ordering dependencies are allowed to cross the boundary. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_IMPLICIT - - - This error indicates a disallowed implicit dependency on a current capture sequence from cudaStreamLegacy. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_CAPTURED_EVENT - - - This error indicates that the operation is not permitted on an event which was last recorded in a capturing stream. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD - - - A stream capture sequence not initiated with the :py:obj:`~.CU_STREAM_CAPTURE_MODE_RELAXED` argument to :py:obj:`~.cuStreamBeginCapture` was passed to :py:obj:`~.cuStreamEndCapture` in a different thread. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_TIMEOUT - - - This error indicates that the timeout specified for the wait operation has lapsed. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE - - - This error indicates that the graph update was not performed because it included changes which violated constraints specific to instantiated graph update. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_EXTERNAL_DEVICE - - - This indicates that an async error has occurred in a device outside of CUDA. If CUDA was waiting for an external device's signal before consuming shared data, the external device signaled an error indicating that the data is not valid for consumption. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_CLUSTER_SIZE - - - Indicates a kernel launch error due to cluster misconfiguration. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_FUNCTION_NOT_LOADED - - - Indiciates a function handle is not loaded when calling an API that requires a loaded function. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_RESOURCE_TYPE - - - This error indicates one or more resources passed in are not valid resource types for the operation. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_INVALID_RESOURCE_CONFIGURATION - - - This error indicates one or more resources are insufficient or non-applicable for the operation. - - - .. autoattribute:: cuda.bindings.driver.CUresult.CUDA_ERROR_UNKNOWN - - - This indicates that an unknown internal error has occurred. - -.. autoclass:: cuda.bindings.driver.CUdevice_P2PAttribute - - .. autoattribute:: cuda.bindings.driver.CUdevice_P2PAttribute.CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK - - - A relative value indicating the performance of the link between two devices - - - .. autoattribute:: cuda.bindings.driver.CUdevice_P2PAttribute.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED - - - P2P Access is enable - - - .. autoattribute:: cuda.bindings.driver.CUdevice_P2PAttribute.CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED - - - Atomic operation over the link supported - - - .. autoattribute:: cuda.bindings.driver.CUdevice_P2PAttribute.CU_DEVICE_P2P_ATTRIBUTE_ACCESS_ACCESS_SUPPORTED - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.driver.CUdevice_P2PAttribute.CU_DEVICE_P2P_ATTRIBUTE_CUDA_ARRAY_ACCESS_SUPPORTED - - - Accessing CUDA arrays over the link supported - -.. autoclass:: cuda.bindings.driver.CUresourceViewFormat - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_NONE - - - No resource view format (use underlying resource format) - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_1X8 - - - 1 channel unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_2X8 - - - 2 channel unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_4X8 - - - 4 channel unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_1X8 - - - 1 channel signed 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_2X8 - - - 2 channel signed 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_4X8 - - - 4 channel signed 8-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_1X16 - - - 1 channel unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_2X16 - - - 2 channel unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_4X16 - - - 4 channel unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_1X16 - - - 1 channel signed 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_2X16 - - - 2 channel signed 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_4X16 - - - 4 channel signed 16-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_1X32 - - - 1 channel unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_2X32 - - - 2 channel unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UINT_4X32 - - - 4 channel unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_1X32 - - - 1 channel signed 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_2X32 - - - 2 channel signed 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SINT_4X32 - - - 4 channel signed 32-bit integers - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_FLOAT_1X16 - - - 1 channel 16-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_FLOAT_2X16 - - - 2 channel 16-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_FLOAT_4X16 - - - 4 channel 16-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_FLOAT_1X32 - - - 1 channel 32-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_FLOAT_2X32 - - - 2 channel 32-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_FLOAT_4X32 - - - 4 channel 32-bit floating point - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC1 - - - Block compressed 1 - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC2 - - - Block compressed 2 - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC3 - - - Block compressed 3 - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC4 - - - Block compressed 4 unsigned - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SIGNED_BC4 - - - Block compressed 4 signed - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC5 - - - Block compressed 5 unsigned - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SIGNED_BC5 - - - Block compressed 5 signed - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC6H - - - Block compressed 6 unsigned half-float - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_SIGNED_BC6H - - - Block compressed 6 signed half-float - - - .. autoattribute:: cuda.bindings.driver.CUresourceViewFormat.CU_RES_VIEW_FORMAT_UNSIGNED_BC7 - - - Block compressed 7 - -.. autoclass:: cuda.bindings.driver.CUtensorMapDataType - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_UINT8 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_UINT16 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_UINT32 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_INT32 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_UINT64 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_INT64 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_FLOAT16 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_FLOAT32 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_FLOAT64 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_BFLOAT16 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_FLOAT32_FTZ - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32 - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapDataType.CU_TENSOR_MAP_DATA_TYPE_TFLOAT32_FTZ - -.. autoclass:: cuda.bindings.driver.CUtensorMapInterleave - - .. autoattribute:: cuda.bindings.driver.CUtensorMapInterleave.CU_TENSOR_MAP_INTERLEAVE_NONE - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapInterleave.CU_TENSOR_MAP_INTERLEAVE_16B - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapInterleave.CU_TENSOR_MAP_INTERLEAVE_32B - -.. autoclass:: cuda.bindings.driver.CUtensorMapSwizzle - - .. autoattribute:: cuda.bindings.driver.CUtensorMapSwizzle.CU_TENSOR_MAP_SWIZZLE_NONE - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapSwizzle.CU_TENSOR_MAP_SWIZZLE_32B - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapSwizzle.CU_TENSOR_MAP_SWIZZLE_64B - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapSwizzle.CU_TENSOR_MAP_SWIZZLE_128B - -.. autoclass:: cuda.bindings.driver.CUtensorMapL2promotion - - .. autoattribute:: cuda.bindings.driver.CUtensorMapL2promotion.CU_TENSOR_MAP_L2_PROMOTION_NONE - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapL2promotion.CU_TENSOR_MAP_L2_PROMOTION_L2_64B - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapL2promotion.CU_TENSOR_MAP_L2_PROMOTION_L2_128B - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapL2promotion.CU_TENSOR_MAP_L2_PROMOTION_L2_256B - -.. autoclass:: cuda.bindings.driver.CUtensorMapFloatOOBfill - - .. autoattribute:: cuda.bindings.driver.CUtensorMapFloatOOBfill.CU_TENSOR_MAP_FLOAT_OOB_FILL_NONE - - - .. autoattribute:: cuda.bindings.driver.CUtensorMapFloatOOBfill.CU_TENSOR_MAP_FLOAT_OOB_FILL_NAN_REQUEST_ZERO_FMA - -.. autoclass:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS - - .. autoattribute:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_NONE - - - No access, meaning the device cannot access this memory at all, thus must be staged through accessible memory in order to complete certain operations - - - .. autoattribute:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READ - - - Read-only access, meaning writes to this memory are considered invalid accesses and thus return error in that case. - - - .. autoattribute:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_ACCESS_FLAGS.CU_POINTER_ATTRIBUTE_ACCESS_FLAG_READWRITE - - - Read-write access, the device has full read-write access to the memory - -.. autoclass:: cuda.bindings.driver.CUexternalMemoryHandleType - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD - - - Handle is an opaque file descriptor - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32 - - - Handle is an opaque shared NT handle - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT - - - Handle is an opaque, globally shared handle - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP - - - Handle is a D3D12 heap object - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE - - - Handle is a D3D12 committed resource - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE - - - Handle is a shared NT handle to a D3D11 resource - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_RESOURCE_KMT - - - Handle is a globally shared handle to a D3D11 resource - - - .. autoattribute:: cuda.bindings.driver.CUexternalMemoryHandleType.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF - - - Handle is an NvSciBuf object - -.. autoclass:: cuda.bindings.driver.CUexternalSemaphoreHandleType - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD - - - Handle is an opaque file descriptor - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32 - - - Handle is an opaque shared NT handle - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT - - - Handle is an opaque, globally shared handle - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE - - - Handle is a shared NT handle referencing a D3D12 fence object - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE - - - Handle is a shared NT handle referencing a D3D11 fence object - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_NVSCISYNC - - - Opaque handle to NvSciSync Object - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX - - - Handle is a shared NT handle referencing a D3D11 keyed mutex object - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_KEYED_MUTEX_KMT - - - Handle is a globally shared handle referencing a D3D11 keyed mutex object - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_FD - - - Handle is an opaque file descriptor referencing a timeline semaphore - - - .. autoattribute:: cuda.bindings.driver.CUexternalSemaphoreHandleType.CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32 - - - Handle is an opaque shared NT handle referencing a timeline semaphore - -.. autoclass:: cuda.bindings.driver.CUmemAllocationHandleType - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationHandleType.CU_MEM_HANDLE_TYPE_NONE - - - Does not allow any export mechanism. > - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationHandleType.CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR - - - Allows a file descriptor to be used for exporting. Permitted only on POSIX systems. (int) - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationHandleType.CU_MEM_HANDLE_TYPE_WIN32 - - - Allows a Win32 NT handle to be used for exporting. (HANDLE) - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationHandleType.CU_MEM_HANDLE_TYPE_WIN32_KMT - - - Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE) - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationHandleType.CU_MEM_HANDLE_TYPE_FABRIC - - - Allows a fabric handle to be used for exporting. (CUmemFabricHandle) - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationHandleType.CU_MEM_HANDLE_TYPE_MAX - -.. autoclass:: cuda.bindings.driver.CUmemAccess_flags - - .. autoattribute:: cuda.bindings.driver.CUmemAccess_flags.CU_MEM_ACCESS_FLAGS_PROT_NONE - - - Default, make the address range not accessible - - - .. autoattribute:: cuda.bindings.driver.CUmemAccess_flags.CU_MEM_ACCESS_FLAGS_PROT_READ - - - Make the address range read accessible - - - .. autoattribute:: cuda.bindings.driver.CUmemAccess_flags.CU_MEM_ACCESS_FLAGS_PROT_READWRITE - - - Make the address range read-write accessible - - - .. autoattribute:: cuda.bindings.driver.CUmemAccess_flags.CU_MEM_ACCESS_FLAGS_PROT_MAX - -.. autoclass:: cuda.bindings.driver.CUmemLocationType - - .. autoattribute:: cuda.bindings.driver.CUmemLocationType.CU_MEM_LOCATION_TYPE_INVALID - - - .. autoattribute:: cuda.bindings.driver.CUmemLocationType.CU_MEM_LOCATION_TYPE_DEVICE - - - Location is a device location, thus id is a device ordinal - - - .. autoattribute:: cuda.bindings.driver.CUmemLocationType.CU_MEM_LOCATION_TYPE_HOST - - - Location is host, id is ignored - - - .. autoattribute:: cuda.bindings.driver.CUmemLocationType.CU_MEM_LOCATION_TYPE_HOST_NUMA - - - Location is a host NUMA node, thus id is a host NUMA node id - - - .. autoattribute:: cuda.bindings.driver.CUmemLocationType.CU_MEM_LOCATION_TYPE_HOST_NUMA_CURRENT - - - Location is a host NUMA node of the current thread, id is ignored - - - .. autoattribute:: cuda.bindings.driver.CUmemLocationType.CU_MEM_LOCATION_TYPE_MAX - -.. autoclass:: cuda.bindings.driver.CUmemAllocationType - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationType.CU_MEM_ALLOCATION_TYPE_INVALID - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationType.CU_MEM_ALLOCATION_TYPE_PINNED - - - This allocation type is 'pinned', i.e. cannot migrate from its current location while the application is actively using it - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationType.CU_MEM_ALLOCATION_TYPE_MAX - -.. autoclass:: cuda.bindings.driver.CUmemAllocationGranularity_flags - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationGranularity_flags.CU_MEM_ALLOC_GRANULARITY_MINIMUM - - - Minimum required granularity for allocation - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationGranularity_flags.CU_MEM_ALLOC_GRANULARITY_RECOMMENDED - - - Recommended granularity for allocation for best performance - -.. autoclass:: cuda.bindings.driver.CUmemRangeHandleType - - .. autoattribute:: cuda.bindings.driver.CUmemRangeHandleType.CU_MEM_RANGE_HANDLE_TYPE_DMA_BUF_FD - - - .. autoattribute:: cuda.bindings.driver.CUmemRangeHandleType.CU_MEM_RANGE_HANDLE_TYPE_MAX - -.. autoclass:: cuda.bindings.driver.CUarraySparseSubresourceType - - .. autoattribute:: cuda.bindings.driver.CUarraySparseSubresourceType.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_SPARSE_LEVEL - - - .. autoattribute:: cuda.bindings.driver.CUarraySparseSubresourceType.CU_ARRAY_SPARSE_SUBRESOURCE_TYPE_MIPTAIL - -.. autoclass:: cuda.bindings.driver.CUmemOperationType - - .. autoattribute:: cuda.bindings.driver.CUmemOperationType.CU_MEM_OPERATION_TYPE_MAP - - - .. autoattribute:: cuda.bindings.driver.CUmemOperationType.CU_MEM_OPERATION_TYPE_UNMAP - -.. autoclass:: cuda.bindings.driver.CUmemHandleType - - .. autoattribute:: cuda.bindings.driver.CUmemHandleType.CU_MEM_HANDLE_TYPE_GENERIC - -.. autoclass:: cuda.bindings.driver.CUmemAllocationCompType - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationCompType.CU_MEM_ALLOCATION_COMP_NONE - - - Allocating non-compressible memory - - - .. autoattribute:: cuda.bindings.driver.CUmemAllocationCompType.CU_MEM_ALLOCATION_COMP_GENERIC - - - Allocating compressible memory - -.. autoclass:: cuda.bindings.driver.CUmulticastGranularity_flags - - .. autoattribute:: cuda.bindings.driver.CUmulticastGranularity_flags.CU_MULTICAST_GRANULARITY_MINIMUM - - - Minimum required granularity - - - .. autoattribute:: cuda.bindings.driver.CUmulticastGranularity_flags.CU_MULTICAST_GRANULARITY_RECOMMENDED - - - Recommended granularity for best performance - -.. autoclass:: cuda.bindings.driver.CUgraphExecUpdateResult - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_SUCCESS - - - The update succeeded - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR - - - The update failed for an unexpected reason which is described in the return value of the function - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_TOPOLOGY_CHANGED - - - The update failed because the topology changed - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_NODE_TYPE_CHANGED - - - The update failed because a node type changed - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_FUNCTION_CHANGED - - - The update failed because the function of a kernel node changed (CUDA driver < 11.2) - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_PARAMETERS_CHANGED - - - The update failed because the parameters changed in a way that is not supported - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_NOT_SUPPORTED - - - The update failed because something about the node is not supported - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_UNSUPPORTED_FUNCTION_CHANGE - - - The update failed because the function of a kernel node changed in an unsupported way - - - .. autoattribute:: cuda.bindings.driver.CUgraphExecUpdateResult.CU_GRAPH_EXEC_UPDATE_ERROR_ATTRIBUTES_CHANGED - - - The update failed because the node attributes changed in a way that is not supported - -.. autoclass:: cuda.bindings.driver.CUmemPool_attribute - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_REUSE_FOLLOW_EVENT_DEPENDENCIES - - - (value type = int) Allow cuMemAllocAsync to use memory asynchronously freed in another streams as long as a stream ordering dependency of the allocating stream on the free action exists. Cuda events and null stream interactions can create the required stream ordered dependencies. (default enabled) - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_REUSE_ALLOW_OPPORTUNISTIC - - - (value type = int) Allow reuse of already completed frees when there is no dependency between the free and allocation. (default enabled) - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_REUSE_ALLOW_INTERNAL_DEPENDENCIES - - - (value type = int) Allow cuMemAllocAsync to insert new stream dependencies in order to establish the stream ordering required to reuse a piece of memory released by cuFreeAsync (default enabled). - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_RELEASE_THRESHOLD - - - (value type = cuuint64_t) Amount of reserved memory in bytes to hold onto before trying to release memory back to the OS. When more than the release threshold bytes of memory are held by the memory pool, the allocator will try to release memory back to the OS on the next call to stream, event or context synchronize. (default 0) - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_RESERVED_MEM_CURRENT - - - (value type = cuuint64_t) Amount of backing memory currently allocated for the mempool. - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_RESERVED_MEM_HIGH - - - (value type = cuuint64_t) High watermark of backing memory allocated for the mempool since the last time it was reset. High watermark can only be reset to zero. - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_USED_MEM_CURRENT - - - (value type = cuuint64_t) Amount of memory from the pool that is currently in use by the application. - - - .. autoattribute:: cuda.bindings.driver.CUmemPool_attribute.CU_MEMPOOL_ATTR_USED_MEM_HIGH - - - (value type = cuuint64_t) High watermark of the amount of memory from the pool that was in use by the application since the last time it was reset. High watermark can only be reset to zero. - -.. autoclass:: cuda.bindings.driver.CUgraphMem_attribute - - .. autoattribute:: cuda.bindings.driver.CUgraphMem_attribute.CU_GRAPH_MEM_ATTR_USED_MEM_CURRENT - - - (value type = cuuint64_t) Amount of memory, in bytes, currently associated with graphs - - - .. autoattribute:: cuda.bindings.driver.CUgraphMem_attribute.CU_GRAPH_MEM_ATTR_USED_MEM_HIGH - - - (value type = cuuint64_t) High watermark of memory, in bytes, associated with graphs since the last time it was reset. High watermark can only be reset to zero. - - - .. autoattribute:: cuda.bindings.driver.CUgraphMem_attribute.CU_GRAPH_MEM_ATTR_RESERVED_MEM_CURRENT - - - (value type = cuuint64_t) Amount of memory, in bytes, currently allocated for use by the CUDA graphs asynchronous allocator. - - - .. autoattribute:: cuda.bindings.driver.CUgraphMem_attribute.CU_GRAPH_MEM_ATTR_RESERVED_MEM_HIGH - - - (value type = cuuint64_t) High watermark of memory, in bytes, currently allocated for use by the CUDA graphs asynchronous allocator. - -.. autoclass:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesOptions - - .. autoattribute:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesOptions.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_HOST - - - :py:obj:`~.cuFlushGPUDirectRDMAWrites()` and its CUDA Runtime API counterpart are supported on the device. - - - .. autoattribute:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesOptions.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_OPTION_MEMOPS - - - The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the :py:obj:`~.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES` MemOp are supported on the device. - -.. autoclass:: cuda.bindings.driver.CUGPUDirectRDMAWritesOrdering - - .. autoattribute:: cuda.bindings.driver.CUGPUDirectRDMAWritesOrdering.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_NONE - - - The device does not natively support ordering of remote writes. :py:obj:`~.cuFlushGPUDirectRDMAWrites()` can be leveraged if supported. - - - .. autoattribute:: cuda.bindings.driver.CUGPUDirectRDMAWritesOrdering.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_OWNER - - - Natively, the device can consistently consume remote writes, although other CUDA devices may not. - - - .. autoattribute:: cuda.bindings.driver.CUGPUDirectRDMAWritesOrdering.CU_GPU_DIRECT_RDMA_WRITES_ORDERING_ALL_DEVICES - - - Any CUDA device in the system can consistently consume remote writes to this device. - -.. autoclass:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesScope - - .. autoattribute:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesScope.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_OWNER - - - Blocks until remote writes are visible to the CUDA device context owning the data. - - - .. autoattribute:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesScope.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TO_ALL_DEVICES - - - Blocks until remote writes are visible to all CUDA device contexts. - -.. autoclass:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesTarget - - .. autoattribute:: cuda.bindings.driver.CUflushGPUDirectRDMAWritesTarget.CU_FLUSH_GPU_DIRECT_RDMA_WRITES_TARGET_CURRENT_CTX - - - Sets the target for :py:obj:`~.cuFlushGPUDirectRDMAWrites()` to the currently active CUDA device context. - -.. autoclass:: cuda.bindings.driver.CUgraphDebugDot_flags - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_VERBOSE - - - Output all debug data as if every debug flag is enabled - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_RUNTIME_TYPES - - - Use CUDA Runtime structures for output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_PARAMS - - - Adds CUDA_KERNEL_NODE_PARAMS values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_MEMCPY_NODE_PARAMS - - - Adds CUDA_MEMCPY3D values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_MEMSET_NODE_PARAMS - - - Adds CUDA_MEMSET_NODE_PARAMS values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_HOST_NODE_PARAMS - - - Adds CUDA_HOST_NODE_PARAMS values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_EVENT_NODE_PARAMS - - - Adds CUevent handle from record and wait nodes to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_SIGNAL_NODE_PARAMS - - - Adds CUDA_EXT_SEM_SIGNAL_NODE_PARAMS values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_EXT_SEMAS_WAIT_NODE_PARAMS - - - Adds CUDA_EXT_SEM_WAIT_NODE_PARAMS values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_KERNEL_NODE_ATTRIBUTES - - - Adds CUkernelNodeAttrValue values to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_HANDLES - - - Adds node handles and every kernel function handle to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_MEM_ALLOC_NODE_PARAMS - - - Adds memory alloc node parameters to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_MEM_FREE_NODE_PARAMS - - - Adds memory free node parameters to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_BATCH_MEM_OP_NODE_PARAMS - - - Adds batch mem op node parameters to output - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_EXTRA_TOPO_INFO - - - Adds edge numbering information - - - .. autoattribute:: cuda.bindings.driver.CUgraphDebugDot_flags.CU_GRAPH_DEBUG_DOT_FLAGS_CONDITIONAL_NODE_PARAMS - - - Adds conditional node parameters to output - -.. autoclass:: cuda.bindings.driver.CUuserObject_flags - - .. autoattribute:: cuda.bindings.driver.CUuserObject_flags.CU_USER_OBJECT_NO_DESTRUCTOR_SYNC - - - Indicates the destructor execution is not synchronized by any CUDA handle. - -.. autoclass:: cuda.bindings.driver.CUuserObjectRetain_flags - - .. autoattribute:: cuda.bindings.driver.CUuserObjectRetain_flags.CU_GRAPH_USER_OBJECT_MOVE - - - Transfer references from the caller rather than creating new references. - -.. autoclass:: cuda.bindings.driver.CUgraphInstantiate_flags - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiate_flags.CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH - - - Automatically free memory allocated in a graph before relaunching. - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiate_flags.CUDA_GRAPH_INSTANTIATE_FLAG_UPLOAD - - - Automatically upload the graph after instantiation. Only supported by :py:obj:`~.cuGraphInstantiateWithParams`. The upload will be performed using the stream provided in `instantiateParams`. - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiate_flags.CUDA_GRAPH_INSTANTIATE_FLAG_DEVICE_LAUNCH - - - Instantiate the graph to be launchable from the device. This flag can only be used on platforms which support unified addressing. This flag cannot be used in conjunction with CUDA_GRAPH_INSTANTIATE_FLAG_AUTO_FREE_ON_LAUNCH. - - - .. autoattribute:: cuda.bindings.driver.CUgraphInstantiate_flags.CUDA_GRAPH_INSTANTIATE_FLAG_USE_NODE_PRIORITY - - - Run the graph using the per-node priority attributes rather than the priority of the stream it is launched into. - -.. autoclass:: cuda.bindings.driver.CUdeviceNumaConfig - - .. autoattribute:: cuda.bindings.driver.CUdeviceNumaConfig.CU_DEVICE_NUMA_CONFIG_NONE - - - The GPU is not a NUMA node - - - .. autoattribute:: cuda.bindings.driver.CUdeviceNumaConfig.CU_DEVICE_NUMA_CONFIG_NUMA_NODE - - - The GPU is a NUMA node, CU_DEVICE_ATTRIBUTE_NUMA_ID contains its NUMA ID - -.. autoclass:: cuda.bindings.driver.CUeglFrameType - - .. autoattribute:: cuda.bindings.driver.CUeglFrameType.CU_EGL_FRAME_TYPE_ARRAY - - - Frame type CUDA array - - - .. autoattribute:: cuda.bindings.driver.CUeglFrameType.CU_EGL_FRAME_TYPE_PITCH - - - Frame type pointer - -.. autoclass:: cuda.bindings.driver.CUeglResourceLocationFlags - - .. autoattribute:: cuda.bindings.driver.CUeglResourceLocationFlags.CU_EGL_RESOURCE_LOCATION_SYSMEM - - - Resource location sysmem - - - .. autoattribute:: cuda.bindings.driver.CUeglResourceLocationFlags.CU_EGL_RESOURCE_LOCATION_VIDMEM - - - Resource location vidmem - -.. autoclass:: cuda.bindings.driver.CUeglColorFormat - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_PLANAR - - - Y, U, V in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR - - - Y, UV in two surfaces (UV as one surface) with VU byte ordering, width, height ratio same as YUV420Planar. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV422_PLANAR - - - Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR - - - Y, UV in two surfaces with VU byte ordering, width, height ratio same as YUV422Planar. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_RGB - - - R/G/B three channels in one surface with BGR byte ordering. Only pitch linear format supported. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BGR - - - R/G/B three channels in one surface with RGB byte ordering. Only pitch linear format supported. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_ARGB - - - R/G/B/A four channels in one surface with BGRA byte ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_RGBA - - - R/G/B/A four channels in one surface with ABGR byte ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_L - - - single luminance channel in one surface. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_R - - - single color channel in one surface. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV444_PLANAR - - - Y, U, V in three surfaces, each in a separate surface, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR - - - Y, UV in two surfaces (UV as one surface) with VU byte ordering, width, height ratio same as YUV444Planar. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUYV_422 - - - Y, U, V in one surface, interleaved as UYVY in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_UYVY_422 - - - Y, U, V in one surface, interleaved as YUYV in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_ABGR - - - R/G/B/A four channels in one surface with RGBA byte ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BGRA - - - R/G/B/A four channels in one surface with ARGB byte ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_A - - - Alpha color format - one channel in one surface. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_RG - - - R/G color format - two channels in one surface with GR byte ordering - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_AYUV - - - Y, U, V, A four channels in one surface, interleaved as VUYA. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR - - - Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR - - - Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR - - - Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR - - - Y10, V10U10 in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR - - - Y10, V10U10 in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR - - - Y12, V12U12 in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR - - - Y12, V12U12 in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_VYUY_ER - - - Extended Range Y, U, V in one surface, interleaved as YVYU in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_UYVY_ER - - - Extended Range Y, U, V in one surface, interleaved as YUYV in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUYV_ER - - - Extended Range Y, U, V in one surface, interleaved as UYVY in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVYU_ER - - - Extended Range Y, U, V in one surface, interleaved as VYUY in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV_ER - - - Extended Range Y, U, V three channels in one surface, interleaved as VUY. Only pitch linear format supported. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUVA_ER - - - Extended Range Y, U, V, A four channels in one surface, interleaved as AVUY. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_AYUV_ER - - - Extended Range Y, U, V, A four channels in one surface, interleaved as VUYA. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV444_PLANAR_ER - - - Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV422_PLANAR_ER - - - Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_ER - - - Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV444_SEMIPLANAR_ER - - - Extended Range Y, UV in two surfaces (UV as one surface) with VU byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV422_SEMIPLANAR_ER - - - Extended Range Y, UV in two surfaces (UV as one surface) with VU byte ordering, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_ER - - - Extended Range Y, UV in two surfaces (UV as one surface) with VU byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU444_PLANAR_ER - - - Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU422_PLANAR_ER - - - Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_ER - - - Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU444_SEMIPLANAR_ER - - - Extended Range Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU422_SEMIPLANAR_ER - - - Extended Range Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_ER - - - Extended Range Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_RGGB - - - Bayer format - one channel in one surface with interleaved RGGB ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_BGGR - - - Bayer format - one channel in one surface with interleaved BGGR ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_GRBG - - - Bayer format - one channel in one surface with interleaved GRBG ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_GBRG - - - Bayer format - one channel in one surface with interleaved GBRG ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER10_RGGB - - - Bayer10 format - one channel in one surface with interleaved RGGB ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER10_BGGR - - - Bayer10 format - one channel in one surface with interleaved BGGR ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER10_GRBG - - - Bayer10 format - one channel in one surface with interleaved GRBG ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER10_GBRG - - - Bayer10 format - one channel in one surface with interleaved GBRG ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_RGGB - - - Bayer12 format - one channel in one surface with interleaved RGGB ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_BGGR - - - Bayer12 format - one channel in one surface with interleaved BGGR ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_GRBG - - - Bayer12 format - one channel in one surface with interleaved GRBG ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_GBRG - - - Bayer12 format - one channel in one surface with interleaved GBRG ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER14_RGGB - - - Bayer14 format - one channel in one surface with interleaved RGGB ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER14_BGGR - - - Bayer14 format - one channel in one surface with interleaved BGGR ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER14_GRBG - - - Bayer14 format - one channel in one surface with interleaved GRBG ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER14_GBRG - - - Bayer14 format - one channel in one surface with interleaved GBRG ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER20_RGGB - - - Bayer20 format - one channel in one surface with interleaved RGGB ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER20_BGGR - - - Bayer20 format - one channel in one surface with interleaved BGGR ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER20_GRBG - - - Bayer20 format - one channel in one surface with interleaved GRBG ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER20_GBRG - - - Bayer20 format - one channel in one surface with interleaved GBRG ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU444_PLANAR - - - Y, V, U in three surfaces, each in a separate surface, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU422_PLANAR - - - Y, V, U in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_PLANAR - - - Y, V, U in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_ISP_RGGB - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved RGGB ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_ISP_BGGR - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved BGGR ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_ISP_GRBG - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved GRBG ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_ISP_GBRG - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved GBRG ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_BCCR - - - Bayer format - one channel in one surface with interleaved BCCR ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_RCCB - - - Bayer format - one channel in one surface with interleaved RCCB ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_CRBC - - - Bayer format - one channel in one surface with interleaved CRBC ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER_CBRC - - - Bayer format - one channel in one surface with interleaved CBRC ordering. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER10_CCCC - - - Bayer10 format - one channel in one surface with interleaved CCCC ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_BCCR - - - Bayer12 format - one channel in one surface with interleaved BCCR ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_RCCB - - - Bayer12 format - one channel in one surface with interleaved RCCB ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_CRBC - - - Bayer12 format - one channel in one surface with interleaved CRBC ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_CBRC - - - Bayer12 format - one channel in one surface with interleaved CBRC ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_BAYER12_CCCC - - - Bayer12 format - one channel in one surface with interleaved CCCC ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y - - - Color format for single Y plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_2020 - - - Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_2020 - - - Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_2020 - - - Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V height= 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_2020 - - - Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR_709 - - - Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_SEMIPLANAR_709 - - - Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV420_PLANAR_709 - - - Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVU420_PLANAR_709 - - - Y, V, U each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709 - - - Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_2020 - - - Y10, V10U10 in two surfaces (VU as one surface), U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_2020 - - - Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR - - - Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_422_SEMIPLANAR_709 - - - Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y_ER - - - Extended Range Color format for single Y plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y_709_ER - - - Extended Range Color format for single Y plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10_ER - - - Extended Range Color format for single Y10 plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10_709_ER - - - Extended Range Color format for single Y10 plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12_ER - - - Extended Range Color format for single Y12 plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12_709_ER - - - Extended Range Color format for single Y12 plane. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUVA - - - Y, U, V, A four channels in one surface, interleaved as AVUY. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YUV - - - Y, U, V three channels in one surface, interleaved as VUY. Only pitch linear format supported. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_YVYU - - - Y, U, V in one surface, interleaved as YVYU in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_VYUY - - - Y, U, V in one surface, interleaved as VYUY in one channel. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_ER - - - Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR_709_ER - - - Extended Range Y10, V10U10 in two surfaces(VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_ER - - - Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y10V10U10_444_SEMIPLANAR_709_ER - - - Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12V12U12_420_SEMIPLANAR_709_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_Y12V12U12_444_SEMIPLANAR_709_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.driver.CUeglColorFormat.CU_EGL_COLOR_FORMAT_MAX - -.. autoclass:: cuda.bindings.driver.CUdeviceptr_v2 -.. autoclass:: cuda.bindings.driver.CUdeviceptr -.. autoclass:: cuda.bindings.driver.CUdevice_v1 -.. autoclass:: cuda.bindings.driver.CUdevice -.. autoclass:: cuda.bindings.driver.CUcontext -.. autoclass:: cuda.bindings.driver.CUmodule -.. autoclass:: cuda.bindings.driver.CUfunction -.. autoclass:: cuda.bindings.driver.CUlibrary -.. autoclass:: cuda.bindings.driver.CUkernel -.. autoclass:: cuda.bindings.driver.CUarray -.. autoclass:: cuda.bindings.driver.CUmipmappedArray -.. autoclass:: cuda.bindings.driver.CUtexref -.. autoclass:: cuda.bindings.driver.CUsurfref -.. autoclass:: cuda.bindings.driver.CUevent -.. autoclass:: cuda.bindings.driver.CUstream -.. autoclass:: cuda.bindings.driver.CUgraphicsResource -.. autoclass:: cuda.bindings.driver.CUtexObject_v1 -.. autoclass:: cuda.bindings.driver.CUtexObject -.. autoclass:: cuda.bindings.driver.CUsurfObject_v1 -.. autoclass:: cuda.bindings.driver.CUsurfObject -.. autoclass:: cuda.bindings.driver.CUexternalMemory -.. autoclass:: cuda.bindings.driver.CUexternalSemaphore -.. autoclass:: cuda.bindings.driver.CUgraph -.. autoclass:: cuda.bindings.driver.CUgraphNode -.. autoclass:: cuda.bindings.driver.CUgraphExec -.. autoclass:: cuda.bindings.driver.CUmemoryPool -.. autoclass:: cuda.bindings.driver.CUuserObject -.. autoclass:: cuda.bindings.driver.CUgraphConditionalHandle -.. autoclass:: cuda.bindings.driver.CUgraphDeviceNode -.. autoclass:: cuda.bindings.driver.CUasyncCallbackHandle -.. autoclass:: cuda.bindings.driver.CUgreenCtx -.. autoclass:: cuda.bindings.driver.CUuuid -.. autoclass:: cuda.bindings.driver.CUmemFabricHandle_v1 -.. autoclass:: cuda.bindings.driver.CUmemFabricHandle -.. autoclass:: cuda.bindings.driver.CUipcEventHandle_v1 -.. autoclass:: cuda.bindings.driver.CUipcEventHandle -.. autoclass:: cuda.bindings.driver.CUipcMemHandle_v1 -.. autoclass:: cuda.bindings.driver.CUipcMemHandle -.. autoclass:: cuda.bindings.driver.CUstreamBatchMemOpParams_v1 -.. autoclass:: cuda.bindings.driver.CUstreamBatchMemOpParams -.. autoclass:: cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_BATCH_MEM_OP_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUasyncNotificationInfo -.. autoclass:: cuda.bindings.driver.CUasyncCallback -.. autoclass:: cuda.bindings.driver.CUdevprop_v1 -.. autoclass:: cuda.bindings.driver.CUdevprop -.. autoclass:: cuda.bindings.driver.CUlinkState -.. autoclass:: cuda.bindings.driver.CUhostFn -.. autoclass:: cuda.bindings.driver.CUaccessPolicyWindow_v1 -.. autoclass:: cuda.bindings.driver.CUaccessPolicyWindow -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_KERNEL_NODE_PARAMS_v3 -.. autoclass:: cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_MEMSET_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_HOST_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_HOST_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUgraphEdgeData -.. autoclass:: cuda.bindings.driver.CUDA_GRAPH_INSTANTIATE_PARAMS -.. autoclass:: cuda.bindings.driver.CUlaunchMemSyncDomainMap -.. autoclass:: cuda.bindings.driver.CUlaunchAttributeValue -.. autoclass:: cuda.bindings.driver.CUlaunchAttribute -.. autoclass:: cuda.bindings.driver.CUlaunchConfig -.. autoclass:: cuda.bindings.driver.CUkernelNodeAttrID -.. autoclass:: cuda.bindings.driver.CUkernelNodeAttrValue_v1 -.. autoclass:: cuda.bindings.driver.CUkernelNodeAttrValue -.. autoclass:: cuda.bindings.driver.CUstreamAttrID -.. autoclass:: cuda.bindings.driver.CUstreamAttrValue_v1 -.. autoclass:: cuda.bindings.driver.CUstreamAttrValue -.. autoclass:: cuda.bindings.driver.CUexecAffinitySmCount_v1 -.. autoclass:: cuda.bindings.driver.CUexecAffinitySmCount -.. autoclass:: cuda.bindings.driver.CUexecAffinityParam_v1 -.. autoclass:: cuda.bindings.driver.CUexecAffinityParam -.. autoclass:: cuda.bindings.driver.CUctxCigParam -.. autoclass:: cuda.bindings.driver.CUctxCreateParams -.. autoclass:: cuda.bindings.driver.CUlibraryHostUniversalFunctionAndDataTable -.. autoclass:: cuda.bindings.driver.CUstreamCallback -.. autoclass:: cuda.bindings.driver.CUoccupancyB2DSize -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY2D_v2 -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY2D -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY3D_v2 -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY3D -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY3D_PEER_v1 -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY3D_PEER -.. autoclass:: cuda.bindings.driver.CUDA_MEMCPY_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR_v2 -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_DESCRIPTOR -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR_v2 -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY3D_DESCRIPTOR -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES_v1 -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_SPARSE_PROPERTIES -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_ARRAY_MEMORY_REQUIREMENTS -.. autoclass:: cuda.bindings.driver.CUDA_RESOURCE_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_RESOURCE_DESC -.. autoclass:: cuda.bindings.driver.CUDA_TEXTURE_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_TEXTURE_DESC -.. autoclass:: cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_RESOURCE_VIEW_DESC -.. autoclass:: cuda.bindings.driver.CUtensorMap -.. autoclass:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_POINTER_ATTRIBUTE_P2P_TOKENS -.. autoclass:: cuda.bindings.driver.CUDA_LAUNCH_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_LAUNCH_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_HANDLE_DESC -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_BUFFER_DESC -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_MIPMAPPED_ARRAY_DESC -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_HANDLE_DESC -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_SIGNAL_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EXT_SEM_WAIT_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUmemGenericAllocationHandle_v1 -.. autoclass:: cuda.bindings.driver.CUmemGenericAllocationHandle -.. autoclass:: cuda.bindings.driver.CUarrayMapInfo_v1 -.. autoclass:: cuda.bindings.driver.CUarrayMapInfo -.. autoclass:: cuda.bindings.driver.CUmemLocation_v1 -.. autoclass:: cuda.bindings.driver.CUmemLocation -.. autoclass:: cuda.bindings.driver.CUmemAllocationProp_v1 -.. autoclass:: cuda.bindings.driver.CUmemAllocationProp -.. autoclass:: cuda.bindings.driver.CUmulticastObjectProp_v1 -.. autoclass:: cuda.bindings.driver.CUmulticastObjectProp -.. autoclass:: cuda.bindings.driver.CUmemAccessDesc_v1 -.. autoclass:: cuda.bindings.driver.CUmemAccessDesc -.. autoclass:: cuda.bindings.driver.CUgraphExecUpdateResultInfo_v1 -.. autoclass:: cuda.bindings.driver.CUgraphExecUpdateResultInfo -.. autoclass:: cuda.bindings.driver.CUmemPoolProps_v1 -.. autoclass:: cuda.bindings.driver.CUmemPoolProps -.. autoclass:: cuda.bindings.driver.CUmemPoolPtrExportData_v1 -.. autoclass:: cuda.bindings.driver.CUmemPoolPtrExportData -.. autoclass:: cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v1 -.. autoclass:: cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_MEM_ALLOC_NODE_PARAMS_v2 -.. autoclass:: cuda.bindings.driver.CUDA_MEM_FREE_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_CHILD_GRAPH_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EVENT_RECORD_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUDA_EVENT_WAIT_NODE_PARAMS -.. autoclass:: cuda.bindings.driver.CUgraphNodeParams -.. autoclass:: cuda.bindings.driver.CUeglFrame_v1 -.. autoclass:: cuda.bindings.driver.CUeglFrame -.. autoclass:: cuda.bindings.driver.CUeglStreamConnection -.. autoattribute:: cuda.bindings.driver.CUDA_VERSION - - CUDA API version number - -.. autoattribute:: cuda.bindings.driver.CU_IPC_HANDLE_SIZE - - CUDA IPC handle size - -.. autoattribute:: cuda.bindings.driver.CU_STREAM_LEGACY - - Legacy stream handle - - - - Stream handle that can be passed as a CUstream to use an implicit stream with legacy synchronization behavior. - - - - See details of the \link_sync_behavior - -.. autoattribute:: cuda.bindings.driver.CU_STREAM_PER_THREAD - - Per-thread stream handle - - - - Stream handle that can be passed as a CUstream to use an implicit stream with per-thread synchronization behavior. - - - - See details of the \link_sync_behavior - -.. autoattribute:: cuda.bindings.driver.CU_COMPUTE_ACCELERATED_TARGET_BASE -.. autoattribute:: cuda.bindings.driver.CU_GRAPH_COND_ASSIGN_DEFAULT - - Conditional node handle flags Default value is applied when graph is launched. - -.. autoattribute:: cuda.bindings.driver.CU_GRAPH_KERNEL_NODE_PORT_DEFAULT - - This port activates when the kernel has finished executing. - -.. autoattribute:: cuda.bindings.driver.CU_GRAPH_KERNEL_NODE_PORT_PROGRAMMATIC - - This port activates when all blocks of the kernel have performed cudaTriggerProgrammaticLaunchCompletion() or have terminated. It must be used with edge type :py:obj:`~.CU_GRAPH_DEPENDENCY_TYPE_PROGRAMMATIC`. See also :py:obj:`~.CU_LAUNCH_ATTRIBUTE_PROGRAMMATIC_EVENT`. - -.. autoattribute:: cuda.bindings.driver.CU_GRAPH_KERNEL_NODE_PORT_LAUNCH_ORDER - - This port activates when all blocks of the kernel have begun execution. See also :py:obj:`~.CU_LAUNCH_ATTRIBUTE_LAUNCH_COMPLETION_EVENT`. - -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_ACCESS_POLICY_WINDOW -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_COOPERATIVE -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_DIMENSION -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_PRIORITY -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_MEM_SYNC_DOMAIN -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_DEVICE_UPDATABLE_KERNEL_NODE -.. autoattribute:: cuda.bindings.driver.CU_KERNEL_NODE_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT -.. autoattribute:: cuda.bindings.driver.CU_STREAM_ATTRIBUTE_ACCESS_POLICY_WINDOW -.. autoattribute:: cuda.bindings.driver.CU_STREAM_ATTRIBUTE_SYNCHRONIZATION_POLICY -.. autoattribute:: cuda.bindings.driver.CU_STREAM_ATTRIBUTE_PRIORITY -.. autoattribute:: cuda.bindings.driver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN_MAP -.. autoattribute:: cuda.bindings.driver.CU_STREAM_ATTRIBUTE_MEM_SYNC_DOMAIN -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTALLOC_PORTABLE - - If set, host memory is portable between CUDA contexts. Flag for :py:obj:`~.cuMemHostAlloc()` - -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTALLOC_DEVICEMAP - - If set, host memory is mapped into CUDA address space and :py:obj:`~.cuMemHostGetDevicePointer()` may be called on the host pointer. Flag for :py:obj:`~.cuMemHostAlloc()` - -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTALLOC_WRITECOMBINED - - If set, host memory is allocated as write-combined - fast to write, faster to DMA, slow to read except via SSE4 streaming load instruction (MOVNTDQA). Flag for :py:obj:`~.cuMemHostAlloc()` - -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTREGISTER_PORTABLE - - If set, host memory is portable between CUDA contexts. Flag for :py:obj:`~.cuMemHostRegister()` - -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTREGISTER_DEVICEMAP - - If set, host memory is mapped into CUDA address space and :py:obj:`~.cuMemHostGetDevicePointer()` may be called on the host pointer. Flag for :py:obj:`~.cuMemHostRegister()` - -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTREGISTER_IOMEMORY - - If set, the passed memory pointer is treated as pointing to some memory-mapped I/O space, e.g. belonging to a third-party PCIe device. On Windows the flag is a no-op. On Linux that memory is marked as non cache-coherent for the GPU and is expected to be physically contiguous. It may return :py:obj:`~.CUDA_ERROR_NOT_PERMITTED` if run as an unprivileged user, :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` on older Linux kernel versions. On all other platforms, it is not supported and :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED` is returned. Flag for :py:obj:`~.cuMemHostRegister()` - -.. autoattribute:: cuda.bindings.driver.CU_MEMHOSTREGISTER_READ_ONLY - - If set, the passed memory pointer is treated as pointing to memory that is considered read-only by the device. On platforms without :py:obj:`~.CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES`, this flag is required in order to register memory mapped to the CPU as read-only. Support for the use of this flag can be queried from the device attribute :py:obj:`~.CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED`. Using this flag with a current context associated with a device that does not have this attribute set will cause :py:obj:`~.cuMemHostRegister` to error with :py:obj:`~.CUDA_ERROR_NOT_SUPPORTED`. - -.. autoattribute:: cuda.bindings.driver.CU_ARRAY_SPARSE_PROPERTIES_SINGLE_MIPTAIL - - Indicates that the layered sparse CUDA array or CUDA mipmapped array has a single mip tail region for all layers - -.. autoattribute:: cuda.bindings.driver.CU_TENSOR_MAP_NUM_QWORDS - - Size of tensor map descriptor - -.. autoattribute:: cuda.bindings.driver.CUDA_EXTERNAL_MEMORY_DEDICATED - - Indicates that the external memory object is a dedicated resource - -.. autoattribute:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_SKIP_NVSCIBUF_MEMSYNC - - When the `flags` parameter of :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_SIGNAL_PARAMS` contains this flag, it indicates that signaling an external semaphore object should skip performing appropriate memory synchronization operations over all the external memory objects that are imported as :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`, which otherwise are performed by default to ensure data coherency with other importers of the same NvSciBuf memory objects. - -.. autoattribute:: cuda.bindings.driver.CUDA_EXTERNAL_SEMAPHORE_WAIT_SKIP_NVSCIBUF_MEMSYNC - - When the `flags` parameter of :py:obj:`~.CUDA_EXTERNAL_SEMAPHORE_WAIT_PARAMS` contains this flag, it indicates that waiting on an external semaphore object should skip performing appropriate memory synchronization operations over all the external memory objects that are imported as :py:obj:`~.CU_EXTERNAL_MEMORY_HANDLE_TYPE_NVSCIBUF`, which otherwise are performed by default to ensure data coherency with other importers of the same NvSciBuf memory objects. - -.. autoattribute:: cuda.bindings.driver.CUDA_NVSCISYNC_ATTR_SIGNAL - - When `flags` of :py:obj:`~.cuDeviceGetNvSciSyncAttributes` is set to this, it indicates that application needs signaler specific NvSciSyncAttr to be filled by :py:obj:`~.cuDeviceGetNvSciSyncAttributes`. - -.. autoattribute:: cuda.bindings.driver.CUDA_NVSCISYNC_ATTR_WAIT - - When `flags` of :py:obj:`~.cuDeviceGetNvSciSyncAttributes` is set to this, it indicates that application needs waiter specific NvSciSyncAttr to be filled by :py:obj:`~.cuDeviceGetNvSciSyncAttributes`. - -.. autoattribute:: cuda.bindings.driver.CU_MEM_CREATE_USAGE_TILE_POOL - - This flag if set indicates that the memory will be used as a tile pool. - -.. autoattribute:: cuda.bindings.driver.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_PRE_LAUNCH_SYNC - - If set, each kernel launched as part of :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` only waits for prior work in the stream corresponding to that GPU to complete before the kernel begins execution. - -.. autoattribute:: cuda.bindings.driver.CUDA_COOPERATIVE_LAUNCH_MULTI_DEVICE_NO_POST_LAUNCH_SYNC - - If set, any subsequent work pushed in a stream that participated in a call to :py:obj:`~.cuLaunchCooperativeKernelMultiDevice` will only wait for the kernel launched on the GPU corresponding to that stream to complete before it begins execution. - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_LAYERED - - If set, the CUDA array is a collection of layers, where each layer is either a 1D or a 2D array and the Depth member of CUDA_ARRAY3D_DESCRIPTOR specifies the number of layers, not the depth of a 3D array. - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_2DARRAY - - Deprecated, use CUDA_ARRAY3D_LAYERED - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_SURFACE_LDST - - This flag must be set in order to bind a surface reference to the CUDA array - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_CUBEMAP - - If set, the CUDA array is a collection of six 2D arrays, representing faces of a cube. The width of such a CUDA array must be equal to its height, and Depth must be six. If :py:obj:`~.CUDA_ARRAY3D_LAYERED` flag is also set, then the CUDA array is a collection of cubemaps and Depth must be a multiple of six. - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_TEXTURE_GATHER - - This flag must be set in order to perform texture gather operations on a CUDA array. - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_DEPTH_TEXTURE - - This flag if set indicates that the CUDA array is a DEPTH_TEXTURE. - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_COLOR_ATTACHMENT - - This flag indicates that the CUDA array may be bound as a color target in an external graphics API - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_SPARSE - - This flag if set indicates that the CUDA array or CUDA mipmapped array is a sparse CUDA array or CUDA mipmapped array respectively - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_DEFERRED_MAPPING - - This flag if set indicates that the CUDA array or CUDA mipmapped array will allow deferred memory mapping - -.. autoattribute:: cuda.bindings.driver.CUDA_ARRAY3D_VIDEO_ENCODE_DECODE - - This flag indicates that the CUDA array will be used for hardware accelerated video encode/decode operations. - -.. autoattribute:: cuda.bindings.driver.CU_TRSA_OVERRIDE_FORMAT - - Override the texref format with a format inferred from the array. Flag for :py:obj:`~.cuTexRefSetArray()` - -.. autoattribute:: cuda.bindings.driver.CU_TRSF_READ_AS_INTEGER - - Read the texture as integers rather than promoting the values to floats in the range [0,1]. Flag for :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()` - -.. autoattribute:: cuda.bindings.driver.CU_TRSF_NORMALIZED_COORDINATES - - Use normalized texture coordinates in the range [0,1) instead of [0,dim). Flag for :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()` - -.. autoattribute:: cuda.bindings.driver.CU_TRSF_SRGB - - Perform sRGB->linear conversion during texture read. Flag for :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()` - -.. autoattribute:: cuda.bindings.driver.CU_TRSF_DISABLE_TRILINEAR_OPTIMIZATION - - Disable any trilinear filtering optimizations. Flag for :py:obj:`~.cuTexRefSetFlags()` and :py:obj:`~.cuTexObjectCreate()` - -.. autoattribute:: cuda.bindings.driver.CU_TRSF_SEAMLESS_CUBEMAP - - Enable seamless cube map filtering. Flag for :py:obj:`~.cuTexObjectCreate()` - -.. autoattribute:: cuda.bindings.driver.CU_LAUNCH_PARAM_END_AS_INT - - C++ compile time constant for CU_LAUNCH_PARAM_END - -.. autoattribute:: cuda.bindings.driver.CU_LAUNCH_PARAM_END - - End of array terminator for the `extra` parameter to :py:obj:`~.cuLaunchKernel` - -.. autoattribute:: cuda.bindings.driver.CU_LAUNCH_PARAM_BUFFER_POINTER_AS_INT - - C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_POINTER - -.. autoattribute:: cuda.bindings.driver.CU_LAUNCH_PARAM_BUFFER_POINTER - - Indicator that the next value in the `extra` parameter to :py:obj:`~.cuLaunchKernel` will be a pointer to a buffer containing all kernel parameters used for launching kernel `f`. This buffer needs to honor all alignment/padding requirements of the individual parameters. If :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_SIZE` is not also specified in the `extra` array, then :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER` will have no effect. - -.. autoattribute:: cuda.bindings.driver.CU_LAUNCH_PARAM_BUFFER_SIZE_AS_INT - - C++ compile time constant for CU_LAUNCH_PARAM_BUFFER_SIZE - -.. autoattribute:: cuda.bindings.driver.CU_LAUNCH_PARAM_BUFFER_SIZE - - Indicator that the next value in the `extra` parameter to :py:obj:`~.cuLaunchKernel` will be a pointer to a size_t which contains the size of the buffer specified with :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER`. It is required that :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_POINTER` also be specified in the `extra` array if the value associated with :py:obj:`~.CU_LAUNCH_PARAM_BUFFER_SIZE` is not zero. - -.. autoattribute:: cuda.bindings.driver.CU_PARAM_TR_DEFAULT - - For texture references loaded into the module, use default texunit from texture reference. - -.. autoattribute:: cuda.bindings.driver.CU_DEVICE_CPU - - Device that represents the CPU - -.. autoattribute:: cuda.bindings.driver.CU_DEVICE_INVALID - - Device that represents an invalid device - -.. autoattribute:: cuda.bindings.driver.MAX_PLANES - - Maximum number of planes per frame - -.. autoattribute:: cuda.bindings.driver.CUDA_EGL_INFINITE_TIMEOUT - - Indicates that timeout for :py:obj:`~.cuEGLStreamConsumerAcquireFrame` is infinite. - - -Error Handling --------------- - -This section describes the error handling functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuGetErrorString -.. autofunction:: cuda.bindings.driver.cuGetErrorName - -Initialization --------------- - -This section describes the initialization functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuInit - -Version Management ------------------- - -This section describes the version management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuDriverGetVersion - -Device Management ------------------ - -This section describes the device management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuDeviceGet -.. autofunction:: cuda.bindings.driver.cuDeviceGetCount -.. autofunction:: cuda.bindings.driver.cuDeviceGetName -.. autofunction:: cuda.bindings.driver.cuDeviceGetUuid -.. autofunction:: cuda.bindings.driver.cuDeviceGetUuid_v2 -.. autofunction:: cuda.bindings.driver.cuDeviceGetLuid -.. autofunction:: cuda.bindings.driver.cuDeviceTotalMem -.. autofunction:: cuda.bindings.driver.cuDeviceGetTexture1DLinearMaxWidth -.. autofunction:: cuda.bindings.driver.cuDeviceGetAttribute -.. autofunction:: cuda.bindings.driver.cuDeviceGetNvSciSyncAttributes -.. autofunction:: cuda.bindings.driver.cuDeviceSetMemPool -.. autofunction:: cuda.bindings.driver.cuDeviceGetMemPool -.. autofunction:: cuda.bindings.driver.cuDeviceGetDefaultMemPool -.. autofunction:: cuda.bindings.driver.cuDeviceGetExecAffinitySupport -.. autofunction:: cuda.bindings.driver.cuFlushGPUDirectRDMAWrites - -Primary Context Management --------------------------- - -This section describes the primary context management functions of the low-level CUDA driver application programming interface. - - - -The primary context is unique per device and shared with the CUDA runtime API. These functions allow integration with other libraries using CUDA. - -.. autofunction:: cuda.bindings.driver.cuDevicePrimaryCtxRetain -.. autofunction:: cuda.bindings.driver.cuDevicePrimaryCtxRelease -.. autofunction:: cuda.bindings.driver.cuDevicePrimaryCtxSetFlags -.. autofunction:: cuda.bindings.driver.cuDevicePrimaryCtxGetState -.. autofunction:: cuda.bindings.driver.cuDevicePrimaryCtxReset - -Context Management ------------------- - -This section describes the context management functions of the low-level CUDA driver application programming interface. - - - -Please note that some functions are described in Primary Context Management section. - -.. autofunction:: cuda.bindings.driver.cuCtxCreate -.. autofunction:: cuda.bindings.driver.cuCtxCreate_v3 -.. autofunction:: cuda.bindings.driver.cuCtxCreate_v4 -.. autofunction:: cuda.bindings.driver.cuCtxDestroy -.. autofunction:: cuda.bindings.driver.cuCtxPushCurrent -.. autofunction:: cuda.bindings.driver.cuCtxPopCurrent -.. autofunction:: cuda.bindings.driver.cuCtxSetCurrent -.. autofunction:: cuda.bindings.driver.cuCtxGetCurrent -.. autofunction:: cuda.bindings.driver.cuCtxGetDevice -.. autofunction:: cuda.bindings.driver.cuCtxGetFlags -.. autofunction:: cuda.bindings.driver.cuCtxSetFlags -.. autofunction:: cuda.bindings.driver.cuCtxGetId -.. autofunction:: cuda.bindings.driver.cuCtxSynchronize -.. autofunction:: cuda.bindings.driver.cuCtxSetLimit -.. autofunction:: cuda.bindings.driver.cuCtxGetLimit -.. autofunction:: cuda.bindings.driver.cuCtxGetCacheConfig -.. autofunction:: cuda.bindings.driver.cuCtxSetCacheConfig -.. autofunction:: cuda.bindings.driver.cuCtxGetApiVersion -.. autofunction:: cuda.bindings.driver.cuCtxGetStreamPriorityRange -.. autofunction:: cuda.bindings.driver.cuCtxResetPersistingL2Cache -.. autofunction:: cuda.bindings.driver.cuCtxGetExecAffinity -.. autofunction:: cuda.bindings.driver.cuCtxRecordEvent -.. autofunction:: cuda.bindings.driver.cuCtxWaitEvent - -Module Management ------------------ - -This section describes the module management functions of the low-level CUDA driver application programming interface. - -.. autoclass:: cuda.bindings.driver.CUmoduleLoadingMode - - .. autoattribute:: cuda.bindings.driver.CUmoduleLoadingMode.CU_MODULE_EAGER_LOADING - - - Lazy Kernel Loading is not enabled - - - .. autoattribute:: cuda.bindings.driver.CUmoduleLoadingMode.CU_MODULE_LAZY_LOADING - - - Lazy Kernel Loading is enabled - -.. autofunction:: cuda.bindings.driver.cuModuleLoad -.. autofunction:: cuda.bindings.driver.cuModuleLoadData -.. autofunction:: cuda.bindings.driver.cuModuleLoadDataEx -.. autofunction:: cuda.bindings.driver.cuModuleLoadFatBinary -.. autofunction:: cuda.bindings.driver.cuModuleUnload -.. autofunction:: cuda.bindings.driver.cuModuleGetLoadingMode -.. autofunction:: cuda.bindings.driver.cuModuleGetFunction -.. autofunction:: cuda.bindings.driver.cuModuleGetFunctionCount -.. autofunction:: cuda.bindings.driver.cuModuleEnumerateFunctions -.. autofunction:: cuda.bindings.driver.cuModuleGetGlobal -.. autofunction:: cuda.bindings.driver.cuLinkCreate -.. autofunction:: cuda.bindings.driver.cuLinkAddData -.. autofunction:: cuda.bindings.driver.cuLinkAddFile -.. autofunction:: cuda.bindings.driver.cuLinkComplete -.. autofunction:: cuda.bindings.driver.cuLinkDestroy - -Library Management ------------------- - -This section describes the library management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuLibraryLoadData -.. autofunction:: cuda.bindings.driver.cuLibraryLoadFromFile -.. autofunction:: cuda.bindings.driver.cuLibraryUnload -.. autofunction:: cuda.bindings.driver.cuLibraryGetKernel -.. autofunction:: cuda.bindings.driver.cuLibraryGetKernelCount -.. autofunction:: cuda.bindings.driver.cuLibraryEnumerateKernels -.. autofunction:: cuda.bindings.driver.cuLibraryGetModule -.. autofunction:: cuda.bindings.driver.cuKernelGetFunction -.. autofunction:: cuda.bindings.driver.cuKernelGetLibrary -.. autofunction:: cuda.bindings.driver.cuLibraryGetGlobal -.. autofunction:: cuda.bindings.driver.cuLibraryGetManaged -.. autofunction:: cuda.bindings.driver.cuLibraryGetUnifiedFunction -.. autofunction:: cuda.bindings.driver.cuKernelGetAttribute -.. autofunction:: cuda.bindings.driver.cuKernelSetAttribute -.. autofunction:: cuda.bindings.driver.cuKernelSetCacheConfig -.. autofunction:: cuda.bindings.driver.cuKernelGetName -.. autofunction:: cuda.bindings.driver.cuKernelGetParamInfo - -Memory Management ------------------ - -This section describes the memory management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuMemGetInfo -.. autofunction:: cuda.bindings.driver.cuMemAlloc -.. autofunction:: cuda.bindings.driver.cuMemAllocPitch -.. autofunction:: cuda.bindings.driver.cuMemFree -.. autofunction:: cuda.bindings.driver.cuMemGetAddressRange -.. autofunction:: cuda.bindings.driver.cuMemAllocHost -.. autofunction:: cuda.bindings.driver.cuMemFreeHost -.. autofunction:: cuda.bindings.driver.cuMemHostAlloc -.. autofunction:: cuda.bindings.driver.cuMemHostGetDevicePointer -.. autofunction:: cuda.bindings.driver.cuMemHostGetFlags -.. autofunction:: cuda.bindings.driver.cuMemAllocManaged -.. autofunction:: cuda.bindings.driver.cuDeviceRegisterAsyncNotification -.. autofunction:: cuda.bindings.driver.cuDeviceUnregisterAsyncNotification -.. autofunction:: cuda.bindings.driver.cuDeviceGetByPCIBusId -.. autofunction:: cuda.bindings.driver.cuDeviceGetPCIBusId -.. autofunction:: cuda.bindings.driver.cuIpcGetEventHandle -.. autofunction:: cuda.bindings.driver.cuIpcOpenEventHandle -.. autofunction:: cuda.bindings.driver.cuIpcGetMemHandle -.. autofunction:: cuda.bindings.driver.cuIpcOpenMemHandle -.. autofunction:: cuda.bindings.driver.cuIpcCloseMemHandle -.. autofunction:: cuda.bindings.driver.cuMemHostRegister -.. autofunction:: cuda.bindings.driver.cuMemHostUnregister -.. autofunction:: cuda.bindings.driver.cuMemcpy -.. autofunction:: cuda.bindings.driver.cuMemcpyPeer -.. autofunction:: cuda.bindings.driver.cuMemcpyHtoD -.. autofunction:: cuda.bindings.driver.cuMemcpyDtoH -.. autofunction:: cuda.bindings.driver.cuMemcpyDtoD -.. autofunction:: cuda.bindings.driver.cuMemcpyDtoA -.. autofunction:: cuda.bindings.driver.cuMemcpyAtoD -.. autofunction:: cuda.bindings.driver.cuMemcpyHtoA -.. autofunction:: cuda.bindings.driver.cuMemcpyAtoH -.. autofunction:: cuda.bindings.driver.cuMemcpyAtoA -.. autofunction:: cuda.bindings.driver.cuMemcpy2D -.. autofunction:: cuda.bindings.driver.cuMemcpy2DUnaligned -.. autofunction:: cuda.bindings.driver.cuMemcpy3D -.. autofunction:: cuda.bindings.driver.cuMemcpy3DPeer -.. autofunction:: cuda.bindings.driver.cuMemcpyAsync -.. autofunction:: cuda.bindings.driver.cuMemcpyPeerAsync -.. autofunction:: cuda.bindings.driver.cuMemcpyHtoDAsync -.. autofunction:: cuda.bindings.driver.cuMemcpyDtoHAsync -.. autofunction:: cuda.bindings.driver.cuMemcpyDtoDAsync -.. autofunction:: cuda.bindings.driver.cuMemcpyHtoAAsync -.. autofunction:: cuda.bindings.driver.cuMemcpyAtoHAsync -.. autofunction:: cuda.bindings.driver.cuMemcpy2DAsync -.. autofunction:: cuda.bindings.driver.cuMemcpy3DAsync -.. autofunction:: cuda.bindings.driver.cuMemcpy3DPeerAsync -.. autofunction:: cuda.bindings.driver.cuMemsetD8 -.. autofunction:: cuda.bindings.driver.cuMemsetD16 -.. autofunction:: cuda.bindings.driver.cuMemsetD32 -.. autofunction:: cuda.bindings.driver.cuMemsetD2D8 -.. autofunction:: cuda.bindings.driver.cuMemsetD2D16 -.. autofunction:: cuda.bindings.driver.cuMemsetD2D32 -.. autofunction:: cuda.bindings.driver.cuMemsetD8Async -.. autofunction:: cuda.bindings.driver.cuMemsetD16Async -.. autofunction:: cuda.bindings.driver.cuMemsetD32Async -.. autofunction:: cuda.bindings.driver.cuMemsetD2D8Async -.. autofunction:: cuda.bindings.driver.cuMemsetD2D16Async -.. autofunction:: cuda.bindings.driver.cuMemsetD2D32Async -.. autofunction:: cuda.bindings.driver.cuArrayCreate -.. autofunction:: cuda.bindings.driver.cuArrayGetDescriptor -.. autofunction:: cuda.bindings.driver.cuArrayGetSparseProperties -.. autofunction:: cuda.bindings.driver.cuMipmappedArrayGetSparseProperties -.. autofunction:: cuda.bindings.driver.cuArrayGetMemoryRequirements -.. autofunction:: cuda.bindings.driver.cuMipmappedArrayGetMemoryRequirements -.. autofunction:: cuda.bindings.driver.cuArrayGetPlane -.. autofunction:: cuda.bindings.driver.cuArrayDestroy -.. autofunction:: cuda.bindings.driver.cuArray3DCreate -.. autofunction:: cuda.bindings.driver.cuArray3DGetDescriptor -.. autofunction:: cuda.bindings.driver.cuMipmappedArrayCreate -.. autofunction:: cuda.bindings.driver.cuMipmappedArrayGetLevel -.. autofunction:: cuda.bindings.driver.cuMipmappedArrayDestroy -.. autofunction:: cuda.bindings.driver.cuMemGetHandleForAddressRange - -Virtual Memory Management -------------------------- - -This section describes the virtual memory management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuMemAddressReserve -.. autofunction:: cuda.bindings.driver.cuMemAddressFree -.. autofunction:: cuda.bindings.driver.cuMemCreate -.. autofunction:: cuda.bindings.driver.cuMemRelease -.. autofunction:: cuda.bindings.driver.cuMemMap -.. autofunction:: cuda.bindings.driver.cuMemMapArrayAsync -.. autofunction:: cuda.bindings.driver.cuMemUnmap -.. autofunction:: cuda.bindings.driver.cuMemSetAccess -.. autofunction:: cuda.bindings.driver.cuMemGetAccess -.. autofunction:: cuda.bindings.driver.cuMemExportToShareableHandle -.. autofunction:: cuda.bindings.driver.cuMemImportFromShareableHandle -.. autofunction:: cuda.bindings.driver.cuMemGetAllocationGranularity -.. autofunction:: cuda.bindings.driver.cuMemGetAllocationPropertiesFromHandle -.. autofunction:: cuda.bindings.driver.cuMemRetainAllocationHandle - -Stream Ordered Memory Allocator -------------------------------- - -This section describes the stream ordered memory allocator exposed by the low-level CUDA driver application programming interface. - - - - - -**overview** - - - -The asynchronous allocator allows the user to allocate and free in stream order. All asynchronous accesses of the allocation must happen between the stream executions of the allocation and the free. If the memory is accessed outside of the promised stream order, a use before allocation / use after free error will cause undefined behavior. - -The allocator is free to reallocate the memory as long as it can guarantee that compliant memory accesses will not overlap temporally. The allocator may refer to internal stream ordering as well as inter-stream dependencies (such as CUDA events and null stream dependencies) when establishing the temporal guarantee. The allocator may also insert inter-stream dependencies to establish the temporal guarantee. - - - - - -**Supported Platforms** - - - -Whether or not a device supports the integrated stream ordered memory allocator may be queried by calling cuDeviceGetAttribute() with the device attribute CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED - -.. autofunction:: cuda.bindings.driver.cuMemFreeAsync -.. autofunction:: cuda.bindings.driver.cuMemAllocAsync -.. autofunction:: cuda.bindings.driver.cuMemPoolTrimTo -.. autofunction:: cuda.bindings.driver.cuMemPoolSetAttribute -.. autofunction:: cuda.bindings.driver.cuMemPoolGetAttribute -.. autofunction:: cuda.bindings.driver.cuMemPoolSetAccess -.. autofunction:: cuda.bindings.driver.cuMemPoolGetAccess -.. autofunction:: cuda.bindings.driver.cuMemPoolCreate -.. autofunction:: cuda.bindings.driver.cuMemPoolDestroy -.. autofunction:: cuda.bindings.driver.cuMemAllocFromPoolAsync -.. autofunction:: cuda.bindings.driver.cuMemPoolExportToShareableHandle -.. autofunction:: cuda.bindings.driver.cuMemPoolImportFromShareableHandle -.. autofunction:: cuda.bindings.driver.cuMemPoolExportPointer -.. autofunction:: cuda.bindings.driver.cuMemPoolImportPointer - -Multicast Object Management ---------------------------- - -This section describes the CUDA multicast object operations exposed by the low-level CUDA driver application programming interface. - - - - - -**overview** - - - -A multicast object created via cuMulticastCreate enables certain memory operations to be broadcast to a team of devices. Devices can be added to a multicast object via cuMulticastAddDevice. Memory can be bound on each participating device via either cuMulticastBindMem or cuMulticastBindAddr. Multicast objects can be mapped into a device's virtual address space using the virtual memmory management APIs (see cuMemMap and cuMemSetAccess). - - - - - -**Supported Platforms** - - - -Support for multicast on a specific device can be queried using the device attribute CU_DEVICE_ATTRIBUTE_MULTICAST_SUPPORTED - -.. autofunction:: cuda.bindings.driver.cuMulticastCreate -.. autofunction:: cuda.bindings.driver.cuMulticastAddDevice -.. autofunction:: cuda.bindings.driver.cuMulticastBindMem -.. autofunction:: cuda.bindings.driver.cuMulticastBindAddr -.. autofunction:: cuda.bindings.driver.cuMulticastUnbind -.. autofunction:: cuda.bindings.driver.cuMulticastGetGranularity - -Unified Addressing ------------------- - -This section describes the unified addressing functions of the low-level CUDA driver application programming interface. - - - - - -**Overview** - - - -CUDA devices can share a unified address space with the host. For these devices there is no distinction between a device pointer and a host pointer -- the same pointer value may be used to access memory from the host program and from a kernel running on the device (with exceptions enumerated below). - - - - - -**Supported Platforms** - - - -Whether or not a device supports unified addressing may be queried by calling cuDeviceGetAttribute() with the device attribute CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING. - -Unified addressing is automatically enabled in 64-bit processes - - - - - -**Looking Up Information from Pointer Values** - - - -It is possible to look up information about the memory which backs a pointer value. For instance, one may want to know if a pointer points to host or device memory. As another example, in the case of device memory, one may want to know on which CUDA device the memory resides. These properties may be queried using the function cuPointerGetAttribute() - -Since pointers are unique, it is not necessary to specify information about the pointers specified to the various copy functions in the CUDA API. The function cuMemcpy() may be used to perform a copy between two pointers, ignoring whether they point to host or device memory (making cuMemcpyHtoD(), cuMemcpyDtoD(), and cuMemcpyDtoH() unnecessary for devices supporting unified addressing). For multidimensional copies, the memory type CU_MEMORYTYPE_UNIFIED may be used to specify that the CUDA driver should infer the location of the pointer from its value. - - - - - -**Automatic Mapping of Host Allocated Host Memory** - - - -All host memory allocated in all contexts using cuMemAllocHost() and cuMemHostAlloc() is always directly accessible from all contexts on all devices that support unified addressing. This is the case regardless of whether or not the flags CU_MEMHOSTALLOC_PORTABLE and CU_MEMHOSTALLOC_DEVICEMAP are specified. - -The pointer value through which allocated host memory may be accessed in kernels on all devices that support unified addressing is the same as the pointer value through which that memory is accessed on the host, so it is not necessary to call cuMemHostGetDevicePointer() to get the device pointer for these allocations. - -Note that this is not the case for memory allocated using the flag CU_MEMHOSTALLOC_WRITECOMBINED, as discussed below. - - - - - -**Automatic Registration of Peer Memory** - - - -Upon enabling direct access from a context that supports unified addressing to another peer context that supports unified addressing using cuCtxEnablePeerAccess() all memory allocated in the peer context using cuMemAlloc() and cuMemAllocPitch() will immediately be accessible by the current context. The device pointer value through which any peer memory may be accessed in the current context is the same pointer value through which that memory may be accessed in the peer context. - - - - - -**Exceptions, Disjoint Addressing** - - - -Not all memory may be accessed on devices through the same pointer value through which they are accessed on the host. These exceptions are host memory registered using cuMemHostRegister() and host memory allocated using the flag CU_MEMHOSTALLOC_WRITECOMBINED. For these exceptions, there exists a distinct host and device address for the memory. The device address is guaranteed to not overlap any valid host pointer range and is guaranteed to have the same value across all contexts that support unified addressing. - -This device address may be queried using cuMemHostGetDevicePointer() when a context using unified addressing is current. Either the host or the unified device pointer value may be used to refer to this memory through cuMemcpy() and similar functions using the CU_MEMORYTYPE_UNIFIED memory type. - -.. autofunction:: cuda.bindings.driver.cuPointerGetAttribute -.. autofunction:: cuda.bindings.driver.cuMemPrefetchAsync -.. autofunction:: cuda.bindings.driver.cuMemPrefetchAsync_v2 -.. autofunction:: cuda.bindings.driver.cuMemAdvise -.. autofunction:: cuda.bindings.driver.cuMemAdvise_v2 -.. autofunction:: cuda.bindings.driver.cuMemRangeGetAttribute -.. autofunction:: cuda.bindings.driver.cuMemRangeGetAttributes -.. autofunction:: cuda.bindings.driver.cuPointerSetAttribute -.. autofunction:: cuda.bindings.driver.cuPointerGetAttributes - -Stream Management ------------------ - -This section describes the stream management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuStreamCreate -.. autofunction:: cuda.bindings.driver.cuStreamCreateWithPriority -.. autofunction:: cuda.bindings.driver.cuStreamGetPriority -.. autofunction:: cuda.bindings.driver.cuStreamGetFlags -.. autofunction:: cuda.bindings.driver.cuStreamGetId -.. autofunction:: cuda.bindings.driver.cuStreamGetCtx -.. autofunction:: cuda.bindings.driver.cuStreamGetCtx_v2 -.. autofunction:: cuda.bindings.driver.cuStreamWaitEvent -.. autofunction:: cuda.bindings.driver.cuStreamAddCallback -.. autofunction:: cuda.bindings.driver.cuStreamBeginCapture -.. autofunction:: cuda.bindings.driver.cuStreamBeginCaptureToGraph -.. autofunction:: cuda.bindings.driver.cuThreadExchangeStreamCaptureMode -.. autofunction:: cuda.bindings.driver.cuStreamEndCapture -.. autofunction:: cuda.bindings.driver.cuStreamIsCapturing -.. autofunction:: cuda.bindings.driver.cuStreamGetCaptureInfo -.. autofunction:: cuda.bindings.driver.cuStreamGetCaptureInfo_v3 -.. autofunction:: cuda.bindings.driver.cuStreamUpdateCaptureDependencies -.. autofunction:: cuda.bindings.driver.cuStreamUpdateCaptureDependencies_v2 -.. autofunction:: cuda.bindings.driver.cuStreamAttachMemAsync -.. autofunction:: cuda.bindings.driver.cuStreamQuery -.. autofunction:: cuda.bindings.driver.cuStreamSynchronize -.. autofunction:: cuda.bindings.driver.cuStreamDestroy -.. autofunction:: cuda.bindings.driver.cuStreamCopyAttributes -.. autofunction:: cuda.bindings.driver.cuStreamGetAttribute -.. autofunction:: cuda.bindings.driver.cuStreamSetAttribute - -Event Management ----------------- - -This section describes the event management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuEventCreate -.. autofunction:: cuda.bindings.driver.cuEventRecord -.. autofunction:: cuda.bindings.driver.cuEventRecordWithFlags -.. autofunction:: cuda.bindings.driver.cuEventQuery -.. autofunction:: cuda.bindings.driver.cuEventSynchronize -.. autofunction:: cuda.bindings.driver.cuEventDestroy -.. autofunction:: cuda.bindings.driver.cuEventElapsedTime - -External Resource Interoperability ----------------------------------- - -This section describes the external resource interoperability functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuImportExternalMemory -.. autofunction:: cuda.bindings.driver.cuExternalMemoryGetMappedBuffer -.. autofunction:: cuda.bindings.driver.cuExternalMemoryGetMappedMipmappedArray -.. autofunction:: cuda.bindings.driver.cuDestroyExternalMemory -.. autofunction:: cuda.bindings.driver.cuImportExternalSemaphore -.. autofunction:: cuda.bindings.driver.cuSignalExternalSemaphoresAsync -.. autofunction:: cuda.bindings.driver.cuWaitExternalSemaphoresAsync -.. autofunction:: cuda.bindings.driver.cuDestroyExternalSemaphore - -Stream Memory Operations ------------------------- - -This section describes the stream memory operations of the low-level CUDA driver application programming interface. - - - -Support for the CU_STREAM_WAIT_VALUE_NOR flag can be queried with ::CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR_V2. - - - -Support for the cuStreamWriteValue64() and cuStreamWaitValue64() functions, as well as for the CU_STREAM_MEM_OP_WAIT_VALUE_64 and CU_STREAM_MEM_OP_WRITE_VALUE_64 flags, can be queried with CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS. - - - -Support for both CU_STREAM_WAIT_VALUE_FLUSH and CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES requires dedicated platform hardware features and can be queried with cuDeviceGetAttribute() and CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES. - - - -Note that all memory pointers passed as parameters to these operations are device pointers. Where necessary a device pointer should be obtained, for example with cuMemHostGetDevicePointer(). - - - -None of the operations accepts pointers to managed memory buffers (cuMemAllocManaged). - - - -Warning: Improper use of these APIs may deadlock the application. Synchronization ordering established through these APIs is not visible to CUDA. CUDA tasks that are (even indirectly) ordered by these APIs should also have that order expressed with CUDA-visible dependencies such as events. This ensures that the scheduler does not serialize them in an improper order. - -.. autofunction:: cuda.bindings.driver.cuStreamWaitValue32 -.. autofunction:: cuda.bindings.driver.cuStreamWaitValue64 -.. autofunction:: cuda.bindings.driver.cuStreamWriteValue32 -.. autofunction:: cuda.bindings.driver.cuStreamWriteValue64 -.. autofunction:: cuda.bindings.driver.cuStreamBatchMemOp - -Execution Control ------------------ - -This section describes the execution control functions of the low-level CUDA driver application programming interface. - -.. autoclass:: cuda.bindings.driver.CUfunctionLoadingState - - .. autoattribute:: cuda.bindings.driver.CUfunctionLoadingState.CU_FUNCTION_LOADING_STATE_UNLOADED - - - .. autoattribute:: cuda.bindings.driver.CUfunctionLoadingState.CU_FUNCTION_LOADING_STATE_LOADED - - - .. autoattribute:: cuda.bindings.driver.CUfunctionLoadingState.CU_FUNCTION_LOADING_STATE_MAX - -.. autofunction:: cuda.bindings.driver.cuFuncGetAttribute -.. autofunction:: cuda.bindings.driver.cuFuncSetAttribute -.. autofunction:: cuda.bindings.driver.cuFuncSetCacheConfig -.. autofunction:: cuda.bindings.driver.cuFuncGetModule -.. autofunction:: cuda.bindings.driver.cuFuncGetName -.. autofunction:: cuda.bindings.driver.cuFuncGetParamInfo -.. autofunction:: cuda.bindings.driver.cuFuncIsLoaded -.. autofunction:: cuda.bindings.driver.cuFuncLoad -.. autofunction:: cuda.bindings.driver.cuLaunchKernel -.. autofunction:: cuda.bindings.driver.cuLaunchKernelEx -.. autofunction:: cuda.bindings.driver.cuLaunchCooperativeKernel -.. autofunction:: cuda.bindings.driver.cuLaunchCooperativeKernelMultiDevice -.. autofunction:: cuda.bindings.driver.cuLaunchHostFunc - -Graph Management ----------------- - -This section describes the graph management functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuGraphCreate -.. autofunction:: cuda.bindings.driver.cuGraphAddKernelNode -.. autofunction:: cuda.bindings.driver.cuGraphKernelNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphKernelNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddMemcpyNode -.. autofunction:: cuda.bindings.driver.cuGraphMemcpyNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphMemcpyNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddMemsetNode -.. autofunction:: cuda.bindings.driver.cuGraphMemsetNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphMemsetNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddHostNode -.. autofunction:: cuda.bindings.driver.cuGraphHostNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphHostNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddChildGraphNode -.. autofunction:: cuda.bindings.driver.cuGraphChildGraphNodeGetGraph -.. autofunction:: cuda.bindings.driver.cuGraphAddEmptyNode -.. autofunction:: cuda.bindings.driver.cuGraphAddEventRecordNode -.. autofunction:: cuda.bindings.driver.cuGraphEventRecordNodeGetEvent -.. autofunction:: cuda.bindings.driver.cuGraphEventRecordNodeSetEvent -.. autofunction:: cuda.bindings.driver.cuGraphAddEventWaitNode -.. autofunction:: cuda.bindings.driver.cuGraphEventWaitNodeGetEvent -.. autofunction:: cuda.bindings.driver.cuGraphEventWaitNodeSetEvent -.. autofunction:: cuda.bindings.driver.cuGraphAddExternalSemaphoresSignalNode -.. autofunction:: cuda.bindings.driver.cuGraphExternalSemaphoresSignalNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphExternalSemaphoresSignalNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddExternalSemaphoresWaitNode -.. autofunction:: cuda.bindings.driver.cuGraphExternalSemaphoresWaitNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphExternalSemaphoresWaitNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddBatchMemOpNode -.. autofunction:: cuda.bindings.driver.cuGraphBatchMemOpNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphBatchMemOpNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecBatchMemOpNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddMemAllocNode -.. autofunction:: cuda.bindings.driver.cuGraphMemAllocNodeGetParams -.. autofunction:: cuda.bindings.driver.cuGraphAddMemFreeNode -.. autofunction:: cuda.bindings.driver.cuGraphMemFreeNodeGetParams -.. autofunction:: cuda.bindings.driver.cuDeviceGraphMemTrim -.. autofunction:: cuda.bindings.driver.cuDeviceGetGraphMemAttribute -.. autofunction:: cuda.bindings.driver.cuDeviceSetGraphMemAttribute -.. autofunction:: cuda.bindings.driver.cuGraphClone -.. autofunction:: cuda.bindings.driver.cuGraphNodeFindInClone -.. autofunction:: cuda.bindings.driver.cuGraphNodeGetType -.. autofunction:: cuda.bindings.driver.cuGraphGetNodes -.. autofunction:: cuda.bindings.driver.cuGraphGetRootNodes -.. autofunction:: cuda.bindings.driver.cuGraphGetEdges -.. autofunction:: cuda.bindings.driver.cuGraphGetEdges_v2 -.. autofunction:: cuda.bindings.driver.cuGraphNodeGetDependencies -.. autofunction:: cuda.bindings.driver.cuGraphNodeGetDependencies_v2 -.. autofunction:: cuda.bindings.driver.cuGraphNodeGetDependentNodes -.. autofunction:: cuda.bindings.driver.cuGraphNodeGetDependentNodes_v2 -.. autofunction:: cuda.bindings.driver.cuGraphAddDependencies -.. autofunction:: cuda.bindings.driver.cuGraphAddDependencies_v2 -.. autofunction:: cuda.bindings.driver.cuGraphRemoveDependencies -.. autofunction:: cuda.bindings.driver.cuGraphRemoveDependencies_v2 -.. autofunction:: cuda.bindings.driver.cuGraphDestroyNode -.. autofunction:: cuda.bindings.driver.cuGraphInstantiate -.. autofunction:: cuda.bindings.driver.cuGraphInstantiateWithParams -.. autofunction:: cuda.bindings.driver.cuGraphExecGetFlags -.. autofunction:: cuda.bindings.driver.cuGraphExecKernelNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecMemcpyNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecMemsetNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecHostNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecChildGraphNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecEventRecordNodeSetEvent -.. autofunction:: cuda.bindings.driver.cuGraphExecEventWaitNodeSetEvent -.. autofunction:: cuda.bindings.driver.cuGraphExecExternalSemaphoresSignalNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecExternalSemaphoresWaitNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphNodeSetEnabled -.. autofunction:: cuda.bindings.driver.cuGraphNodeGetEnabled -.. autofunction:: cuda.bindings.driver.cuGraphUpload -.. autofunction:: cuda.bindings.driver.cuGraphLaunch -.. autofunction:: cuda.bindings.driver.cuGraphExecDestroy -.. autofunction:: cuda.bindings.driver.cuGraphDestroy -.. autofunction:: cuda.bindings.driver.cuGraphExecUpdate -.. autofunction:: cuda.bindings.driver.cuGraphKernelNodeCopyAttributes -.. autofunction:: cuda.bindings.driver.cuGraphKernelNodeGetAttribute -.. autofunction:: cuda.bindings.driver.cuGraphKernelNodeSetAttribute -.. autofunction:: cuda.bindings.driver.cuGraphDebugDotPrint -.. autofunction:: cuda.bindings.driver.cuUserObjectCreate -.. autofunction:: cuda.bindings.driver.cuUserObjectRetain -.. autofunction:: cuda.bindings.driver.cuUserObjectRelease -.. autofunction:: cuda.bindings.driver.cuGraphRetainUserObject -.. autofunction:: cuda.bindings.driver.cuGraphReleaseUserObject -.. autofunction:: cuda.bindings.driver.cuGraphAddNode -.. autofunction:: cuda.bindings.driver.cuGraphAddNode_v2 -.. autofunction:: cuda.bindings.driver.cuGraphNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphExecNodeSetParams -.. autofunction:: cuda.bindings.driver.cuGraphConditionalHandleCreate - -Occupancy ---------- - -This section describes the occupancy calculation functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuOccupancyMaxActiveBlocksPerMultiprocessor -.. autofunction:: cuda.bindings.driver.cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags -.. autofunction:: cuda.bindings.driver.cuOccupancyMaxPotentialBlockSize -.. autofunction:: cuda.bindings.driver.cuOccupancyMaxPotentialBlockSizeWithFlags -.. autofunction:: cuda.bindings.driver.cuOccupancyAvailableDynamicSMemPerBlock -.. autofunction:: cuda.bindings.driver.cuOccupancyMaxPotentialClusterSize -.. autofunction:: cuda.bindings.driver.cuOccupancyMaxActiveClusters - -Texture Object Management -------------------------- - -This section describes the texture object management functions of the low-level CUDA driver application programming interface. The texture object API is only supported on devices of compute capability 3.0 or higher. - -.. autofunction:: cuda.bindings.driver.cuTexObjectCreate -.. autofunction:: cuda.bindings.driver.cuTexObjectDestroy -.. autofunction:: cuda.bindings.driver.cuTexObjectGetResourceDesc -.. autofunction:: cuda.bindings.driver.cuTexObjectGetTextureDesc -.. autofunction:: cuda.bindings.driver.cuTexObjectGetResourceViewDesc - -Surface Object Management -------------------------- - -This section describes the surface object management functions of the low-level CUDA driver application programming interface. The surface object API is only supported on devices of compute capability 3.0 or higher. - -.. autofunction:: cuda.bindings.driver.cuSurfObjectCreate -.. autofunction:: cuda.bindings.driver.cuSurfObjectDestroy -.. autofunction:: cuda.bindings.driver.cuSurfObjectGetResourceDesc - -Tensor Map Object Managment ---------------------------- - -This section describes the tensor map object management functions of the low-level CUDA driver application programming interface. The tensor core API is only supported on devices of compute capability 9.0 or higher. - -.. autofunction:: cuda.bindings.driver.cuTensorMapEncodeTiled -.. autofunction:: cuda.bindings.driver.cuTensorMapEncodeIm2col -.. autofunction:: cuda.bindings.driver.cuTensorMapReplaceAddress - -Peer Context Memory Access --------------------------- - -This section describes the direct peer context memory access functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuDeviceCanAccessPeer -.. autofunction:: cuda.bindings.driver.cuCtxEnablePeerAccess -.. autofunction:: cuda.bindings.driver.cuCtxDisablePeerAccess -.. autofunction:: cuda.bindings.driver.cuDeviceGetP2PAttribute - -Graphics Interoperability -------------------------- - -This section describes the graphics interoperability functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuGraphicsUnregisterResource -.. autofunction:: cuda.bindings.driver.cuGraphicsSubResourceGetMappedArray -.. autofunction:: cuda.bindings.driver.cuGraphicsResourceGetMappedMipmappedArray -.. autofunction:: cuda.bindings.driver.cuGraphicsResourceGetMappedPointer -.. autofunction:: cuda.bindings.driver.cuGraphicsResourceSetMapFlags -.. autofunction:: cuda.bindings.driver.cuGraphicsMapResources -.. autofunction:: cuda.bindings.driver.cuGraphicsUnmapResources - -Driver Entry Point Access -------------------------- - -This section describes the driver entry point access functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuGetProcAddress - -Coredump Attributes Control API -------------------------------- - -This section describes the coredump attribute control functions of the low-level CUDA driver application programming interface. - -.. autoclass:: cuda.bindings.driver.CUcoredumpSettings - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_ENABLE_ON_EXCEPTION - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_TRIGGER_HOST - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_LIGHTWEIGHT - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_ENABLE_USER_TRIGGER - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_FILE - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_PIPE - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_GENERATION_FLAGS - - - .. autoattribute:: cuda.bindings.driver.CUcoredumpSettings.CU_COREDUMP_MAX - -.. autoclass:: cuda.bindings.driver.CUCoredumpGenerationFlags - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_DEFAULT_FLAGS - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_NONRELOCATED_ELF_IMAGES - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_GLOBAL_MEMORY - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_SHARED_MEMORY - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_LOCAL_MEMORY - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_ABORT - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_SKIP_CONSTBANK_MEMORY - - - .. autoattribute:: cuda.bindings.driver.CUCoredumpGenerationFlags.CU_COREDUMP_LIGHTWEIGHT_FLAGS - -.. autofunction:: cuda.bindings.driver.cuCoredumpGetAttribute -.. autofunction:: cuda.bindings.driver.cuCoredumpGetAttributeGlobal -.. autofunction:: cuda.bindings.driver.cuCoredumpSetAttribute -.. autofunction:: cuda.bindings.driver.cuCoredumpSetAttributeGlobal - -Green Contexts --------------- - -This section describes the APIs for creation and manipulation of green contexts in the CUDA driver. Green contexts are a lightweight alternative to traditional contexts, with the ability to pass in a set of resources that they should be initialized with. This allows the developer to represent distinct spatial partitions of the GPU, provision resources for them, and target them via the same programming model that CUDA exposes (streams, kernel launches, etc.). - - - -There are 4 main steps to using these new set of APIs. - -- (1) Start with an initial set of resources, for example via cuDeviceGetDevResource. Only SM type is supported today. - - - - - - - -- (2) Partition this set of resources by providing them as input to a partition API, for example: cuDevSmResourceSplitByCount. - - - - - - - -- (3) Finalize the specification of resources by creating a descriptor via cuDevResourceGenerateDesc. - - - - - - - -- (4) Provision the resources and create a green context via cuGreenCtxCreate. - - - - - - - - - - - -For ``CU_DEV_RESOURCE_TYPE_SM``\ , the partitions created have minimum SM count requirements, often rounding up and aligning the minCount provided to cuDevSmResourceSplitByCount. The following is a guideline for each architecture and may be subject to change: - -- On Compute Architecture 6.X: The minimum count is 1 SM. - - - - - - - -- On Compute Architecture 7.X: The minimum count is 2 SMs and must be a multiple of 2. - - - - - - - -- On Compute Architecture 8.X: The minimum count is 4 SMs and must be a multiple of 2. - - - - - - - -- On Compute Architecture 9.0+: The minimum count is 8 SMs and must be a multiple of 8. - - - - - - - - - - - -In the future, flags can be provided to tradeoff functional and performance characteristics versus finer grained SM partitions. - - - -Even if the green contexts have disjoint SM partitions, it is not guaranteed that the kernels launched in them will run concurrently or have forward progress guarantees. This is due to other resources (like HW connections, see ::CUDA_DEVICE_MAX_CONNECTIONS) that could cause a dependency. Additionally, in certain scenarios, it is possible for the workload to run on more SMs than was provisioned (but never less). The following are two scenarios which can exhibit this behavior: - -- On Volta+ MPS: When ``CUDA_MPS_ACTIVE_THREAD_PERCENTAGE``\ is used, the set of SMs that are used for running kernels can be scaled up to the value of SMs used for the MPS client. - - - - - - - -- On Compute Architecture 9.x: When a module with dynamic parallelism (CDP) is loaded, all future kernels running under green contexts may use and share an additional set of 2 SMs. - -.. autoclass:: cuda.bindings.driver.CUdevSmResource_st -.. autoclass:: cuda.bindings.driver.CUdevResource_st -.. autoclass:: cuda.bindings.driver.CUdevSmResource -.. autoclass:: cuda.bindings.driver.CUdevResource -.. autoclass:: cuda.bindings.driver.CUgreenCtxCreate_flags - - .. autoattribute:: cuda.bindings.driver.CUgreenCtxCreate_flags.CU_GREEN_CTX_DEFAULT_STREAM - - - Required. Creates a default stream to use inside the green context - -.. autoclass:: cuda.bindings.driver.CUdevSmResourceSplit_flags - - .. autoattribute:: cuda.bindings.driver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_IGNORE_SM_COSCHEDULING - - - .. autoattribute:: cuda.bindings.driver.CUdevSmResourceSplit_flags.CU_DEV_SM_RESOURCE_SPLIT_MAX_POTENTIAL_CLUSTER_SIZE - -.. autoclass:: cuda.bindings.driver.CUdevResourceType - - .. autoattribute:: cuda.bindings.driver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_INVALID - - - .. autoattribute:: cuda.bindings.driver.CUdevResourceType.CU_DEV_RESOURCE_TYPE_SM - - - Streaming multiprocessors related information - -.. autoclass:: cuda.bindings.driver.CUdevResourceDesc -.. autofunction:: cuda.bindings.driver.cuGreenCtxCreate -.. autofunction:: cuda.bindings.driver.cuGreenCtxDestroy -.. autofunction:: cuda.bindings.driver.cuCtxFromGreenCtx -.. autofunction:: cuda.bindings.driver.cuDeviceGetDevResource -.. autofunction:: cuda.bindings.driver.cuCtxGetDevResource -.. autofunction:: cuda.bindings.driver.cuGreenCtxGetDevResource -.. autofunction:: cuda.bindings.driver.cuDevSmResourceSplitByCount -.. autofunction:: cuda.bindings.driver.cuDevResourceGenerateDesc -.. autofunction:: cuda.bindings.driver.cuGreenCtxRecordEvent -.. autofunction:: cuda.bindings.driver.cuGreenCtxWaitEvent -.. autofunction:: cuda.bindings.driver.cuStreamGetGreenCtx -.. autofunction:: cuda.bindings.driver.cuGreenCtxStreamCreate -.. autoattribute:: cuda.bindings.driver.RESOURCE_ABI_VERSION -.. autoattribute:: cuda.bindings.driver.RESOURCE_ABI_EXTERNAL_BYTES - -EGL Interoperability --------------------- - -This section describes the EGL interoperability functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuGraphicsEGLRegisterImage -.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerConnect -.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerConnectWithFlags -.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerDisconnect -.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerAcquireFrame -.. autofunction:: cuda.bindings.driver.cuEGLStreamConsumerReleaseFrame -.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerConnect -.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerDisconnect -.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerPresentFrame -.. autofunction:: cuda.bindings.driver.cuEGLStreamProducerReturnFrame -.. autofunction:: cuda.bindings.driver.cuGraphicsResourceGetMappedEglFrame -.. autofunction:: cuda.bindings.driver.cuEventCreateFromEGLSync - -OpenGL Interoperability ------------------------ - -This section describes the OpenGL interoperability functions of the low-level CUDA driver application programming interface. Note that mapping of OpenGL resources is performed with the graphics API agnostic, resource mapping interface described in Graphics Interoperability. - -.. autoclass:: cuda.bindings.driver.CUGLDeviceList - - .. autoattribute:: cuda.bindings.driver.CUGLDeviceList.CU_GL_DEVICE_LIST_ALL - - - The CUDA devices for all GPUs used by the current OpenGL context - - - .. autoattribute:: cuda.bindings.driver.CUGLDeviceList.CU_GL_DEVICE_LIST_CURRENT_FRAME - - - The CUDA devices for the GPUs used by the current OpenGL context in its currently rendering frame - - - .. autoattribute:: cuda.bindings.driver.CUGLDeviceList.CU_GL_DEVICE_LIST_NEXT_FRAME - - - The CUDA devices for the GPUs to be used by the current OpenGL context in the next frame - -.. autofunction:: cuda.bindings.driver.cuGraphicsGLRegisterBuffer -.. autofunction:: cuda.bindings.driver.cuGraphicsGLRegisterImage -.. autofunction:: cuda.bindings.driver.cuGLGetDevices - -Profiler Control ----------------- - -This section describes the profiler control functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuProfilerStart -.. autofunction:: cuda.bindings.driver.cuProfilerStop - -VDPAU Interoperability ----------------------- - -This section describes the VDPAU interoperability functions of the low-level CUDA driver application programming interface. - -.. autofunction:: cuda.bindings.driver.cuVDPAUGetDevice -.. autofunction:: cuda.bindings.driver.cuVDPAUCtxCreate -.. autofunction:: cuda.bindings.driver.cuGraphicsVDPAURegisterVideoSurface -.. autofunction:: cuda.bindings.driver.cuGraphicsVDPAURegisterOutputSurface diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/nvjitlink.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/nvjitlink.rst.txt deleted file mode 100644 index 79f5cd10..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/nvjitlink.rst.txt +++ /dev/null @@ -1,89 +0,0 @@ -nvjitlink -========= - -Note ----- - -The nvjitlink bindings are not supported on nvJitLink installations <12.3. Ensure the installed CUDA toolkit's nvJitLink version is >=12.3. - -Functions ---------- - -NvJitLink defines the following functions for linking code objects and querying the info and error logs. - -.. autofunction:: cuda.bindings.nvjitlink.create -.. autofunction:: cuda.bindings.nvjitlink.destroy -.. autofunction:: cuda.bindings.nvjitlink.add_data -.. autofunction:: cuda.bindings.nvjitlink.add_file -.. autofunction:: cuda.bindings.nvjitlink.complete -.. autofunction:: cuda.bindings.nvjitlink.get_linked_cubin_size -.. autofunction:: cuda.bindings.nvjitlink.get_linked_cubin -.. autofunction:: cuda.bindings.nvjitlink.get_linked_ptx_size -.. autofunction:: cuda.bindings.nvjitlink.get_linked_ptx -.. autofunction:: cuda.bindings.nvjitlink.get_error_log_size -.. autofunction:: cuda.bindings.nvjitlink.get_error_log -.. autofunction:: cuda.bindings.nvjitlink.get_info_log_size -.. autofunction:: cuda.bindings.nvjitlink.get_info_log -.. autofunction:: cuda.bindings.nvjitlink.version - -Types ---------- -.. autoclass:: cuda.bindings.nvjitlink.Result - - .. autoattribute:: cuda.bindings.nvjitlink.Result.SUCCESS - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_UNRECOGNIZED_OPTION - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_MISSING_ARCH - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_INVALID_INPUT - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_PTX_COMPILE - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_NVVM_COMPILE - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_INTERNAL - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_THREADPOOL - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_UNRECOGNIZED_INPUT - - - .. autoattribute:: cuda.bindings.nvjitlink.Result.ERROR_FINALIZE - - -.. autoclass:: cuda.bindings.nvjitlink.InputType - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.NONE - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.CUBIN - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.PTX - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.LTOIR - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.FATBIN - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.OBJECT - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.LIBRARY - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.INDEX - - - .. autoattribute:: cuda.bindings.nvjitlink.InputType.ANY diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/nvrtc.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/nvrtc.rst.txt deleted file mode 100644 index 2a1297c1..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/nvrtc.rst.txt +++ /dev/null @@ -1,1119 +0,0 @@ ------ -nvrtc ------ - -Error Handling --------------- - -NVRTC defines the following enumeration type and function for API call error handling. - -.. autoclass:: cuda.bindings.nvrtc.nvrtcResult - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_SUCCESS - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_OUT_OF_MEMORY - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_PROGRAM_CREATION_FAILURE - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_INVALID_INPUT - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_INVALID_PROGRAM - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_INVALID_OPTION - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_COMPILATION - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_BUILTIN_OPERATION_FAILURE - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_INTERNAL_ERROR - - - .. autoattribute:: cuda.bindings.nvrtc.nvrtcResult.NVRTC_ERROR_TIME_FILE_WRITE_FAILED - -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetErrorString - -General Information Query -------------------------- - -NVRTC defines the following function for general information query. - -.. autofunction:: cuda.bindings.nvrtc.nvrtcVersion -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetNumSupportedArchs -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetSupportedArchs - -Compilation ------------ - -NVRTC defines the following type and functions for actual compilation. - -.. autoclass:: cuda.bindings.nvrtc.nvrtcProgram -.. autofunction:: cuda.bindings.nvrtc.nvrtcCreateProgram -.. autofunction:: cuda.bindings.nvrtc.nvrtcDestroyProgram -.. autofunction:: cuda.bindings.nvrtc.nvrtcCompileProgram -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetPTXSize -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetPTX -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetCUBINSize -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetCUBIN -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetNVVMSize -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetNVVM -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetLTOIRSize -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetLTOIR -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetOptiXIRSize -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetOptiXIR -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetProgramLogSize -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetProgramLog -.. autofunction:: cuda.bindings.nvrtc.nvrtcAddNameExpression -.. autofunction:: cuda.bindings.nvrtc.nvrtcGetLoweredName - -Supported Compile Options -------------------------- - -NVRTC supports the compile options below. Option names with two preceding dashs (``--``\ ) are long option names and option names with one preceding dash (``-``\ ) are short option names. Short option names can be used instead of long option names. When a compile option takes an argument, an assignment operator (``=``\ ) is used to separate the compile option argument from the compile option name, e.g., ``"--gpu-architecture=compute_60"``\ . Alternatively, the compile option name and the argument can be specified in separate strings without an assignment operator, .e.g, ``"--gpu-architecture"``\ ``"compute_60"``\ . Single-character short option names, such as ``-D``\ , ``-U``\ , and ``-I``\ , do not require an assignment operator, and the compile option name and the argument can be present in the same string with or without spaces between them. For instance, ``"-D="``\ , ``"-D"``\ , and ``"-D "``\ are all supported. - - - -The valid compiler options are: - - - - - -- Compilation targets - - - - - - - ``--gpu-architecture=``\ (``-arch``\ ) - - - - Specify the name of the class of GPU architectures for which the input must be compiled. - - - - - - - - - Valid ````\ s: - - - - - - - ``compute_50``\ - - - - - - - - - ``compute_52``\ - - - - - - - - - ``compute_53``\ - - - - - - - - - ``compute_60``\ - - - - - - - - - ``compute_61``\ - - - - - - - - - ``compute_62``\ - - - - - - - - - ``compute_70``\ - - - - - - - - - ``compute_72``\ - - - - - - - - - ``compute_75``\ - - - - - - - - - ``compute_80``\ - - - - - - - - - ``compute_87``\ - - - - - - - - - ``compute_89``\ - - - - - - - - - ``compute_90``\ - - - - - - - - - ``compute_90a``\ - - - - - - - - - ``sm_50``\ - - - - - - - - - ``sm_52``\ - - - - - - - - - ``sm_53``\ - - - - - - - - - ``sm_60``\ - - - - - - - - - ``sm_61``\ - - - - - - - - - ``sm_62``\ - - - - - - - - - ``sm_70``\ - - - - - - - - - ``sm_72``\ - - - - - - - - - ``sm_75``\ - - - - - - - - - ``sm_80``\ - - - - - - - - - ``sm_87``\ - - - - - - - - - ``sm_89``\ - - - - - - - - - ``sm_90``\ - - - - - - - - - ``sm_90a``\ - - - - - - - - - - - Default: ``compute_52``\ - - - - - - - - - - - -- Separate compilation / whole-program compilation - - - - - - - ``--device-c``\ (``-dc``\ ) - - - - Generate relocatable code that can be linked with other relocatable device code. It is equivalent to --relocatable-device-code=true. - - - - - - - - - ``--device-w``\ (``-dw``\ ) - - - - Generate non-relocatable code. It is equivalent to ``--relocatable-device-code=false``\ . - - - - - - - - - ``--relocatable-device-code={true|false}``\ (``-rdc``\ ) - - - - Enable (disable) the generation of relocatable device code. - - - - - - - Default: ``false``\ - - - - - - - - - - - ``--extensible-whole-program``\ (``-ewp``\ ) - - - - Do extensible whole program compilation of device code. - - - - - - - Default: ``false``\ - - - - - - - - - - - -- Debugging support - - - - - - - ``--device-debug``\ (``-G``\ ) - - - - Generate debug information. If --dopt is not specified, then turns off all optimizations. - - - - - - - - - ``--generate-line-info``\ (``-lineinfo``\ ) - - - - Generate line-number information. - - - - - - - - - -- Code generation - - - - - - - ``--dopt``\ on (``-dopt``\ ) - - - - - - - - - - - ``--dopt=on``\ - - - - Enable device code optimization. When specified along with '-G', enables limited debug information generation for optimized device code (currently, only line number information). When '-G' is not specified, '-dopt=on' is implicit. - - - - - - - - - ``--ptxas-options``\ (``-Xptxas``\ ) - - - - - - - - - - - ``--ptxas-options=``\ - - - - Specify options directly to ptxas, the PTX optimizing assembler. - - - - - - - - - ``--maxrregcount=``\ (``-maxrregcount``\ ) - - - - Specify the maximum amount of registers that GPU functions can use. Until a function-specific limit, a higher value will generally increase the performance of individual GPU threads that execute this function. However, because thread registers are allocated from a global register pool on each GPU, a higher value of this option will also reduce the maximum thread block size, thereby reducing the amount of thread parallelism. Hence, a good maxrregcount value is the result of a trade-off. If this option is not specified, then no maximum is assumed. Value less than the minimum registers required by ABI will be bumped up by the compiler to ABI minimum limit. - - - - - - - - - ``--ftz={true|false}``\ (``-ftz``\ ) - - - - When performing single-precision floating-point operations, flush denormal values to zero or preserve denormal values. ``--use_fast_math``\ implies ``--ftz=true``\ . - - - - - - - Default: ``false``\ - - - - - - - - - - - ``--prec-sqrt={true|false}``\ (``-prec-sqrt``\ ) - - - - For single-precision floating-point square root, use IEEE round-to-nearest mode or use a faster approximation. ``--use_fast_math``\ implies ``--prec-sqrt=false``\ . - - - - - - - Default: ``true``\ - - - - - - - - - - - ``--prec-div={true|false}``\ (``-prec-div``\ ) - - - - For single-precision floating-point division and reciprocals, use IEEE round-to-nearest mode or use a faster approximation. ``--use_fast_math``\ implies ``--prec-div=false``\ . - - - - - - - Default: ``true``\ - - - - - - - - - - - ``--fmad={true|false}``\ (``-fmad``\ ) - - - - Enables (disables) the contraction of floating-point multiplies and adds/subtracts into floating-point multiply-add operations (FMAD, FFMA, or DFMA). ``--use_fast_math``\ implies ``--fmad=true``\ . - - - - - - - Default: ``true``\ - - - - - - - - - - - ``--use_fast_math``\ (``-use_fast_math``\ ) - - - - Make use of fast math operations. ``--use_fast_math``\ implies ``--ftz=true``\ ``--prec-div=false``\ ``--prec-sqrt=false``\ ``--fmad=true``\ . - - - - - - - - - ``--extra-device-vectorization``\ (``-extra-device-vectorization``\ ) - - - - Enables more aggressive device code vectorization in the NVVM optimizer. - - - - - - - - - ``--modify-stack-limit={true|false}``\ (``-modify-stack-limit``\ ) - - - - On Linux, during compilation, use ``setrlimit()``\ to increase stack size to maximum allowed. The limit is reset to the previous value at the end of compilation. Note: ``setrlimit()``\ changes the value for the entire process. - - - - - - - Default: ``true``\ - - - - - - - - - - - ``--dlink-time-opt``\ (``-dlto``\ ) - - - - Generate intermediate code for later link-time optimization. It implies ``-rdc=true``\ . Note: when this option is used the nvrtcGetLTOIR API should be used, as PTX or Cubin will not be generated. - - - - - - - - - ``--gen-opt-lto``\ (``-gen-opt-lto``\ ) - - - - Run the optimizer passes before generating the LTO IR. - - - - - - - - - ``--optix-ir``\ (``-optix-ir``\ ) - - - - Generate OptiX IR. The Optix IR is only intended for consumption by OptiX through appropriate APIs. This feature is not supported with link-time-optimization (``-dlto``\ ) - -. Note: when this option is used the nvrtcGetOptiX API should be used, as PTX or Cubin will not be generated. - - - - - - - - - ``--jump-table-density=``\ [0-101] (``-jtd``\ ) - - - - Specify the case density percentage in switch statements, and use it as a minimal threshold to determine whether jump table(brx.idx instruction) will be used to implement a switch statement. Default value is 101. The percentage ranges from 0 to 101 inclusively. - - - - - - - - - ``--device-stack-protector={true|false}``\ (``-device-stack-protector``\ ) - - - - Enable (disable) the generation of stack canaries in device code. - - - - - - - - - Default: ``false``\ - - - - - - - - - - - -- Preprocessing - - - - - - - ``--define-macro=``\ (``-D``\ ) - - - - ````\ can be either ````\ or ````\ . - - - - - - - ````\ - - - - Predefine ````\ as a macro with definition ``1``\ . - - - - - - - - - ``=``\ - - - - The contents of ````\ are tokenized and preprocessed as if they appeared during translation phase three in a ``#define``\ directive. In particular, the definition will be truncated by embedded new line characters. - - - - - - - - - - - ``--undefine-macro=``\ (``-U``\ ) - - - - Cancel any previous definition of ````\ . - - - - - - - - - ``--include-path=``\ (``-I``\ ) - - - - Add the directory ````\ to the list of directories to be searched for headers. These paths are searched after the list of headers given to nvrtcCreateProgram. - - - - - - - - - ``--pre-include=
``\ (``-include``\ ) - - - - Preinclude ``
``\ during preprocessing. - - - - - - - - - ``--no-source-include``\ (``-no-source-include``\ ) The preprocessor by default adds the directory of each input sources to the include path. This option disables this feature and only considers the path specified explicitly. - - - - - - - - - -- Language Dialect - - - - - - - ``--std={c++03|c++11|c++14|c++17|c++20}``\ (``-std={c++11|c++14|c++17|c++20}``\ ) - - - - Set language dialect to C++03, C++11, C++14, C++17 or C++20 - - - - - - - Default: ``c++17``\ - - - - - - - - - - - ``--builtin-move-forward={true|false}``\ (``-builtin-move-forward``\ ) - - - - Provide builtin definitions of ``std::move``\ and ``std::forward``\ , when C++11 or later language dialect is selected. - - - - - - - Default: ``true``\ - - - - - - - - - - - ``--builtin-initializer-list={true|false}``\ (``-builtin-initializer-list``\ ) - - - - Provide builtin definitions of ``std::initializer_list``\ class and member functions when C++11 or later language dialect is selected. - - - - - - - Default: ``true``\ - - - - - - - - - - - -- Misc. - - - - - - - ``--disable-warnings``\ (``-w``\ ) - - - - Inhibit all warning messages. - - - - - - - - - ``--restrict``\ (``-restrict``\ ) - - - - Programmer assertion that all kernel pointer parameters are restrict pointers. - - - - - - - - - ``--device-as-default-execution-space``\ (``-default-device``\ ) - - - - Treat entities with no execution space annotation as ``device``\ entities. - - - - - - - - - ``--device-int128``\ (``-device-int128``\ ) - - - - Allow the ``__int128``\ type in device code. Also causes the macro ``CUDACC_RTC_INT128``\ to be defined. - - - - - - - - - ``--optimization-info=``\ (``-opt-info``\ ) - - - - Provide optimization reports for the specified kind of optimization. The following kind tags are supported: - - - - - - - ``inline``\ : emit a remark when a function is inlined. - - - - - - - - - - - ``--display-error-number``\ (``-err-no``\ ) - - - - Display diagnostic number for warning messages. (Default) - - - - - - - - - ``--no-display-error-number``\ (``-no-err-no``\ ) - - - - Disables the display of a diagnostic number for warning messages. - - - - - - - - - ``--diag-error=``\ ,... (``-diag-error``\ ) - - - - Emit error for specified diagnostic message number(s). Message numbers can be separated by comma. - - - - - - - - - ``--diag-suppress=``\ ,... (``-diag-suppress``\ ) - - - - Suppress specified diagnostic message number(s). Message numbers can be separated by comma. - - - - - - - - - ``--diag-warn=``\ ,... (``-diag-warn``\ ) - - - - Emit warning for specified diagnostic message number(s). Message numbers can be separated by comma. - - - - - - - - - ``--brief-diagnostics={true|false}``\ (``-brief-diag``\ ) - - - - This option disables or enables showing source line and column info in a diagnostic. The --brief-diagnostics=true will not show the source line and column info. - - - - - - - Default: ``false``\ - - - - - - - - - - - ``--time=``\ (``-time``\ ) - - - - Generate a comma separated value table with the time taken by each compilation phase, and append it at the end of the file given as the option argument. If the file does not exist, the column headings are generated in the first row of the table. If the file name is '-', the timing data is written to the compilation log. - - - - - - - - - ``--split-compile=``\ (``-split-compile=``\ ) - - - - Perform compiler optimizations in parallel. Split compilation attempts to reduce compile time by enabling the compiler to run certain optimization passes concurrently. This option accepts a numerical value that specifies the maximum number of threads the compiler can use. One can also allow the compiler to use the maximum threads available on the system by setting --split-compile=0. Setting --split-compile=1 will cause this option to be ignored. - - - - - - - - - ``--fdevice-syntax-only``\ (``-fdevice-syntax-only``\ ) - - - - Ends device compilation after front-end syntax checking. This option does not generate valid device code. - - - - - - - - - ``--minimal``\ (``-minimal``\ ) - - - - Omit certain language features to reduce compile time for small programs. In particular, the following are omitted: - - - - - - - Texture and surface functions and associated types, e.g., ``cudaTextureObject_t``\ . - - - - - - - - - CUDA Runtime Functions that are provided by the cudadevrt device code library, typically named with prefix "cuda", e.g., ``cudaMalloc``\ . - - - - - - - - - Kernel launch from device code. - - - - - - - - - Types and macros associated with CUDA Runtime and Driver APIs, provided by cuda/tools/cudart/driver_types.h, typically named with prefix "cuda", e.g., ``cudaError_t``\ . - - - - - - - - - - - ``--device-stack-protector``\ (``-device-stack-protector``\ ) - - - - Enable stack canaries in device code. Stack canaries make it more difficult to exploit certain types of memory safety bugs involving stack-local variables. The compiler uses heuristics to assess the risk of such a bug in each function. Only those functions which are deemed high-risk make use of a stack canary. - diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/runtime.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/runtime.rst.txt deleted file mode 100644 index 3eaeb695..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/module/runtime.rst.txt +++ /dev/null @@ -1,5268 +0,0 @@ -------- -runtime -------- - -Profiler Control ----------------- - -This section describes the profiler control functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaProfilerStart -.. autofunction:: cuda.bindings.runtime.cudaProfilerStop - -Device Management ------------------ - -impl_private - - - - - - - -This section describes the device management functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaDeviceReset -.. autofunction:: cuda.bindings.runtime.cudaDeviceSynchronize -.. autofunction:: cuda.bindings.runtime.cudaDeviceSetLimit -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetLimit -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetTexture1DLinearMaxWidth -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetCacheConfig -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetStreamPriorityRange -.. autofunction:: cuda.bindings.runtime.cudaDeviceSetCacheConfig -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetByPCIBusId -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetPCIBusId -.. autofunction:: cuda.bindings.runtime.cudaIpcGetEventHandle -.. autofunction:: cuda.bindings.runtime.cudaIpcOpenEventHandle -.. autofunction:: cuda.bindings.runtime.cudaIpcGetMemHandle -.. autofunction:: cuda.bindings.runtime.cudaIpcOpenMemHandle -.. autofunction:: cuda.bindings.runtime.cudaIpcCloseMemHandle -.. autofunction:: cuda.bindings.runtime.cudaDeviceFlushGPUDirectRDMAWrites -.. autofunction:: cuda.bindings.runtime.cudaDeviceRegisterAsyncNotification -.. autofunction:: cuda.bindings.runtime.cudaDeviceUnregisterAsyncNotification -.. autofunction:: cuda.bindings.runtime.cudaGetDeviceCount -.. autofunction:: cuda.bindings.runtime.cudaGetDeviceProperties -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetAttribute -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetDefaultMemPool -.. autofunction:: cuda.bindings.runtime.cudaDeviceSetMemPool -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetMemPool -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetNvSciSyncAttributes -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetP2PAttribute -.. autofunction:: cuda.bindings.runtime.cudaChooseDevice -.. autofunction:: cuda.bindings.runtime.cudaInitDevice -.. autofunction:: cuda.bindings.runtime.cudaSetDevice -.. autofunction:: cuda.bindings.runtime.cudaGetDevice -.. autofunction:: cuda.bindings.runtime.cudaSetDeviceFlags -.. autofunction:: cuda.bindings.runtime.cudaGetDeviceFlags - -Error Handling --------------- - -This section describes the error handling functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaGetLastError -.. autofunction:: cuda.bindings.runtime.cudaPeekAtLastError -.. autofunction:: cuda.bindings.runtime.cudaGetErrorName -.. autofunction:: cuda.bindings.runtime.cudaGetErrorString - -Stream Management ------------------ - -This section describes the stream management functions of the CUDA runtime application programming interface. - -.. autoclass:: cuda.bindings.runtime.cudaStreamCallback_t -.. autofunction:: cuda.bindings.runtime.cudaStreamCreate -.. autofunction:: cuda.bindings.runtime.cudaStreamCreateWithFlags -.. autofunction:: cuda.bindings.runtime.cudaStreamCreateWithPriority -.. autofunction:: cuda.bindings.runtime.cudaStreamGetPriority -.. autofunction:: cuda.bindings.runtime.cudaStreamGetFlags -.. autofunction:: cuda.bindings.runtime.cudaStreamGetId -.. autofunction:: cuda.bindings.runtime.cudaCtxResetPersistingL2Cache -.. autofunction:: cuda.bindings.runtime.cudaStreamCopyAttributes -.. autofunction:: cuda.bindings.runtime.cudaStreamGetAttribute -.. autofunction:: cuda.bindings.runtime.cudaStreamSetAttribute -.. autofunction:: cuda.bindings.runtime.cudaStreamDestroy -.. autofunction:: cuda.bindings.runtime.cudaStreamWaitEvent -.. autofunction:: cuda.bindings.runtime.cudaStreamAddCallback -.. autofunction:: cuda.bindings.runtime.cudaStreamSynchronize -.. autofunction:: cuda.bindings.runtime.cudaStreamQuery -.. autofunction:: cuda.bindings.runtime.cudaStreamAttachMemAsync -.. autofunction:: cuda.bindings.runtime.cudaStreamBeginCapture -.. autofunction:: cuda.bindings.runtime.cudaStreamBeginCaptureToGraph -.. autofunction:: cuda.bindings.runtime.cudaThreadExchangeStreamCaptureMode -.. autofunction:: cuda.bindings.runtime.cudaStreamEndCapture -.. autofunction:: cuda.bindings.runtime.cudaStreamIsCapturing -.. autofunction:: cuda.bindings.runtime.cudaStreamGetCaptureInfo -.. autofunction:: cuda.bindings.runtime.cudaStreamGetCaptureInfo_v3 -.. autofunction:: cuda.bindings.runtime.cudaStreamUpdateCaptureDependencies -.. autofunction:: cuda.bindings.runtime.cudaStreamUpdateCaptureDependencies_v2 - -Event Management ----------------- - -This section describes the event management functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaEventCreate -.. autofunction:: cuda.bindings.runtime.cudaEventCreateWithFlags -.. autofunction:: cuda.bindings.runtime.cudaEventRecord -.. autofunction:: cuda.bindings.runtime.cudaEventRecordWithFlags -.. autofunction:: cuda.bindings.runtime.cudaEventQuery -.. autofunction:: cuda.bindings.runtime.cudaEventSynchronize -.. autofunction:: cuda.bindings.runtime.cudaEventDestroy -.. autofunction:: cuda.bindings.runtime.cudaEventElapsedTime - -External Resource Interoperability ----------------------------------- - -This section describes the external resource interoperability functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaImportExternalMemory -.. autofunction:: cuda.bindings.runtime.cudaExternalMemoryGetMappedBuffer -.. autofunction:: cuda.bindings.runtime.cudaExternalMemoryGetMappedMipmappedArray -.. autofunction:: cuda.bindings.runtime.cudaDestroyExternalMemory -.. autofunction:: cuda.bindings.runtime.cudaImportExternalSemaphore -.. autofunction:: cuda.bindings.runtime.cudaSignalExternalSemaphoresAsync -.. autofunction:: cuda.bindings.runtime.cudaWaitExternalSemaphoresAsync -.. autofunction:: cuda.bindings.runtime.cudaDestroyExternalSemaphore - -Execution Control ------------------ - -This section describes the execution control functions of the CUDA runtime application programming interface. - - - -Some functions have overloaded C++ API template versions documented separately in the C++ API Routines module. - -.. autofunction:: cuda.bindings.runtime.cudaFuncSetCacheConfig -.. autofunction:: cuda.bindings.runtime.cudaFuncGetAttributes -.. autofunction:: cuda.bindings.runtime.cudaFuncSetAttribute -.. autofunction:: cuda.bindings.runtime.cudaLaunchHostFunc - -Occupancy ---------- - -This section describes the occupancy calculation functions of the CUDA runtime application programming interface. - - - -Besides the occupancy calculator functions (cudaOccupancyMaxActiveBlocksPerMultiprocessor and cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags), there are also C++ only occupancy-based launch configuration functions documented in C++ API Routines module. - - - -See cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSize (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API), cudaOccupancyMaxPotentialBlockSizeVariableSMem (C++ API) cudaOccupancyAvailableDynamicSMemPerBlock (C++ API), - -.. autofunction:: cuda.bindings.runtime.cudaOccupancyMaxActiveBlocksPerMultiprocessor -.. autofunction:: cuda.bindings.runtime.cudaOccupancyAvailableDynamicSMemPerBlock -.. autofunction:: cuda.bindings.runtime.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags - -Memory Management ------------------ - -This section describes the memory management functions of the CUDA runtime application programming interface. - - - -Some functions have overloaded C++ API template versions documented separately in the C++ API Routines module. - -.. autofunction:: cuda.bindings.runtime.cudaMallocManaged -.. autofunction:: cuda.bindings.runtime.cudaMalloc -.. autofunction:: cuda.bindings.runtime.cudaMallocHost -.. autofunction:: cuda.bindings.runtime.cudaMallocPitch -.. autofunction:: cuda.bindings.runtime.cudaMallocArray -.. autofunction:: cuda.bindings.runtime.cudaFree -.. autofunction:: cuda.bindings.runtime.cudaFreeHost -.. autofunction:: cuda.bindings.runtime.cudaFreeArray -.. autofunction:: cuda.bindings.runtime.cudaFreeMipmappedArray -.. autofunction:: cuda.bindings.runtime.cudaHostAlloc -.. autofunction:: cuda.bindings.runtime.cudaHostRegister -.. autofunction:: cuda.bindings.runtime.cudaHostUnregister -.. autofunction:: cuda.bindings.runtime.cudaHostGetDevicePointer -.. autofunction:: cuda.bindings.runtime.cudaHostGetFlags -.. autofunction:: cuda.bindings.runtime.cudaMalloc3D -.. autofunction:: cuda.bindings.runtime.cudaMalloc3DArray -.. autofunction:: cuda.bindings.runtime.cudaMallocMipmappedArray -.. autofunction:: cuda.bindings.runtime.cudaGetMipmappedArrayLevel -.. autofunction:: cuda.bindings.runtime.cudaMemcpy3D -.. autofunction:: cuda.bindings.runtime.cudaMemcpy3DPeer -.. autofunction:: cuda.bindings.runtime.cudaMemcpy3DAsync -.. autofunction:: cuda.bindings.runtime.cudaMemcpy3DPeerAsync -.. autofunction:: cuda.bindings.runtime.cudaMemGetInfo -.. autofunction:: cuda.bindings.runtime.cudaArrayGetInfo -.. autofunction:: cuda.bindings.runtime.cudaArrayGetPlane -.. autofunction:: cuda.bindings.runtime.cudaArrayGetMemoryRequirements -.. autofunction:: cuda.bindings.runtime.cudaMipmappedArrayGetMemoryRequirements -.. autofunction:: cuda.bindings.runtime.cudaArrayGetSparseProperties -.. autofunction:: cuda.bindings.runtime.cudaMipmappedArrayGetSparseProperties -.. autofunction:: cuda.bindings.runtime.cudaMemcpy -.. autofunction:: cuda.bindings.runtime.cudaMemcpyPeer -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2D -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2DToArray -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2DFromArray -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2DArrayToArray -.. autofunction:: cuda.bindings.runtime.cudaMemcpyAsync -.. autofunction:: cuda.bindings.runtime.cudaMemcpyPeerAsync -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2DAsync -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2DToArrayAsync -.. autofunction:: cuda.bindings.runtime.cudaMemcpy2DFromArrayAsync -.. autofunction:: cuda.bindings.runtime.cudaMemset -.. autofunction:: cuda.bindings.runtime.cudaMemset2D -.. autofunction:: cuda.bindings.runtime.cudaMemset3D -.. autofunction:: cuda.bindings.runtime.cudaMemsetAsync -.. autofunction:: cuda.bindings.runtime.cudaMemset2DAsync -.. autofunction:: cuda.bindings.runtime.cudaMemset3DAsync -.. autofunction:: cuda.bindings.runtime.cudaMemPrefetchAsync -.. autofunction:: cuda.bindings.runtime.cudaMemPrefetchAsync_v2 -.. autofunction:: cuda.bindings.runtime.cudaMemAdvise -.. autofunction:: cuda.bindings.runtime.cudaMemAdvise_v2 -.. autofunction:: cuda.bindings.runtime.cudaMemRangeGetAttribute -.. autofunction:: cuda.bindings.runtime.cudaMemRangeGetAttributes -.. autofunction:: cuda.bindings.runtime.make_cudaPitchedPtr -.. autofunction:: cuda.bindings.runtime.make_cudaPos -.. autofunction:: cuda.bindings.runtime.make_cudaExtent - -Stream Ordered Memory Allocator -------------------------------- - -**overview** - - - -The asynchronous allocator allows the user to allocate and free in stream order. All asynchronous accesses of the allocation must happen between the stream executions of the allocation and the free. If the memory is accessed outside of the promised stream order, a use before allocation / use after free error will cause undefined behavior. - -The allocator is free to reallocate the memory as long as it can guarantee that compliant memory accesses will not overlap temporally. The allocator may refer to internal stream ordering as well as inter-stream dependencies (such as CUDA events and null stream dependencies) when establishing the temporal guarantee. The allocator may also insert inter-stream dependencies to establish the temporal guarantee. - - - - - -**Supported Platforms** - - - -Whether or not a device supports the integrated stream ordered memory allocator may be queried by calling cudaDeviceGetAttribute() with the device attribute cudaDevAttrMemoryPoolsSupported. - -.. autofunction:: cuda.bindings.runtime.cudaMallocAsync -.. autofunction:: cuda.bindings.runtime.cudaFreeAsync -.. autofunction:: cuda.bindings.runtime.cudaMemPoolTrimTo -.. autofunction:: cuda.bindings.runtime.cudaMemPoolSetAttribute -.. autofunction:: cuda.bindings.runtime.cudaMemPoolGetAttribute -.. autofunction:: cuda.bindings.runtime.cudaMemPoolSetAccess -.. autofunction:: cuda.bindings.runtime.cudaMemPoolGetAccess -.. autofunction:: cuda.bindings.runtime.cudaMemPoolCreate -.. autofunction:: cuda.bindings.runtime.cudaMemPoolDestroy -.. autofunction:: cuda.bindings.runtime.cudaMallocFromPoolAsync -.. autofunction:: cuda.bindings.runtime.cudaMemPoolExportToShareableHandle -.. autofunction:: cuda.bindings.runtime.cudaMemPoolImportFromShareableHandle -.. autofunction:: cuda.bindings.runtime.cudaMemPoolExportPointer -.. autofunction:: cuda.bindings.runtime.cudaMemPoolImportPointer - -Unified Addressing ------------------- - -This section describes the unified addressing functions of the CUDA runtime application programming interface. - - - - - -**Overview** - - - -CUDA devices can share a unified address space with the host. - - For these devices there is no distinction between a device pointer and a host pointer -- the same pointer value may be used to access memory from the host program and from a kernel running on the device (with exceptions enumerated below). - - - - - -**Supported Platforms** - - - -Whether or not a device supports unified addressing may be queried by calling cudaGetDeviceProperties() with the device property cudaDeviceProp::unifiedAddressing. - -Unified addressing is automatically enabled in 64-bit processes . - - - - - -**Looking Up Information from Pointer Values** - - - -It is possible to look up information about the memory which backs a pointer value. For instance, one may want to know if a pointer points to host or device memory. As another example, in the case of device memory, one may want to know on which CUDA device the memory resides. These properties may be queried using the function cudaPointerGetAttributes() - -Since pointers are unique, it is not necessary to specify information about the pointers specified to cudaMemcpy() and other copy functions. - - The copy direction cudaMemcpyDefault may be used to specify that the CUDA runtime should infer the location of the pointer from its value. - - - - - -**Automatic Mapping of Host Allocated Host Memory** - - - -All host memory allocated through all devices using cudaMallocHost() and cudaHostAlloc() is always directly accessible from all devices that support unified addressing. This is the case regardless of whether or not the flags cudaHostAllocPortable and cudaHostAllocMapped are specified. - -The pointer value through which allocated host memory may be accessed in kernels on all devices that support unified addressing is the same as the pointer value through which that memory is accessed on the host. It is not necessary to call cudaHostGetDevicePointer() to get the device pointer for these allocations. - - - -Note that this is not the case for memory allocated using the flag cudaHostAllocWriteCombined, as discussed below. - - - - - -**Direct Access of Peer Memory** - - - -Upon enabling direct access from a device that supports unified addressing to another peer device that supports unified addressing using cudaDeviceEnablePeerAccess() all memory allocated in the peer device using cudaMalloc() and cudaMallocPitch() will immediately be accessible by the current device. The device pointer value through which any peer's memory may be accessed in the current device is the same pointer value through which that memory may be accessed from the peer device. - - - - - -**Exceptions, Disjoint Addressing** - - - -Not all memory may be accessed on devices through the same pointer value through which they are accessed on the host. These exceptions are host memory registered using cudaHostRegister() and host memory allocated using the flag cudaHostAllocWriteCombined. For these exceptions, there exists a distinct host and device address for the memory. The device address is guaranteed to not overlap any valid host pointer range and is guaranteed to have the same value across all devices that support unified addressing. - - - -This device address may be queried using cudaHostGetDevicePointer() when a device using unified addressing is current. Either the host or the unified device pointer value may be used to refer to this memory in cudaMemcpy() and similar functions using the cudaMemcpyDefault memory direction. - -.. autofunction:: cuda.bindings.runtime.cudaPointerGetAttributes - -Peer Device Memory Access -------------------------- - -This section describes the peer device memory access functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaDeviceCanAccessPeer -.. autofunction:: cuda.bindings.runtime.cudaDeviceEnablePeerAccess -.. autofunction:: cuda.bindings.runtime.cudaDeviceDisablePeerAccess - -OpenGL Interoperability ------------------------ - -impl_private - - - -This section describes the OpenGL interoperability functions of the CUDA runtime application programming interface. Note that mapping of OpenGL resources is performed with the graphics API agnostic, resource mapping interface described in Graphics Interopability. - -.. autoclass:: cuda.bindings.runtime.cudaGLDeviceList - - .. autoattribute:: cuda.bindings.runtime.cudaGLDeviceList.cudaGLDeviceListAll - - - The CUDA devices for all GPUs used by the current OpenGL context - - - .. autoattribute:: cuda.bindings.runtime.cudaGLDeviceList.cudaGLDeviceListCurrentFrame - - - The CUDA devices for the GPUs used by the current OpenGL context in its currently rendering frame - - - .. autoattribute:: cuda.bindings.runtime.cudaGLDeviceList.cudaGLDeviceListNextFrame - - - The CUDA devices for the GPUs to be used by the current OpenGL context in the next frame - -.. autofunction:: cuda.bindings.runtime.cudaGLGetDevices -.. autofunction:: cuda.bindings.runtime.cudaGraphicsGLRegisterImage -.. autofunction:: cuda.bindings.runtime.cudaGraphicsGLRegisterBuffer - -Direct3D 9 Interoperability ---------------------------- - - - - -Direct3D 10 Interoperability ----------------------------- - - - - -Direct3D 11 Interoperability ----------------------------- - - - - -VDPAU Interoperability ----------------------- - -This section describes the VDPAU interoperability functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaVDPAUGetDevice -.. autofunction:: cuda.bindings.runtime.cudaVDPAUSetVDPAUDevice -.. autofunction:: cuda.bindings.runtime.cudaGraphicsVDPAURegisterVideoSurface -.. autofunction:: cuda.bindings.runtime.cudaGraphicsVDPAURegisterOutputSurface - -EGL Interoperability --------------------- - -This section describes the EGL interoperability functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaGraphicsEGLRegisterImage -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamConsumerConnect -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamConsumerConnectWithFlags -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamConsumerDisconnect -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamConsumerAcquireFrame -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamConsumerReleaseFrame -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamProducerConnect -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamProducerDisconnect -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamProducerPresentFrame -.. autofunction:: cuda.bindings.runtime.cudaEGLStreamProducerReturnFrame -.. autofunction:: cuda.bindings.runtime.cudaGraphicsResourceGetMappedEglFrame -.. autofunction:: cuda.bindings.runtime.cudaEventCreateFromEGLSync - -Graphics Interoperability -------------------------- - -This section describes the graphics interoperability functions of the CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaGraphicsUnregisterResource -.. autofunction:: cuda.bindings.runtime.cudaGraphicsResourceSetMapFlags -.. autofunction:: cuda.bindings.runtime.cudaGraphicsMapResources -.. autofunction:: cuda.bindings.runtime.cudaGraphicsUnmapResources -.. autofunction:: cuda.bindings.runtime.cudaGraphicsResourceGetMappedPointer -.. autofunction:: cuda.bindings.runtime.cudaGraphicsSubResourceGetMappedArray -.. autofunction:: cuda.bindings.runtime.cudaGraphicsResourceGetMappedMipmappedArray - -Texture Object Management -------------------------- - -This section describes the low level texture object management functions of the CUDA runtime application programming interface. The texture object API is only supported on devices of compute capability 3.0 or higher. - -.. autofunction:: cuda.bindings.runtime.cudaGetChannelDesc -.. autofunction:: cuda.bindings.runtime.cudaCreateChannelDesc -.. autofunction:: cuda.bindings.runtime.cudaCreateTextureObject -.. autofunction:: cuda.bindings.runtime.cudaDestroyTextureObject -.. autofunction:: cuda.bindings.runtime.cudaGetTextureObjectResourceDesc -.. autofunction:: cuda.bindings.runtime.cudaGetTextureObjectTextureDesc -.. autofunction:: cuda.bindings.runtime.cudaGetTextureObjectResourceViewDesc - -Surface Object Management -------------------------- - -This section describes the low level texture object management functions of the CUDA runtime application programming interface. The surface object API is only supported on devices of compute capability 3.0 or higher. - -.. autofunction:: cuda.bindings.runtime.cudaCreateSurfaceObject -.. autofunction:: cuda.bindings.runtime.cudaDestroySurfaceObject -.. autofunction:: cuda.bindings.runtime.cudaGetSurfaceObjectResourceDesc - -Version Management ------------------- - - - -.. autofunction:: cuda.bindings.runtime.cudaDriverGetVersion -.. autofunction:: cuda.bindings.runtime.cudaRuntimeGetVersion -.. autofunction:: cuda.bindings.runtime.getLocalRuntimeVersion - -Graph Management ----------------- - -This section describes the graph management functions of CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaGraphCreate -.. autofunction:: cuda.bindings.runtime.cudaGraphAddKernelNode -.. autofunction:: cuda.bindings.runtime.cudaGraphKernelNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphKernelNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphKernelNodeCopyAttributes -.. autofunction:: cuda.bindings.runtime.cudaGraphKernelNodeGetAttribute -.. autofunction:: cuda.bindings.runtime.cudaGraphKernelNodeSetAttribute -.. autofunction:: cuda.bindings.runtime.cudaGraphAddMemcpyNode -.. autofunction:: cuda.bindings.runtime.cudaGraphAddMemcpyNode1D -.. autofunction:: cuda.bindings.runtime.cudaGraphMemcpyNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphMemcpyNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphMemcpyNodeSetParams1D -.. autofunction:: cuda.bindings.runtime.cudaGraphAddMemsetNode -.. autofunction:: cuda.bindings.runtime.cudaGraphMemsetNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphMemsetNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphAddHostNode -.. autofunction:: cuda.bindings.runtime.cudaGraphHostNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphHostNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphAddChildGraphNode -.. autofunction:: cuda.bindings.runtime.cudaGraphChildGraphNodeGetGraph -.. autofunction:: cuda.bindings.runtime.cudaGraphAddEmptyNode -.. autofunction:: cuda.bindings.runtime.cudaGraphAddEventRecordNode -.. autofunction:: cuda.bindings.runtime.cudaGraphEventRecordNodeGetEvent -.. autofunction:: cuda.bindings.runtime.cudaGraphEventRecordNodeSetEvent -.. autofunction:: cuda.bindings.runtime.cudaGraphAddEventWaitNode -.. autofunction:: cuda.bindings.runtime.cudaGraphEventWaitNodeGetEvent -.. autofunction:: cuda.bindings.runtime.cudaGraphEventWaitNodeSetEvent -.. autofunction:: cuda.bindings.runtime.cudaGraphAddExternalSemaphoresSignalNode -.. autofunction:: cuda.bindings.runtime.cudaGraphExternalSemaphoresSignalNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExternalSemaphoresSignalNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphAddExternalSemaphoresWaitNode -.. autofunction:: cuda.bindings.runtime.cudaGraphExternalSemaphoresWaitNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExternalSemaphoresWaitNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphAddMemAllocNode -.. autofunction:: cuda.bindings.runtime.cudaGraphMemAllocNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphAddMemFreeNode -.. autofunction:: cuda.bindings.runtime.cudaGraphMemFreeNodeGetParams -.. autofunction:: cuda.bindings.runtime.cudaDeviceGraphMemTrim -.. autofunction:: cuda.bindings.runtime.cudaDeviceGetGraphMemAttribute -.. autofunction:: cuda.bindings.runtime.cudaDeviceSetGraphMemAttribute -.. autofunction:: cuda.bindings.runtime.cudaGraphClone -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeFindInClone -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeGetType -.. autofunction:: cuda.bindings.runtime.cudaGraphGetNodes -.. autofunction:: cuda.bindings.runtime.cudaGraphGetRootNodes -.. autofunction:: cuda.bindings.runtime.cudaGraphGetEdges -.. autofunction:: cuda.bindings.runtime.cudaGraphGetEdges_v2 -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeGetDependencies -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeGetDependencies_v2 -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeGetDependentNodes -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeGetDependentNodes_v2 -.. autofunction:: cuda.bindings.runtime.cudaGraphAddDependencies -.. autofunction:: cuda.bindings.runtime.cudaGraphAddDependencies_v2 -.. autofunction:: cuda.bindings.runtime.cudaGraphRemoveDependencies -.. autofunction:: cuda.bindings.runtime.cudaGraphRemoveDependencies_v2 -.. autofunction:: cuda.bindings.runtime.cudaGraphDestroyNode -.. autofunction:: cuda.bindings.runtime.cudaGraphInstantiate -.. autofunction:: cuda.bindings.runtime.cudaGraphInstantiateWithFlags -.. autofunction:: cuda.bindings.runtime.cudaGraphInstantiateWithParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecGetFlags -.. autofunction:: cuda.bindings.runtime.cudaGraphExecKernelNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecMemcpyNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecMemcpyNodeSetParams1D -.. autofunction:: cuda.bindings.runtime.cudaGraphExecMemsetNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecHostNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecChildGraphNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecEventRecordNodeSetEvent -.. autofunction:: cuda.bindings.runtime.cudaGraphExecEventWaitNodeSetEvent -.. autofunction:: cuda.bindings.runtime.cudaGraphExecExternalSemaphoresSignalNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecExternalSemaphoresWaitNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeSetEnabled -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeGetEnabled -.. autofunction:: cuda.bindings.runtime.cudaGraphExecUpdate -.. autofunction:: cuda.bindings.runtime.cudaGraphUpload -.. autofunction:: cuda.bindings.runtime.cudaGraphLaunch -.. autofunction:: cuda.bindings.runtime.cudaGraphExecDestroy -.. autofunction:: cuda.bindings.runtime.cudaGraphDestroy -.. autofunction:: cuda.bindings.runtime.cudaGraphDebugDotPrint -.. autofunction:: cuda.bindings.runtime.cudaUserObjectCreate -.. autofunction:: cuda.bindings.runtime.cudaUserObjectRetain -.. autofunction:: cuda.bindings.runtime.cudaUserObjectRelease -.. autofunction:: cuda.bindings.runtime.cudaGraphRetainUserObject -.. autofunction:: cuda.bindings.runtime.cudaGraphReleaseUserObject -.. autofunction:: cuda.bindings.runtime.cudaGraphAddNode -.. autofunction:: cuda.bindings.runtime.cudaGraphAddNode_v2 -.. autofunction:: cuda.bindings.runtime.cudaGraphNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphExecNodeSetParams -.. autofunction:: cuda.bindings.runtime.cudaGraphConditionalHandleCreate - -Driver Entry Point Access -------------------------- - -This section describes the driver entry point access functions of CUDA runtime application programming interface. - -.. autofunction:: cuda.bindings.runtime.cudaGetDriverEntryPoint -.. autofunction:: cuda.bindings.runtime.cudaGetDriverEntryPointByVersion - -C++ API Routines ----------------- -C++-style interface built on top of CUDA runtime API. -impl_private - - - - - - - -This section describes the C++ high level API functions of the CUDA runtime application programming interface. To use these functions, your application needs to be compiled with the ``nvcc``\ compiler. - - -Interactions with the CUDA Driver API -------------------------------------- - -This section describes the interactions between the CUDA Driver API and the CUDA Runtime API - - - - - -**Primary Contexts** - - - -There exists a one to one relationship between CUDA devices in the CUDA Runtime API and ::CUcontext s in the CUDA Driver API within a process. The specific context which the CUDA Runtime API uses for a device is called the device's primary context. From the perspective of the CUDA Runtime API, a device and its primary context are synonymous. - - - - - -**Initialization and Tear-Down** - - - -CUDA Runtime API calls operate on the CUDA Driver API ::CUcontext which is current to to the calling host thread. - -The function cudaInitDevice() ensures that the primary context is initialized for the requested device but does not make it current to the calling thread. - -The function cudaSetDevice() initializes the primary context for the specified device and makes it current to the calling thread by calling ::cuCtxSetCurrent(). - -The CUDA Runtime API will automatically initialize the primary context for a device at the first CUDA Runtime API call which requires an active context. If no ::CUcontext is current to the calling thread when a CUDA Runtime API call which requires an active context is made, then the primary context for a device will be selected, made current to the calling thread, and initialized. - -The context which the CUDA Runtime API initializes will be initialized using the parameters specified by the CUDA Runtime API functions cudaSetDeviceFlags(), ::cudaD3D9SetDirect3DDevice(), ::cudaD3D10SetDirect3DDevice(), ::cudaD3D11SetDirect3DDevice(), cudaGLSetGLDevice(), and cudaVDPAUSetVDPAUDevice(). Note that these functions will fail with cudaErrorSetOnActiveProcess if they are called when the primary context for the specified device has already been initialized. (or if the current device has already been initialized, in the case of cudaSetDeviceFlags()). - -Primary contexts will remain active until they are explicitly deinitialized using cudaDeviceReset(). The function cudaDeviceReset() will deinitialize the primary context for the calling thread's current device immediately. The context will remain current to all of the threads that it was current to. The next CUDA Runtime API call on any thread which requires an active context will trigger the reinitialization of that device's primary context. - -Note that primary contexts are shared resources. It is recommended that the primary context not be reset except just before exit or to recover from an unspecified launch failure. - - - - - -**Context Interoperability** - - - -Note that the use of multiple ::CUcontext s per device within a single process will substantially degrade performance and is strongly discouraged. Instead, it is highly recommended that the implicit one-to-one device-to-context mapping for the process provided by the CUDA Runtime API be used. - -If a non-primary ::CUcontext created by the CUDA Driver API is current to a thread then the CUDA Runtime API calls to that thread will operate on that ::CUcontext, with some exceptions listed below. Interoperability between data types is discussed in the following sections. - -The function cudaPointerGetAttributes() will return the error cudaErrorIncompatibleDriverContext if the pointer being queried was allocated by a non-primary context. The function cudaDeviceEnablePeerAccess() and the rest of the peer access API may not be called when a non-primary ::CUcontext is current. - - To use the pointer query and peer access APIs with a context created using the CUDA Driver API, it is necessary that the CUDA Driver API be used to access these features. - -All CUDA Runtime API state (e.g, global variables' addresses and values) travels with its underlying ::CUcontext. In particular, if a ::CUcontext is moved from one thread to another then all CUDA Runtime API state will move to that thread as well. - -Please note that attaching to legacy contexts (those with a version of 3010 as returned by ::cuCtxGetApiVersion()) is not possible. The CUDA Runtime will return cudaErrorIncompatibleDriverContext in such cases. - - - - - -**Interactions between CUstream and cudaStream_t** - - - -The types ::CUstream and cudaStream_t are identical and may be used interchangeably. - - - - - -**Interactions between CUevent and cudaEvent_t** - - - -The types ::CUevent and cudaEvent_t are identical and may be used interchangeably. - - - - - -**Interactions between CUarray and cudaArray_t** - - - -The types ::CUarray and struct ::cudaArray * represent the same data type and may be used interchangeably by casting the two types between each other. - -In order to use a ::CUarray in a CUDA Runtime API function which takes a struct ::cudaArray *, it is necessary to explicitly cast the ::CUarray to a struct ::cudaArray *. - -In order to use a struct ::cudaArray * in a CUDA Driver API function which takes a ::CUarray, it is necessary to explicitly cast the struct ::cudaArray * to a ::CUarray . - - - - - -**Interactions between CUgraphicsResource and cudaGraphicsResource_t** - - - -The types ::CUgraphicsResource and cudaGraphicsResource_t represent the same data type and may be used interchangeably by casting the two types between each other. - -In order to use a ::CUgraphicsResource in a CUDA Runtime API function which takes a cudaGraphicsResource_t, it is necessary to explicitly cast the ::CUgraphicsResource to a cudaGraphicsResource_t. - -In order to use a cudaGraphicsResource_t in a CUDA Driver API function which takes a ::CUgraphicsResource, it is necessary to explicitly cast the cudaGraphicsResource_t to a ::CUgraphicsResource. - - - - - -**Interactions between CUtexObject and cudaTextureObject_t** - - - -The types ::CUtexObject and cudaTextureObject_t represent the same data type and may be used interchangeably by casting the two types between each other. - -In order to use a ::CUtexObject in a CUDA Runtime API function which takes a cudaTextureObject_t, it is necessary to explicitly cast the ::CUtexObject to a cudaTextureObject_t. - -In order to use a cudaTextureObject_t in a CUDA Driver API function which takes a ::CUtexObject, it is necessary to explicitly cast the cudaTextureObject_t to a ::CUtexObject. - - - - - -**Interactions between CUsurfObject and cudaSurfaceObject_t** - - - -The types ::CUsurfObject and cudaSurfaceObject_t represent the same data type and may be used interchangeably by casting the two types between each other. - -In order to use a ::CUsurfObject in a CUDA Runtime API function which takes a cudaSurfaceObject_t, it is necessary to explicitly cast the ::CUsurfObject to a cudaSurfaceObject_t. - -In order to use a cudaSurfaceObject_t in a CUDA Driver API function which takes a ::CUsurfObject, it is necessary to explicitly cast the cudaSurfaceObject_t to a ::CUsurfObject. - - - - - -**Interactions between CUfunction and cudaFunction_t** - - - -The types ::CUfunction and cudaFunction_t represent the same data type and may be used interchangeably by casting the two types between each other. - -In order to use a cudaFunction_t in a CUDA Driver API function which takes a ::CUfunction, it is necessary to explicitly cast the cudaFunction_t to a ::CUfunction. - -.. autofunction:: cuda.bindings.runtime.cudaGetKernel - -Data types used by CUDA Runtime -------------------------------- - - - -.. autoclass:: cuda.bindings.runtime.cudaEglPlaneDesc_st -.. autoclass:: cuda.bindings.runtime.cudaEglFrame_st -.. autoclass:: cuda.bindings.runtime.cudaChannelFormatDesc -.. autoclass:: cuda.bindings.runtime.cudaArraySparseProperties -.. autoclass:: cuda.bindings.runtime.cudaArrayMemoryRequirements -.. autoclass:: cuda.bindings.runtime.cudaPitchedPtr -.. autoclass:: cuda.bindings.runtime.cudaExtent -.. autoclass:: cuda.bindings.runtime.cudaPos -.. autoclass:: cuda.bindings.runtime.cudaMemcpy3DParms -.. autoclass:: cuda.bindings.runtime.cudaMemcpyNodeParams -.. autoclass:: cuda.bindings.runtime.cudaMemcpy3DPeerParms -.. autoclass:: cuda.bindings.runtime.cudaMemsetParams -.. autoclass:: cuda.bindings.runtime.cudaMemsetParamsV2 -.. autoclass:: cuda.bindings.runtime.cudaAccessPolicyWindow -.. autoclass:: cuda.bindings.runtime.cudaHostNodeParams -.. autoclass:: cuda.bindings.runtime.cudaHostNodeParamsV2 -.. autoclass:: cuda.bindings.runtime.cudaResourceDesc -.. autoclass:: cuda.bindings.runtime.cudaResourceViewDesc -.. autoclass:: cuda.bindings.runtime.cudaPointerAttributes -.. autoclass:: cuda.bindings.runtime.cudaFuncAttributes -.. autoclass:: cuda.bindings.runtime.cudaMemLocation -.. autoclass:: cuda.bindings.runtime.cudaMemAccessDesc -.. autoclass:: cuda.bindings.runtime.cudaMemPoolProps -.. autoclass:: cuda.bindings.runtime.cudaMemPoolPtrExportData -.. autoclass:: cuda.bindings.runtime.cudaMemAllocNodeParams -.. autoclass:: cuda.bindings.runtime.cudaMemAllocNodeParamsV2 -.. autoclass:: cuda.bindings.runtime.cudaMemFreeNodeParams -.. autoclass:: cuda.bindings.runtime.CUuuid_st -.. autoclass:: cuda.bindings.runtime.cudaDeviceProp -.. autoclass:: cuda.bindings.runtime.cudaIpcEventHandle_st -.. autoclass:: cuda.bindings.runtime.cudaIpcMemHandle_st -.. autoclass:: cuda.bindings.runtime.cudaMemFabricHandle_st -.. autoclass:: cuda.bindings.runtime.cudaExternalMemoryHandleDesc -.. autoclass:: cuda.bindings.runtime.cudaExternalMemoryBufferDesc -.. autoclass:: cuda.bindings.runtime.cudaExternalMemoryMipmappedArrayDesc -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreHandleDesc -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreSignalParams -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreWaitParams -.. autoclass:: cuda.bindings.runtime.cudaKernelNodeParams -.. autoclass:: cuda.bindings.runtime.cudaKernelNodeParamsV2 -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreSignalNodeParams -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreSignalNodeParamsV2 -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreWaitNodeParams -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreWaitNodeParamsV2 -.. autoclass:: cuda.bindings.runtime.cudaConditionalNodeParams -.. autoclass:: cuda.bindings.runtime.cudaChildGraphNodeParams -.. autoclass:: cuda.bindings.runtime.cudaEventRecordNodeParams -.. autoclass:: cuda.bindings.runtime.cudaEventWaitNodeParams -.. autoclass:: cuda.bindings.runtime.cudaGraphNodeParams -.. autoclass:: cuda.bindings.runtime.cudaGraphEdgeData_st -.. autoclass:: cuda.bindings.runtime.cudaGraphInstantiateParams_st -.. autoclass:: cuda.bindings.runtime.cudaGraphExecUpdateResultInfo_st -.. autoclass:: cuda.bindings.runtime.cudaGraphKernelNodeUpdate -.. autoclass:: cuda.bindings.runtime.cudaLaunchMemSyncDomainMap_st -.. autoclass:: cuda.bindings.runtime.cudaLaunchAttributeValue -.. autoclass:: cuda.bindings.runtime.cudaLaunchAttribute_st -.. autoclass:: cuda.bindings.runtime.cudaAsyncNotificationInfo -.. autoclass:: cuda.bindings.runtime.cudaTextureDesc -.. autoclass:: cuda.bindings.runtime.cudaEglFrameType - - .. autoattribute:: cuda.bindings.runtime.cudaEglFrameType.cudaEglFrameTypeArray - - - Frame type CUDA array - - - .. autoattribute:: cuda.bindings.runtime.cudaEglFrameType.cudaEglFrameTypePitch - - - Frame type CUDA pointer - -.. autoclass:: cuda.bindings.runtime.cudaEglResourceLocationFlags - - .. autoattribute:: cuda.bindings.runtime.cudaEglResourceLocationFlags.cudaEglResourceLocationSysmem - - - Resource location sysmem - - - .. autoattribute:: cuda.bindings.runtime.cudaEglResourceLocationFlags.cudaEglResourceLocationVidmem - - - Resource location vidmem - -.. autoclass:: cuda.bindings.runtime.cudaEglColorFormat - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420Planar - - - Y, U, V in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420SemiPlanar - - - Y, UV in two surfaces (UV as one surface) with VU byte ordering, width, height ratio same as YUV420Planar. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV422Planar - - - Y, U, V each in a separate surface, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV422SemiPlanar - - - Y, UV in two surfaces with VU byte ordering, width, height ratio same as YUV422Planar. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatARGB - - - R/G/B/A four channels in one surface with BGRA byte ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatRGBA - - - R/G/B/A four channels in one surface with ABGR byte ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatL - - - single luminance channel in one surface. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatR - - - single color channel in one surface. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV444Planar - - - Y, U, V in three surfaces, each in a separate surface, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV444SemiPlanar - - - Y, UV in two surfaces (UV as one surface) with VU byte ordering, width, height ratio same as YUV444Planar. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUYV422 - - - Y, U, V in one surface, interleaved as UYVY in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatUYVY422 - - - Y, U, V in one surface, interleaved as YUYV in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatABGR - - - R/G/B/A four channels in one surface with RGBA byte ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBGRA - - - R/G/B/A four channels in one surface with ARGB byte ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatA - - - Alpha color format - one channel in one surface. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatRG - - - R/G color format - two channels in one surface with GR byte ordering - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatAYUV - - - Y, U, V, A four channels in one surface, interleaved as VUYA. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU444SemiPlanar - - - Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU422SemiPlanar - - - Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420SemiPlanar - - - Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_444SemiPlanar - - - Y10, V10U10 in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_420SemiPlanar - - - Y10, V10U10 in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12V12U12_444SemiPlanar - - - Y12, V12U12 in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12V12U12_420SemiPlanar - - - Y12, V12U12 in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatVYUY_ER - - - Extended Range Y, U, V in one surface, interleaved as YVYU in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatUYVY_ER - - - Extended Range Y, U, V in one surface, interleaved as YUYV in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUYV_ER - - - Extended Range Y, U, V in one surface, interleaved as UYVY in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVYU_ER - - - Extended Range Y, U, V in one surface, interleaved as VYUY in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUVA_ER - - - Extended Range Y, U, V, A four channels in one surface, interleaved as AVUY. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatAYUV_ER - - - Extended Range Y, U, V, A four channels in one surface, interleaved as VUYA. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV444Planar_ER - - - Extended Range Y, U, V in three surfaces, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV422Planar_ER - - - Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420Planar_ER - - - Extended Range Y, U, V in three surfaces, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV444SemiPlanar_ER - - - Extended Range Y, UV in two surfaces (UV as one surface) with VU byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV422SemiPlanar_ER - - - Extended Range Y, UV in two surfaces (UV as one surface) with VU byte ordering, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420SemiPlanar_ER - - - Extended Range Y, UV in two surfaces (UV as one surface) with VU byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU444Planar_ER - - - Extended Range Y, V, U in three surfaces, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU422Planar_ER - - - Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420Planar_ER - - - Extended Range Y, V, U in three surfaces, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU444SemiPlanar_ER - - - Extended Range Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU422SemiPlanar_ER - - - Extended Range Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420SemiPlanar_ER - - - Extended Range Y, VU in two surfaces (VU as one surface) with UV byte ordering, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerRGGB - - - Bayer format - one channel in one surface with interleaved RGGB ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerBGGR - - - Bayer format - one channel in one surface with interleaved BGGR ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerGRBG - - - Bayer format - one channel in one surface with interleaved GRBG ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerGBRG - - - Bayer format - one channel in one surface with interleaved GBRG ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer10RGGB - - - Bayer10 format - one channel in one surface with interleaved RGGB ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer10BGGR - - - Bayer10 format - one channel in one surface with interleaved BGGR ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer10GRBG - - - Bayer10 format - one channel in one surface with interleaved GRBG ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer10GBRG - - - Bayer10 format - one channel in one surface with interleaved GBRG ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12RGGB - - - Bayer12 format - one channel in one surface with interleaved RGGB ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12BGGR - - - Bayer12 format - one channel in one surface with interleaved BGGR ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12GRBG - - - Bayer12 format - one channel in one surface with interleaved GRBG ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12GBRG - - - Bayer12 format - one channel in one surface with interleaved GBRG ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer14RGGB - - - Bayer14 format - one channel in one surface with interleaved RGGB ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer14BGGR - - - Bayer14 format - one channel in one surface with interleaved BGGR ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer14GRBG - - - Bayer14 format - one channel in one surface with interleaved GRBG ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer14GBRG - - - Bayer14 format - one channel in one surface with interleaved GBRG ordering. Out of 16 bits, 14 bits used 2 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer20RGGB - - - Bayer20 format - one channel in one surface with interleaved RGGB ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer20BGGR - - - Bayer20 format - one channel in one surface with interleaved BGGR ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer20GRBG - - - Bayer20 format - one channel in one surface with interleaved GRBG ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer20GBRG - - - Bayer20 format - one channel in one surface with interleaved GBRG ordering. Out of 32 bits, 20 bits used 12 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU444Planar - - - Y, V, U in three surfaces, each in a separate surface, U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU422Planar - - - Y, V, U in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420Planar - - - Y, V, U in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerIspRGGB - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved RGGB ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerIspBGGR - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved BGGR ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerIspGRBG - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved GRBG ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerIspGBRG - - - Nvidia proprietary Bayer ISP format - one channel in one surface with interleaved GBRG ordering and mapped to opaque integer datatype. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerBCCR - - - Bayer format - one channel in one surface with interleaved BCCR ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerRCCB - - - Bayer format - one channel in one surface with interleaved RCCB ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerCRBC - - - Bayer format - one channel in one surface with interleaved CRBC ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayerCBRC - - - Bayer format - one channel in one surface with interleaved CBRC ordering. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer10CCCC - - - Bayer10 format - one channel in one surface with interleaved CCCC ordering. Out of 16 bits, 10 bits used 6 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12BCCR - - - Bayer12 format - one channel in one surface with interleaved BCCR ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12RCCB - - - Bayer12 format - one channel in one surface with interleaved RCCB ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12CRBC - - - Bayer12 format - one channel in one surface with interleaved CRBC ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12CBRC - - - Bayer12 format - one channel in one surface with interleaved CBRC ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatBayer12CCCC - - - Bayer12 format - one channel in one surface with interleaved CCCC ordering. Out of 16 bits, 12 bits used 4 bits No-op. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY - - - Color format for single Y plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420SemiPlanar_2020 - - - Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420SemiPlanar_2020 - - - Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420Planar_2020 - - - Y, U, V in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420Planar_2020 - - - Y, V, U in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420SemiPlanar_709 - - - Y, UV in two surfaces (UV as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420SemiPlanar_709 - - - Y, VU in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUV420Planar_709 - - - Y, U, V in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVU420Planar_709 - - - Y, V, U in three surfaces, each in a separate surface, U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_420SemiPlanar_709 - - - Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_420SemiPlanar_2020 - - - Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_422SemiPlanar_2020 - - - Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_422SemiPlanar - - - Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_422SemiPlanar_709 - - - Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY_ER - - - Extended Range Color format for single Y plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY_709_ER - - - Extended Range Color format for single Y plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10_ER - - - Extended Range Color format for single Y10 plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10_709_ER - - - Extended Range Color format for single Y10 plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12_ER - - - Extended Range Color format for single Y12 plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12_709_ER - - - Extended Range Color format for single Y12 plane. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYUVA - - - Y, U, V, A four channels in one surface, interleaved as AVUY. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatYVYU - - - Y, U, V in one surface, interleaved as YVYU in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatVYUY - - - Y, U, V in one surface, interleaved as VYUY in one channel. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_420SemiPlanar_ER - - - Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_420SemiPlanar_709_ER - - - Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_444SemiPlanar_ER - - - Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY10V10U10_444SemiPlanar_709_ER - - - Extended Range Y10, V10U10 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12V12U12_420SemiPlanar_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12V12U12_420SemiPlanar_709_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = 1/2 Y width, U/V height = 1/2 Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12V12U12_444SemiPlanar_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - - - .. autoattribute:: cuda.bindings.runtime.cudaEglColorFormat.cudaEglColorFormatY12V12U12_444SemiPlanar_709_ER - - - Extended Range Y12, V12U12 in two surfaces (VU as one surface) U/V width = Y width, U/V height = Y height. - -.. autoclass:: cuda.bindings.runtime.cudaError_t - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaSuccess - - - The API call returned with no errors. In the case of query calls, this also means that the operation being queried is complete (see :py:obj:`~.cudaEventQuery()` and :py:obj:`~.cudaStreamQuery()`). - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidValue - - - This indicates that one or more of the parameters passed to the API call is not within an acceptable range of values. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMemoryAllocation - - - The API call failed because it was unable to allocate enough memory or other resources to perform the requested operation. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInitializationError - - - The API call failed because the CUDA driver and runtime could not be initialized. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCudartUnloading - - - This indicates that a CUDA Runtime API call cannot be executed because it is being called during process shut down, at a point in time after CUDA driver has been unloaded. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorProfilerDisabled - - - This indicates profiler is not initialized for this run. This can happen when the application is running with external profiling tools like visual profiler. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorProfilerNotInitialized - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorProfilerAlreadyStarted - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorProfilerAlreadyStopped - - - [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidConfiguration - - - This indicates that a kernel launch is requesting resources that can never be satisfied by the current device. Requesting more shared memory per block than the device supports will trigger this error, as will requesting too many threads or blocks. See :py:obj:`~.cudaDeviceProp` for more device limitations. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidPitchValue - - - This indicates that one or more of the pitch-related parameters passed to the API call is not within the acceptable range for pitch. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidSymbol - - - This indicates that the symbol name/identifier passed to the API call is not a valid name or identifier. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidHostPointer - - - This indicates that at least one host pointer passed to the API call is not a valid host pointer. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidDevicePointer - - - This indicates that at least one device pointer passed to the API call is not a valid device pointer. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidTexture - - - This indicates that the texture passed to the API call is not a valid texture. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidTextureBinding - - - This indicates that the texture binding is not valid. This occurs if you call :py:obj:`~.cudaGetTextureAlignmentOffset()` with an unbound texture. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidChannelDescriptor - - - This indicates that the channel descriptor passed to the API call is not valid. This occurs if the format is not one of the formats specified by :py:obj:`~.cudaChannelFormatKind`, or if one of the dimensions is invalid. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidMemcpyDirection - - - This indicates that the direction of the memcpy passed to the API call is not one of the types specified by :py:obj:`~.cudaMemcpyKind`. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorAddressOfConstant - - - This indicated that the user has taken the address of a constant variable, which was forbidden up until the CUDA 3.1 release. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorTextureFetchFailed - - - This indicated that a texture fetch was not able to be performed. This was previously used for device emulation of texture operations. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorTextureNotBound - - - This indicated that a texture was not bound for access. This was previously used for device emulation of texture operations. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSynchronizationError - - - This indicated that a synchronization operation had failed. This was previously used for some device emulation functions. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidFilterSetting - - - This indicates that a non-float texture was being accessed with linear filtering. This is not supported by CUDA. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidNormSetting - - - This indicates that an attempt was made to read a non-float texture as a normalized float. This is not supported by CUDA. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMixedDeviceExecution - - - Mixing of device and device emulation code was not allowed. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotYetImplemented - - - This indicates that the API call is not yet implemented. Production releases of CUDA will never return this error. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMemoryValueTooLarge - - - This indicated that an emulated device pointer exceeded the 32-bit address range. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStubLibrary - - - This indicates that the CUDA driver that the application has loaded is a stub library. Applications that run with the stub rather than a real driver loaded will result in CUDA API returning this error. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInsufficientDriver - - - This indicates that the installed NVIDIA CUDA driver is older than the CUDA runtime library. This is not a supported configuration. Users should install an updated NVIDIA display driver to allow the application to run. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCallRequiresNewerDriver - - - This indicates that the API call requires a newer CUDA driver than the one currently installed. Users should install an updated NVIDIA CUDA driver to allow the API call to succeed. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidSurface - - - This indicates that the surface passed to the API call is not a valid surface. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDuplicateVariableName - - - This indicates that multiple global or constant variables (across separate CUDA source files in the application) share the same string name. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDuplicateTextureName - - - This indicates that multiple textures (across separate CUDA source files in the application) share the same string name. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDuplicateSurfaceName - - - This indicates that multiple surfaces (across separate CUDA source files in the application) share the same string name. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDevicesUnavailable - - - This indicates that all CUDA devices are busy or unavailable at the current time. Devices are often busy/unavailable due to use of :py:obj:`~.cudaComputeModeProhibited`, :py:obj:`~.cudaComputeModeExclusiveProcess`, or when long running CUDA kernels have filled up the GPU and are blocking new work from starting. They can also be unavailable due to memory constraints on a device that already has active CUDA work being performed. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorIncompatibleDriverContext - - - This indicates that the current context is not compatible with this the CUDA Runtime. This can only occur if you are using CUDA Runtime/Driver interoperability and have created an existing Driver context using the driver API. The Driver context may be incompatible either because the Driver context was created using an older version of the API, because the Runtime API call expects a primary driver context and the Driver context is not primary, or because the Driver context has been destroyed. Please see :py:obj:`~.Interactions`with the CUDA Driver API" for more information. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMissingConfiguration - - - The device function being invoked (usually via :py:obj:`~.cudaLaunchKernel()`) was not previously configured via the :py:obj:`~.cudaConfigureCall()` function. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorPriorLaunchFailure - - - This indicated that a previous kernel launch failed. This was previously used for device emulation of kernel launches. [Deprecated] - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchMaxDepthExceeded - - - This error indicates that a device runtime grid launch did not occur because the depth of the child grid would exceed the maximum supported number of nested grid launches. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchFileScopedTex - - - This error indicates that a grid launch did not occur because the kernel uses file-scoped textures which are unsupported by the device runtime. Kernels launched via the device runtime only support textures created with the Texture Object API's. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchFileScopedSurf - - - This error indicates that a grid launch did not occur because the kernel uses file-scoped surfaces which are unsupported by the device runtime. Kernels launched via the device runtime only support surfaces created with the Surface Object API's. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSyncDepthExceeded - - - This error indicates that a call to :py:obj:`~.cudaDeviceSynchronize` made from the device runtime failed because the call was made at grid depth greater than than either the default (2 levels of grids) or user specified device limit :py:obj:`~.cudaLimitDevRuntimeSyncDepth`. To be able to synchronize on launched grids at a greater depth successfully, the maximum nested depth at which :py:obj:`~.cudaDeviceSynchronize` will be called must be specified with the :py:obj:`~.cudaLimitDevRuntimeSyncDepth` limit to the :py:obj:`~.cudaDeviceSetLimit` api before the host-side launch of a kernel using the device runtime. Keep in mind that additional levels of sync depth require the runtime to reserve large amounts of device memory that cannot be used for user allocations. Note that :py:obj:`~.cudaDeviceSynchronize` made from device runtime is only supported on devices of compute capability < 9.0. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchPendingCountExceeded - - - This error indicates that a device runtime grid launch failed because the launch would exceed the limit :py:obj:`~.cudaLimitDevRuntimePendingLaunchCount`. For this launch to proceed successfully, :py:obj:`~.cudaDeviceSetLimit` must be called to set the :py:obj:`~.cudaLimitDevRuntimePendingLaunchCount` to be higher than the upper bound of outstanding launches that can be issued to the device runtime. Keep in mind that raising the limit of pending device runtime launches will require the runtime to reserve device memory that cannot be used for user allocations. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidDeviceFunction - - - The requested device function does not exist or is not compiled for the proper device architecture. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNoDevice - - - This indicates that no CUDA-capable devices were detected by the installed CUDA driver. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidDevice - - - This indicates that the device ordinal supplied by the user does not correspond to a valid CUDA device or that the action requested is invalid for the specified device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDeviceNotLicensed - - - This indicates that the device doesn't have a valid Grid License. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSoftwareValidityNotEstablished - - - By default, the CUDA runtime may perform a minimal set of self-tests, as well as CUDA driver tests, to establish the validity of both. Introduced in CUDA 11.2, this error return indicates that at least one of these tests has failed and the validity of either the runtime or the driver could not be established. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStartupFailure - - - This indicates an internal startup failure in the CUDA runtime. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidKernelImage - - - This indicates that the device kernel image is invalid. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDeviceUninitialized - - - This most frequently indicates that there is no context bound to the current thread. This can also be returned if the context passed to an API call is not a valid handle (such as a context that has had :py:obj:`~.cuCtxDestroy()` invoked on it). This can also be returned if a user mixes different API versions (i.e. 3010 context with 3020 API calls). See :py:obj:`~.cuCtxGetApiVersion()` for more details. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMapBufferObjectFailed - - - This indicates that the buffer object could not be mapped. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorUnmapBufferObjectFailed - - - This indicates that the buffer object could not be unmapped. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorArrayIsMapped - - - This indicates that the specified array is currently mapped and thus cannot be destroyed. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorAlreadyMapped - - - This indicates that the resource is already mapped. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNoKernelImageForDevice - - - This indicates that there is no kernel image available that is suitable for the device. This can occur when a user specifies code generation options for a particular CUDA source file that do not include the corresponding device configuration. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorAlreadyAcquired - - - This indicates that a resource has already been acquired. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotMapped - - - This indicates that a resource is not mapped. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotMappedAsArray - - - This indicates that a mapped resource is not available for access as an array. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotMappedAsPointer - - - This indicates that a mapped resource is not available for access as a pointer. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorECCUncorrectable - - - This indicates that an uncorrectable ECC error was detected during execution. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorUnsupportedLimit - - - This indicates that the :py:obj:`~.cudaLimit` passed to the API call is not supported by the active device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorDeviceAlreadyInUse - - - This indicates that a call tried to access an exclusive-thread device that is already in use by a different thread. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorPeerAccessUnsupported - - - This error indicates that P2P access is not supported across the given devices. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidPtx - - - A PTX compilation failed. The runtime may fall back to compiling PTX if an application does not contain a suitable binary for the current device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidGraphicsContext - - - This indicates an error with the OpenGL or DirectX context. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNvlinkUncorrectable - - - This indicates that an uncorrectable NVLink error was detected during the execution. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorJitCompilerNotFound - - - This indicates that the PTX JIT compiler library was not found. The JIT Compiler library is used for PTX compilation. The runtime may fall back to compiling PTX if an application does not contain a suitable binary for the current device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorUnsupportedPtxVersion - - - This indicates that the provided PTX was compiled with an unsupported toolchain. The most common reason for this, is the PTX was generated by a compiler newer than what is supported by the CUDA driver and PTX JIT compiler. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorJitCompilationDisabled - - - This indicates that the JIT compilation was disabled. The JIT compilation compiles PTX. The runtime may fall back to compiling PTX if an application does not contain a suitable binary for the current device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorUnsupportedExecAffinity - - - This indicates that the provided execution affinity is not supported by the device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorUnsupportedDevSideSync - - - This indicates that the code to be compiled by the PTX JIT contains unsupported call to cudaDeviceSynchronize. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidSource - - - This indicates that the device kernel source is invalid. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorFileNotFound - - - This indicates that the file specified was not found. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSharedObjectSymbolNotFound - - - This indicates that a link to a shared object failed to resolve. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSharedObjectInitFailed - - - This indicates that initialization of a shared object failed. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorOperatingSystem - - - This error indicates that an OS call failed. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidResourceHandle - - - This indicates that a resource handle passed to the API call was not valid. Resource handles are opaque types like :py:obj:`~.cudaStream_t` and :py:obj:`~.cudaEvent_t`. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorIllegalState - - - This indicates that a resource required by the API call is not in a valid state to perform the requested operation. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLossyQuery - - - This indicates an attempt was made to introspect an object in a way that would discard semantically important information. This is either due to the object using funtionality newer than the API version used to introspect it or omission of optional return arguments. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSymbolNotFound - - - This indicates that a named symbol was not found. Examples of symbols are global/constant variable names, driver function names, texture names, and surface names. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotReady - - - This indicates that asynchronous operations issued previously have not completed yet. This result is not actually an error, but must be indicated differently than :py:obj:`~.cudaSuccess` (which indicates completion). Calls that may return this value include :py:obj:`~.cudaEventQuery()` and :py:obj:`~.cudaStreamQuery()`. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorIllegalAddress - - - The device encountered a load or store instruction on an invalid memory address. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchOutOfResources - - - This indicates that a launch did not occur because it did not have appropriate resources. Although this error is similar to :py:obj:`~.cudaErrorInvalidConfiguration`, this error usually indicates that the user has attempted to pass too many arguments to the device kernel, or the kernel launch specifies too many threads for the kernel's register count. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchTimeout - - - This indicates that the device kernel took too long to execute. This can only occur if timeouts are enabled - see the device property :py:obj:`~.kernelExecTimeoutEnabled` for more information. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchIncompatibleTexturing - - - This error indicates a kernel launch that uses an incompatible texturing mode. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorPeerAccessAlreadyEnabled - - - This error indicates that a call to :py:obj:`~.cudaDeviceEnablePeerAccess()` is trying to re-enable peer addressing on from a context which has already had peer addressing enabled. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorPeerAccessNotEnabled - - - This error indicates that :py:obj:`~.cudaDeviceDisablePeerAccess()` is trying to disable peer addressing which has not been enabled yet via :py:obj:`~.cudaDeviceEnablePeerAccess()`. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSetOnActiveProcess - - - This indicates that the user has called :py:obj:`~.cudaSetValidDevices()`, :py:obj:`~.cudaSetDeviceFlags()`, :py:obj:`~.cudaD3D9SetDirect3DDevice()`, :py:obj:`~.cudaD3D10SetDirect3DDevice`, :py:obj:`~.cudaD3D11SetDirect3DDevice()`, or :py:obj:`~.cudaVDPAUSetVDPAUDevice()` after initializing the CUDA runtime by calling non-device management operations (allocating memory and launching kernels are examples of non-device management operations). This error can also be returned if using runtime/driver interoperability and there is an existing :py:obj:`~.CUcontext` active on the host thread. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorContextIsDestroyed - - - This error indicates that the context current to the calling thread has been destroyed using :py:obj:`~.cuCtxDestroy`, or is a primary context which has not yet been initialized. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorAssert - - - An assert triggered in device code during kernel execution. The device cannot be used again. All existing allocations are invalid. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorTooManyPeers - - - This error indicates that the hardware resources required to enable peer access have been exhausted for one or more of the devices passed to :py:obj:`~.cudaEnablePeerAccess()`. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorHostMemoryAlreadyRegistered - - - This error indicates that the memory range passed to :py:obj:`~.cudaHostRegister()` has already been registered. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorHostMemoryNotRegistered - - - This error indicates that the pointer passed to :py:obj:`~.cudaHostUnregister()` does not correspond to any currently registered memory region. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorHardwareStackError - - - Device encountered an error in the call stack during kernel execution, possibly due to stack corruption or exceeding the stack size limit. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorIllegalInstruction - - - The device encountered an illegal instruction during kernel execution This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMisalignedAddress - - - The device encountered a load or store instruction on a memory address which is not aligned. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidAddressSpace - - - While executing a kernel, the device encountered an instruction which can only operate on memory locations in certain address spaces (global, shared, or local), but was supplied a memory address not belonging to an allowed address space. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidPc - - - The device encountered an invalid program counter. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorLaunchFailure - - - An exception occurred on the device while executing a kernel. Common causes include dereferencing an invalid device pointer and accessing out of bounds shared memory. Less common cases can be system specific - more information about these cases can be found in the system specific user guide. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCooperativeLaunchTooLarge - - - This error indicates that the number of blocks launched per grid for a kernel that was launched via either :py:obj:`~.cudaLaunchCooperativeKernel` or :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice` exceeds the maximum number of blocks as allowed by :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessor` or :py:obj:`~.cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags` times the number of multiprocessors as specified by the device attribute :py:obj:`~.cudaDevAttrMultiProcessorCount`. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotPermitted - - - This error indicates the attempted operation is not permitted. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorNotSupported - - - This error indicates the attempted operation is not supported on the current system or device. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSystemNotReady - - - This error indicates that the system is not yet ready to start any CUDA work. To continue using CUDA, verify the system configuration is in a valid state and all required driver daemons are actively running. More information about this error can be found in the system specific user guide. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorSystemDriverMismatch - - - This error indicates that there is a mismatch between the versions of the display driver and the CUDA driver. Refer to the compatibility documentation for supported versions. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCompatNotSupportedOnDevice - - - This error indicates that the system was upgraded to run with forward compatibility but the visible hardware detected by CUDA does not support this configuration. Refer to the compatibility documentation for the supported hardware matrix or ensure that only supported hardware is visible during initialization via the CUDA_VISIBLE_DEVICES environment variable. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMpsConnectionFailed - - - This error indicates that the MPS client failed to connect to the MPS control daemon or the MPS server. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMpsRpcFailure - - - This error indicates that the remote procedural call between the MPS server and the MPS client failed. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMpsServerNotReady - - - This error indicates that the MPS server is not ready to accept new MPS client requests. This error can be returned when the MPS server is in the process of recovering from a fatal failure. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMpsMaxClientsReached - - - This error indicates that the hardware resources required to create MPS client have been exhausted. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMpsMaxConnectionsReached - - - This error indicates the the hardware resources required to device connections have been exhausted. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorMpsClientTerminated - - - This error indicates that the MPS client has been terminated by the server. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCdpNotSupported - - - This error indicates, that the program is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCdpVersionMismatch - - - This error indicates, that the program contains an unsupported interaction between different versions of CUDA Dynamic Parallelism. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureUnsupported - - - The operation is not permitted when the stream is capturing. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureInvalidated - - - The current capture sequence on the stream has been invalidated due to a previous error. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureMerge - - - The operation would have resulted in a merge of two independent capture sequences. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureUnmatched - - - The capture was not initiated in this stream. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureUnjoined - - - The capture sequence contains a fork that was not joined to the primary stream. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureIsolation - - - A dependency would have been created which crosses the capture sequence boundary. Only implicit in-stream ordering dependencies are allowed to cross the boundary. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureImplicit - - - The operation would have resulted in a disallowed implicit dependency on a current capture sequence from cudaStreamLegacy. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorCapturedEvent - - - The operation is not permitted on an event which was last recorded in a capturing stream. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorStreamCaptureWrongThread - - - A stream capture sequence not initiated with the :py:obj:`~.cudaStreamCaptureModeRelaxed` argument to :py:obj:`~.cudaStreamBeginCapture` was passed to :py:obj:`~.cudaStreamEndCapture` in a different thread. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorTimeout - - - This indicates that the wait operation has timed out. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorGraphExecUpdateFailure - - - This error indicates that the graph update was not performed because it included changes which violated constraints specific to instantiated graph update. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorExternalDevice - - - This indicates that an async error has occurred in a device outside of CUDA. If CUDA was waiting for an external device's signal before consuming shared data, the external device signaled an error indicating that the data is not valid for consumption. This leaves the process in an inconsistent state and any further CUDA work will return the same error. To continue using CUDA, the process must be terminated and relaunched. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidClusterSize - - - This indicates that a kernel launch error has occurred due to cluster misconfiguration. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorFunctionNotLoaded - - - Indiciates a function handle is not loaded when calling an API that requires a loaded function. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidResourceType - - - This error indicates one or more resources passed in are not valid resource types for the operation. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorInvalidResourceConfiguration - - - This error indicates one or more resources are insufficient or non-applicable for the operation. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorUnknown - - - This indicates that an unknown internal error has occurred. - - - .. autoattribute:: cuda.bindings.runtime.cudaError_t.cudaErrorApiFailureBase - -.. autoclass:: cuda.bindings.runtime.cudaChannelFormatKind - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSigned - - - Signed channel format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsigned - - - Unsigned channel format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindFloat - - - Float channel format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindNone - - - No channel format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindNV12 - - - Unsigned 8-bit integers, planar 4:2:0 YUV format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X1 - - - 1 channel unsigned 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X2 - - - 2 channel unsigned 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized8X4 - - - 4 channel unsigned 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X1 - - - 1 channel unsigned 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X2 - - - 2 channel unsigned 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedNormalized16X4 - - - 4 channel unsigned 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X1 - - - 1 channel signed 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X2 - - - 2 channel signed 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized8X4 - - - 4 channel signed 8-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X1 - - - 1 channel signed 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X2 - - - 2 channel signed 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedNormalized16X4 - - - 4 channel signed 16-bit normalized integer - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1 - - - 4 channel unsigned normalized block-compressed (BC1 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed1SRGB - - - 4 channel unsigned normalized block-compressed (BC1 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2 - - - 4 channel unsigned normalized block-compressed (BC2 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed2SRGB - - - 4 channel unsigned normalized block-compressed (BC2 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3 - - - 4 channel unsigned normalized block-compressed (BC3 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed3SRGB - - - 4 channel unsigned normalized block-compressed (BC3 compression) format with sRGB encoding - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed4 - - - 1 channel unsigned normalized block-compressed (BC4 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed4 - - - 1 channel signed normalized block-compressed (BC4 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed5 - - - 2 channel unsigned normalized block-compressed (BC5 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed5 - - - 2 channel signed normalized block-compressed (BC5 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed6H - - - 3 channel unsigned half-float block-compressed (BC6H compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindSignedBlockCompressed6H - - - 3 channel signed half-float block-compressed (BC6H compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7 - - - 4 channel unsigned normalized block-compressed (BC7 compression) format - - - .. autoattribute:: cuda.bindings.runtime.cudaChannelFormatKind.cudaChannelFormatKindUnsignedBlockCompressed7SRGB - - - 4 channel unsigned normalized block-compressed (BC7 compression) format with sRGB encoding - -.. autoclass:: cuda.bindings.runtime.cudaMemoryType - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryType.cudaMemoryTypeUnregistered - - - Unregistered memory - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryType.cudaMemoryTypeHost - - - Host memory - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryType.cudaMemoryTypeDevice - - - Device memory - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryType.cudaMemoryTypeManaged - - - Managed memory - -.. autoclass:: cuda.bindings.runtime.cudaMemcpyKind - - .. autoattribute:: cuda.bindings.runtime.cudaMemcpyKind.cudaMemcpyHostToHost - - - Host -> Host - - - .. autoattribute:: cuda.bindings.runtime.cudaMemcpyKind.cudaMemcpyHostToDevice - - - Host -> Device - - - .. autoattribute:: cuda.bindings.runtime.cudaMemcpyKind.cudaMemcpyDeviceToHost - - - Device -> Host - - - .. autoattribute:: cuda.bindings.runtime.cudaMemcpyKind.cudaMemcpyDeviceToDevice - - - Device -> Device - - - .. autoattribute:: cuda.bindings.runtime.cudaMemcpyKind.cudaMemcpyDefault - - - Direction of the transfer is inferred from the pointer values. Requires unified virtual addressing - -.. autoclass:: cuda.bindings.runtime.cudaAccessProperty - - .. autoattribute:: cuda.bindings.runtime.cudaAccessProperty.cudaAccessPropertyNormal - - - Normal cache persistence. - - - .. autoattribute:: cuda.bindings.runtime.cudaAccessProperty.cudaAccessPropertyStreaming - - - Streaming access is less likely to persit from cache. - - - .. autoattribute:: cuda.bindings.runtime.cudaAccessProperty.cudaAccessPropertyPersisting - - - Persisting access is more likely to persist in cache. - -.. autoclass:: cuda.bindings.runtime.cudaStreamCaptureStatus - - .. autoattribute:: cuda.bindings.runtime.cudaStreamCaptureStatus.cudaStreamCaptureStatusNone - - - Stream is not capturing - - - .. autoattribute:: cuda.bindings.runtime.cudaStreamCaptureStatus.cudaStreamCaptureStatusActive - - - Stream is actively capturing - - - .. autoattribute:: cuda.bindings.runtime.cudaStreamCaptureStatus.cudaStreamCaptureStatusInvalidated - - - Stream is part of a capture sequence that has been invalidated, but not terminated - -.. autoclass:: cuda.bindings.runtime.cudaStreamCaptureMode - - .. autoattribute:: cuda.bindings.runtime.cudaStreamCaptureMode.cudaStreamCaptureModeGlobal - - - .. autoattribute:: cuda.bindings.runtime.cudaStreamCaptureMode.cudaStreamCaptureModeThreadLocal - - - .. autoattribute:: cuda.bindings.runtime.cudaStreamCaptureMode.cudaStreamCaptureModeRelaxed - -.. autoclass:: cuda.bindings.runtime.cudaSynchronizationPolicy - - .. autoattribute:: cuda.bindings.runtime.cudaSynchronizationPolicy.cudaSyncPolicyAuto - - - .. autoattribute:: cuda.bindings.runtime.cudaSynchronizationPolicy.cudaSyncPolicySpin - - - .. autoattribute:: cuda.bindings.runtime.cudaSynchronizationPolicy.cudaSyncPolicyYield - - - .. autoattribute:: cuda.bindings.runtime.cudaSynchronizationPolicy.cudaSyncPolicyBlockingSync - -.. autoclass:: cuda.bindings.runtime.cudaClusterSchedulingPolicy - - .. autoattribute:: cuda.bindings.runtime.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicyDefault - - - the default policy - - - .. autoattribute:: cuda.bindings.runtime.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicySpread - - - spread the blocks within a cluster to the SMs - - - .. autoattribute:: cuda.bindings.runtime.cudaClusterSchedulingPolicy.cudaClusterSchedulingPolicyLoadBalancing - - - allow the hardware to load-balance the blocks in a cluster to the SMs - -.. autoclass:: cuda.bindings.runtime.cudaStreamUpdateCaptureDependenciesFlags - - .. autoattribute:: cuda.bindings.runtime.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamAddCaptureDependencies - - - Add new nodes to the dependency set - - - .. autoattribute:: cuda.bindings.runtime.cudaStreamUpdateCaptureDependenciesFlags.cudaStreamSetCaptureDependencies - - - Replace the dependency set with the new nodes - -.. autoclass:: cuda.bindings.runtime.cudaUserObjectFlags - - .. autoattribute:: cuda.bindings.runtime.cudaUserObjectFlags.cudaUserObjectNoDestructorSync - - - Indicates the destructor execution is not synchronized by any CUDA handle. - -.. autoclass:: cuda.bindings.runtime.cudaUserObjectRetainFlags - - .. autoattribute:: cuda.bindings.runtime.cudaUserObjectRetainFlags.cudaGraphUserObjectMove - - - Transfer references from the caller rather than creating new references. - -.. autoclass:: cuda.bindings.runtime.cudaGraphicsRegisterFlags - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsNone - - - Default - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsReadOnly - - - CUDA will not write to this resource - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsWriteDiscard - - - CUDA will only write to and will not read from this resource - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsSurfaceLoadStore - - - CUDA will bind this resource to a surface reference - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsRegisterFlags.cudaGraphicsRegisterFlagsTextureGather - - - CUDA will perform texture gather operations on this resource - -.. autoclass:: cuda.bindings.runtime.cudaGraphicsMapFlags - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsMapFlags.cudaGraphicsMapFlagsNone - - - Default; Assume resource can be read/written - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsMapFlags.cudaGraphicsMapFlagsReadOnly - - - CUDA will not write to this resource - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsMapFlags.cudaGraphicsMapFlagsWriteDiscard - - - CUDA will only write to and will not read from this resource - -.. autoclass:: cuda.bindings.runtime.cudaGraphicsCubeFace - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveX - - - Positive X face of cubemap - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeX - - - Negative X face of cubemap - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveY - - - Positive Y face of cubemap - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeY - - - Negative Y face of cubemap - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsCubeFace.cudaGraphicsCubeFacePositiveZ - - - Positive Z face of cubemap - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphicsCubeFace.cudaGraphicsCubeFaceNegativeZ - - - Negative Z face of cubemap - -.. autoclass:: cuda.bindings.runtime.cudaResourceType - - .. autoattribute:: cuda.bindings.runtime.cudaResourceType.cudaResourceTypeArray - - - Array resource - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceType.cudaResourceTypeMipmappedArray - - - Mipmapped array resource - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceType.cudaResourceTypeLinear - - - Linear resource - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceType.cudaResourceTypePitch2D - - - Pitch 2D resource - -.. autoclass:: cuda.bindings.runtime.cudaResourceViewFormat - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatNone - - - No resource view format (use underlying resource format) - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedChar1 - - - 1 channel unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedChar2 - - - 2 channel unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedChar4 - - - 4 channel unsigned 8-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedChar1 - - - 1 channel signed 8-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedChar2 - - - 2 channel signed 8-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedChar4 - - - 4 channel signed 8-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedShort1 - - - 1 channel unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedShort2 - - - 2 channel unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedShort4 - - - 4 channel unsigned 16-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedShort1 - - - 1 channel signed 16-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedShort2 - - - 2 channel signed 16-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedShort4 - - - 4 channel signed 16-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedInt1 - - - 1 channel unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedInt2 - - - 2 channel unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedInt4 - - - 4 channel unsigned 32-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedInt1 - - - 1 channel signed 32-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedInt2 - - - 2 channel signed 32-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedInt4 - - - 4 channel signed 32-bit integers - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatHalf1 - - - 1 channel 16-bit floating point - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatHalf2 - - - 2 channel 16-bit floating point - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatHalf4 - - - 4 channel 16-bit floating point - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatFloat1 - - - 1 channel 32-bit floating point - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatFloat2 - - - 2 channel 32-bit floating point - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatFloat4 - - - 4 channel 32-bit floating point - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed1 - - - Block compressed 1 - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed2 - - - Block compressed 2 - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed3 - - - Block compressed 3 - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed4 - - - Block compressed 4 unsigned - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed4 - - - Block compressed 4 signed - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed5 - - - Block compressed 5 unsigned - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed5 - - - Block compressed 5 signed - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed6H - - - Block compressed 6 unsigned half-float - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatSignedBlockCompressed6H - - - Block compressed 6 signed half-float - - - .. autoattribute:: cuda.bindings.runtime.cudaResourceViewFormat.cudaResViewFormatUnsignedBlockCompressed7 - - - Block compressed 7 - -.. autoclass:: cuda.bindings.runtime.cudaFuncAttribute - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeMaxDynamicSharedMemorySize - - - Maximum dynamic shared memory size - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributePreferredSharedMemoryCarveout - - - Preferred shared memory-L1 cache split - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeClusterDimMustBeSet - - - Indicator to enforce valid cluster dimension specification on kernel launch - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeRequiredClusterWidth - - - Required cluster width - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeRequiredClusterHeight - - - Required cluster height - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeRequiredClusterDepth - - - Required cluster depth - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeNonPortableClusterSizeAllowed - - - Whether non-portable cluster scheduling policy is supported - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeClusterSchedulingPolicyPreference - - - Required cluster scheduling policy preference - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncAttribute.cudaFuncAttributeMax - -.. autoclass:: cuda.bindings.runtime.cudaFuncCache - - .. autoattribute:: cuda.bindings.runtime.cudaFuncCache.cudaFuncCachePreferNone - - - Default function cache configuration, no preference - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncCache.cudaFuncCachePreferShared - - - Prefer larger shared memory and smaller L1 cache - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncCache.cudaFuncCachePreferL1 - - - Prefer larger L1 cache and smaller shared memory - - - .. autoattribute:: cuda.bindings.runtime.cudaFuncCache.cudaFuncCachePreferEqual - - - Prefer equal size L1 cache and shared memory - -.. autoclass:: cuda.bindings.runtime.cudaSharedMemConfig - - .. autoattribute:: cuda.bindings.runtime.cudaSharedMemConfig.cudaSharedMemBankSizeDefault - - - .. autoattribute:: cuda.bindings.runtime.cudaSharedMemConfig.cudaSharedMemBankSizeFourByte - - - .. autoattribute:: cuda.bindings.runtime.cudaSharedMemConfig.cudaSharedMemBankSizeEightByte - -.. autoclass:: cuda.bindings.runtime.cudaSharedCarveout - - .. autoattribute:: cuda.bindings.runtime.cudaSharedCarveout.cudaSharedmemCarveoutDefault - - - No preference for shared memory or L1 (default) - - - .. autoattribute:: cuda.bindings.runtime.cudaSharedCarveout.cudaSharedmemCarveoutMaxShared - - - Prefer maximum available shared memory, minimum L1 cache - - - .. autoattribute:: cuda.bindings.runtime.cudaSharedCarveout.cudaSharedmemCarveoutMaxL1 - - - Prefer maximum available L1 cache, minimum shared memory - -.. autoclass:: cuda.bindings.runtime.cudaComputeMode - - .. autoattribute:: cuda.bindings.runtime.cudaComputeMode.cudaComputeModeDefault - - - Default compute mode (Multiple threads can use :py:obj:`~.cudaSetDevice()` with this device) - - - .. autoattribute:: cuda.bindings.runtime.cudaComputeMode.cudaComputeModeExclusive - - - Compute-exclusive-thread mode (Only one thread in one process will be able to use :py:obj:`~.cudaSetDevice()` with this device) - - - .. autoattribute:: cuda.bindings.runtime.cudaComputeMode.cudaComputeModeProhibited - - - Compute-prohibited mode (No threads can use :py:obj:`~.cudaSetDevice()` with this device) - - - .. autoattribute:: cuda.bindings.runtime.cudaComputeMode.cudaComputeModeExclusiveProcess - - - Compute-exclusive-process mode (Many threads in one process will be able to use :py:obj:`~.cudaSetDevice()` with this device) - -.. autoclass:: cuda.bindings.runtime.cudaLimit - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitStackSize - - - GPU thread stack size - - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitPrintfFifoSize - - - GPU printf FIFO size - - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitMallocHeapSize - - - GPU malloc heap size - - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitDevRuntimeSyncDepth - - - GPU device runtime synchronize depth - - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitDevRuntimePendingLaunchCount - - - GPU device runtime pending launch count - - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitMaxL2FetchGranularity - - - A value between 0 and 128 that indicates the maximum fetch granularity of L2 (in Bytes). This is a hint - - - .. autoattribute:: cuda.bindings.runtime.cudaLimit.cudaLimitPersistingL2CacheSize - - - A size in bytes for L2 persisting lines cache size - -.. autoclass:: cuda.bindings.runtime.cudaMemoryAdvise - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryAdvise.cudaMemAdviseSetReadMostly - - - Data will mostly be read and only occassionally be written to - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryAdvise.cudaMemAdviseUnsetReadMostly - - - Undo the effect of :py:obj:`~.cudaMemAdviseSetReadMostly` - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryAdvise.cudaMemAdviseSetPreferredLocation - - - Set the preferred location for the data as the specified device - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryAdvise.cudaMemAdviseUnsetPreferredLocation - - - Clear the preferred location for the data - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryAdvise.cudaMemAdviseSetAccessedBy - - - Data will be accessed by the specified device, so prevent page faults as much as possible - - - .. autoattribute:: cuda.bindings.runtime.cudaMemoryAdvise.cudaMemAdviseUnsetAccessedBy - - - Let the Unified Memory subsystem decide on the page faulting policy for the specified device - -.. autoclass:: cuda.bindings.runtime.cudaMemRangeAttribute - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributeReadMostly - - - Whether the range will mostly be read and only occassionally be written to - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocation - - - The preferred location of the range - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributeAccessedBy - - - Memory range has :py:obj:`~.cudaMemAdviseSetAccessedBy` set for specified device - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocation - - - The last location to which the range was prefetched - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocationType - - - The preferred location type of the range - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributePreferredLocationId - - - The preferred location id of the range - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocationType - - - The last location type to which the range was prefetched - - - .. autoattribute:: cuda.bindings.runtime.cudaMemRangeAttribute.cudaMemRangeAttributeLastPrefetchLocationId - - - The last location id to which the range was prefetched - -.. autoclass:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesOptions - - .. autoattribute:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionHost - - - :py:obj:`~.cudaDeviceFlushGPUDirectRDMAWrites()` and its CUDA Driver API counterpart are supported on the device. - - - .. autoattribute:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesOptions.cudaFlushGPUDirectRDMAWritesOptionMemOps - - - The :py:obj:`~.CU_STREAM_WAIT_VALUE_FLUSH` flag and the :py:obj:`~.CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES` MemOp are supported on the CUDA device. - -.. autoclass:: cuda.bindings.runtime.cudaGPUDirectRDMAWritesOrdering - - .. autoattribute:: cuda.bindings.runtime.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingNone - - - The device does not natively support ordering of GPUDirect RDMA writes. :py:obj:`~.cudaFlushGPUDirectRDMAWrites()` can be leveraged if supported. - - - .. autoattribute:: cuda.bindings.runtime.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingOwner - - - Natively, the device can consistently consume GPUDirect RDMA writes, although other CUDA devices may not. - - - .. autoattribute:: cuda.bindings.runtime.cudaGPUDirectRDMAWritesOrdering.cudaGPUDirectRDMAWritesOrderingAllDevices - - - Any CUDA device in the system can consistently consume GPUDirect RDMA writes to this device. - -.. autoclass:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesScope - - .. autoattribute:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToOwner - - - Blocks until remote writes are visible to the CUDA device context owning the data. - - - .. autoattribute:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesScope.cudaFlushGPUDirectRDMAWritesToAllDevices - - - Blocks until remote writes are visible to all CUDA device contexts. - -.. autoclass:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesTarget - - .. autoattribute:: cuda.bindings.runtime.cudaFlushGPUDirectRDMAWritesTarget.cudaFlushGPUDirectRDMAWritesTargetCurrentDevice - - - Sets the target for :py:obj:`~.cudaDeviceFlushGPUDirectRDMAWrites()` to the currently active CUDA device context. - -.. autoclass:: cuda.bindings.runtime.cudaDeviceAttr - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxThreadsPerBlock - - - Maximum number of threads per block - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxBlockDimX - - - Maximum block dimension X - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxBlockDimY - - - Maximum block dimension Y - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxBlockDimZ - - - Maximum block dimension Z - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxGridDimX - - - Maximum grid dimension X - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxGridDimY - - - Maximum grid dimension Y - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxGridDimZ - - - Maximum grid dimension Z - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlock - - - Maximum shared memory available per block in bytes - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrTotalConstantMemory - - - Memory available on device for constant variables in a CUDA C kernel in bytes - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrWarpSize - - - Warp size in threads - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxPitch - - - Maximum pitch in bytes allowed by memory copies - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxRegistersPerBlock - - - Maximum number of 32-bit registers available per block - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrClockRate - - - Peak clock frequency in kilohertz - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrTextureAlignment - - - Alignment requirement for textures - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrGpuOverlap - - - Device can possibly copy memory and execute a kernel concurrently - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMultiProcessorCount - - - Number of multiprocessors on device - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrKernelExecTimeout - - - Specifies whether there is a run time limit on kernels - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrIntegrated - - - Device is integrated with host memory - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrCanMapHostMemory - - - Device can map host memory into CUDA address space - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrComputeMode - - - Compute mode (See :py:obj:`~.cudaComputeMode` for details) - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture1DWidth - - - Maximum 1D texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DWidth - - - Maximum 2D texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DHeight - - - Maximum 2D texture height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidth - - - Maximum 3D texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeight - - - Maximum 3D texture height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepth - - - Maximum 3D texture depth - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredWidth - - - Maximum 2D layered texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredHeight - - - Maximum 2D layered texture height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DLayeredLayers - - - Maximum layers in a 2D layered texture - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrSurfaceAlignment - - - Alignment requirement for surfaces - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrConcurrentKernels - - - Device can possibly execute multiple kernels concurrently - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrEccEnabled - - - Device has ECC support enabled - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrPciBusId - - - PCI bus ID of the device - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrPciDeviceId - - - PCI device ID of the device - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrTccDriver - - - Device is using TCC driver model - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMemoryClockRate - - - Peak memory clock frequency in kilohertz - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrGlobalMemoryBusWidth - - - Global memory bus width in bits - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrL2CacheSize - - - Size of L2 cache in bytes - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxThreadsPerMultiProcessor - - - Maximum resident threads per multiprocessor - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrAsyncEngineCount - - - Number of asynchronous engines - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrUnifiedAddressing - - - Device shares a unified address space with the host - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredWidth - - - Maximum 1D layered texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture1DLayeredLayers - - - Maximum layers in a 1D layered texture - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherWidth - - - Maximum 2D texture width if cudaArrayTextureGather is set - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DGatherHeight - - - Maximum 2D texture height if cudaArrayTextureGather is set - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture3DWidthAlt - - - Alternate maximum 3D texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture3DHeightAlt - - - Alternate maximum 3D texture height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture3DDepthAlt - - - Alternate maximum 3D texture depth - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrPciDomainId - - - PCI domain ID of the device - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrTexturePitchAlignment - - - Pitch alignment requirement for textures - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapWidth - - - Maximum cubemap texture width/height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredWidth - - - Maximum cubemap layered texture width/height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTextureCubemapLayeredLayers - - - Maximum layers in a cubemap layered texture - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface1DWidth - - - Maximum 1D surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface2DWidth - - - Maximum 2D surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface2DHeight - - - Maximum 2D surface height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface3DWidth - - - Maximum 3D surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface3DHeight - - - Maximum 3D surface height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface3DDepth - - - Maximum 3D surface depth - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredWidth - - - Maximum 1D layered surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface1DLayeredLayers - - - Maximum layers in a 1D layered surface - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredWidth - - - Maximum 2D layered surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredHeight - - - Maximum 2D layered surface height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurface2DLayeredLayers - - - Maximum layers in a 2D layered surface - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapWidth - - - Maximum cubemap surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredWidth - - - Maximum cubemap layered surface width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSurfaceCubemapLayeredLayers - - - Maximum layers in a cubemap layered surface - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture1DLinearWidth - - - Maximum 1D linear texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearWidth - - - Maximum 2D linear texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearHeight - - - Maximum 2D linear texture height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DLinearPitch - - - Maximum 2D linear texture pitch in bytes - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedWidth - - - Maximum mipmapped 2D texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture2DMipmappedHeight - - - Maximum mipmapped 2D texture height - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrComputeCapabilityMajor - - - Major compute capability version number - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrComputeCapabilityMinor - - - Minor compute capability version number - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTexture1DMipmappedWidth - - - Maximum mipmapped 1D texture width - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrStreamPrioritiesSupported - - - Device supports stream priorities - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrGlobalL1CacheSupported - - - Device supports caching globals in L1 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrLocalL1CacheSupported - - - Device supports caching locals in L1 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerMultiprocessor - - - Maximum shared memory available per multiprocessor in bytes - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxRegistersPerMultiprocessor - - - Maximum number of 32-bit registers available per multiprocessor - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrManagedMemory - - - Device can allocate managed memory on this system - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrIsMultiGpuBoard - - - Device is on a multi-GPU board - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMultiGpuBoardGroupID - - - Unique identifier for a group of devices on the same multi-GPU board - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrHostNativeAtomicSupported - - - Link between the device and the host supports native atomic operations - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrSingleToDoublePrecisionPerfRatio - - - Ratio of single precision performance (in floating-point operations per second) to double precision performance - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrPageableMemoryAccess - - - Device supports coherently accessing pageable memory without calling cudaHostRegister on it - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrConcurrentManagedAccess - - - Device can coherently access managed memory concurrently with the CPU - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrComputePreemptionSupported - - - Device supports Compute Preemption - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrCanUseHostPointerForRegisteredMem - - - Device can access host registered memory at the same virtual address as the CPU - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved92 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved93 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved94 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrCooperativeLaunch - - - Device supports launching cooperative kernels via :py:obj:`~.cudaLaunchCooperativeKernel` - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrCooperativeMultiDeviceLaunch - - - Deprecated, cudaLaunchCooperativeKernelMultiDevice is deprecated. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxSharedMemoryPerBlockOptin - - - The maximum optin shared memory per block. This value may vary by chip. See :py:obj:`~.cudaFuncSetAttribute` - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrCanFlushRemoteWrites - - - Device supports flushing of outstanding remote writes. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrHostRegisterSupported - - - Device supports host memory registration via :py:obj:`~.cudaHostRegister`. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrPageableMemoryAccessUsesHostPageTables - - - Device accesses pageable memory via the host's page tables. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrDirectManagedMemAccessFromHost - - - Host can directly access managed memory on the device without migration. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxBlocksPerMultiprocessor - - - Maximum number of blocks per multiprocessor - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxPersistingL2CacheSize - - - Maximum L2 persisting lines capacity setting in bytes. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxAccessPolicyWindowSize - - - Maximum value of :py:obj:`~.cudaAccessPolicyWindow.num_bytes`. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReservedSharedMemoryPerBlock - - - Shared memory reserved by CUDA driver per block in bytes - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrSparseCudaArraySupported - - - Device supports sparse CUDA arrays and sparse CUDA mipmapped arrays - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrHostRegisterReadOnlySupported - - - Device supports using the :py:obj:`~.cudaHostRegister` flag cudaHostRegisterReadOnly to register memory that must be mapped as read-only to the GPU - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrTimelineSemaphoreInteropSupported - - - External timeline semaphore interop is supported on the device - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMaxTimelineSemaphoreInteropSupported - - - Deprecated, External timeline semaphore interop is supported on the device - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMemoryPoolsSupported - - - Device supports using the :py:obj:`~.cudaMallocAsync` and :py:obj:`~.cudaMemPool` family of APIs - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrGPUDirectRDMASupported - - - Device supports GPUDirect RDMA APIs, like nvidia_p2p_get_pages (see https://docs.nvidia.com/cuda/gpudirect-rdma for more information) - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAFlushWritesOptions - - - The returned attribute shall be interpreted as a bitmask, where the individual bits are listed in the :py:obj:`~.cudaFlushGPUDirectRDMAWritesOptions` enum - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrGPUDirectRDMAWritesOrdering - - - GPUDirect RDMA writes to the device do not need to be flushed for consumers within the scope indicated by the returned attribute. See :py:obj:`~.cudaGPUDirectRDMAWritesOrdering` for the numerical values returned here. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMemoryPoolSupportedHandleTypes - - - Handle types supported with mempool based IPC - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrClusterLaunch - - - Indicates device supports cluster launch - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrDeferredMappingCudaArraySupported - - - Device supports deferred mapping CUDA arrays and CUDA mipmapped arrays - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved122 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved123 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved124 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrIpcEventSupport - - - Device supports IPC Events. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMemSyncDomainCount - - - Number of memory synchronization domains the device supports. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved127 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved128 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved129 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrNumaConfig - - - NUMA configuration of a device: value is of type :py:obj:`~.cudaDeviceNumaConfig` enum - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrNumaId - - - NUMA node ID of the GPU memory - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrReserved132 - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMpsEnabled - - - Contexts created on this device will be shared via MPS - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrHostNumaId - - - NUMA ID of the host node closest to the device. Returns -1 when system does not support NUMA. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrD3D12CigSupported - - - Device supports CIG with D3D12. - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceAttr.cudaDevAttrMax - -.. autoclass:: cuda.bindings.runtime.cudaMemPoolAttr - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolReuseFollowEventDependencies - - - (value type = int) Allow cuMemAllocAsync to use memory asynchronously freed in another streams as long as a stream ordering dependency of the allocating stream on the free action exists. Cuda events and null stream interactions can create the required stream ordered dependencies. (default enabled) - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolReuseAllowOpportunistic - - - (value type = int) Allow reuse of already completed frees when there is no dependency between the free and allocation. (default enabled) - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolReuseAllowInternalDependencies - - - (value type = int) Allow cuMemAllocAsync to insert new stream dependencies in order to establish the stream ordering required to reuse a piece of memory released by cuFreeAsync (default enabled). - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolAttrReleaseThreshold - - - (value type = cuuint64_t) Amount of reserved memory in bytes to hold onto before trying to release memory back to the OS. When more than the release threshold bytes of memory are held by the memory pool, the allocator will try to release memory back to the OS on the next call to stream, event or context synchronize. (default 0) - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolAttrReservedMemCurrent - - - (value type = cuuint64_t) Amount of backing memory currently allocated for the mempool. - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolAttrReservedMemHigh - - - (value type = cuuint64_t) High watermark of backing memory allocated for the mempool since the last time it was reset. High watermark can only be reset to zero. - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolAttrUsedMemCurrent - - - (value type = cuuint64_t) Amount of memory from the pool that is currently in use by the application. - - - .. autoattribute:: cuda.bindings.runtime.cudaMemPoolAttr.cudaMemPoolAttrUsedMemHigh - - - (value type = cuuint64_t) High watermark of the amount of memory from the pool that was in use by the application since the last time it was reset. High watermark can only be reset to zero. - -.. autoclass:: cuda.bindings.runtime.cudaMemLocationType - - .. autoattribute:: cuda.bindings.runtime.cudaMemLocationType.cudaMemLocationTypeInvalid - - - .. autoattribute:: cuda.bindings.runtime.cudaMemLocationType.cudaMemLocationTypeDevice - - - Location is a device location, thus id is a device ordinal - - - .. autoattribute:: cuda.bindings.runtime.cudaMemLocationType.cudaMemLocationTypeHost - - - Location is host, id is ignored - - - .. autoattribute:: cuda.bindings.runtime.cudaMemLocationType.cudaMemLocationTypeHostNuma - - - Location is a host NUMA node, thus id is a host NUMA node id - - - .. autoattribute:: cuda.bindings.runtime.cudaMemLocationType.cudaMemLocationTypeHostNumaCurrent - - - Location is the host NUMA node closest to the current thread's CPU, id is ignored - -.. autoclass:: cuda.bindings.runtime.cudaMemAccessFlags - - .. autoattribute:: cuda.bindings.runtime.cudaMemAccessFlags.cudaMemAccessFlagsProtNone - - - Default, make the address range not accessible - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAccessFlags.cudaMemAccessFlagsProtRead - - - Make the address range read accessible - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAccessFlags.cudaMemAccessFlagsProtReadWrite - - - Make the address range read-write accessible - -.. autoclass:: cuda.bindings.runtime.cudaMemAllocationType - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationType.cudaMemAllocationTypeInvalid - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationType.cudaMemAllocationTypePinned - - - This allocation type is 'pinned', i.e. cannot migrate from its current location while the application is actively using it - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationType.cudaMemAllocationTypeMax - -.. autoclass:: cuda.bindings.runtime.cudaMemAllocationHandleType - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationHandleType.cudaMemHandleTypeNone - - - Does not allow any export mechanism. > - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationHandleType.cudaMemHandleTypePosixFileDescriptor - - - Allows a file descriptor to be used for exporting. Permitted only on POSIX systems. (int) - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationHandleType.cudaMemHandleTypeWin32 - - - Allows a Win32 NT handle to be used for exporting. (HANDLE) - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationHandleType.cudaMemHandleTypeWin32Kmt - - - Allows a Win32 KMT handle to be used for exporting. (D3DKMT_HANDLE) - - - .. autoattribute:: cuda.bindings.runtime.cudaMemAllocationHandleType.cudaMemHandleTypeFabric - - - Allows a fabric handle to be used for exporting. (cudaMemFabricHandle_t) - -.. autoclass:: cuda.bindings.runtime.cudaGraphMemAttributeType - - .. autoattribute:: cuda.bindings.runtime.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemCurrent - - - (value type = cuuint64_t) Amount of memory, in bytes, currently associated with graphs. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphMemAttributeType.cudaGraphMemAttrUsedMemHigh - - - (value type = cuuint64_t) High watermark of memory, in bytes, associated with graphs since the last time it was reset. High watermark can only be reset to zero. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemCurrent - - - (value type = cuuint64_t) Amount of memory, in bytes, currently allocated for use by the CUDA graphs asynchronous allocator. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphMemAttributeType.cudaGraphMemAttrReservedMemHigh - - - (value type = cuuint64_t) High watermark of memory, in bytes, currently allocated for use by the CUDA graphs asynchronous allocator. - -.. autoclass:: cuda.bindings.runtime.cudaDeviceP2PAttr - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceP2PAttr.cudaDevP2PAttrPerformanceRank - - - A relative value indicating the performance of the link between two devices - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceP2PAttr.cudaDevP2PAttrAccessSupported - - - Peer access is enabled - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceP2PAttr.cudaDevP2PAttrNativeAtomicSupported - - - Native atomic operation over the link supported - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceP2PAttr.cudaDevP2PAttrCudaArrayAccessSupported - - - Accessing CUDA arrays over the link supported - -.. autoclass:: cuda.bindings.runtime.cudaExternalMemoryHandleType - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueFd - - - Handle is an opaque file descriptor - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32 - - - Handle is an opaque shared NT handle - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeOpaqueWin32Kmt - - - Handle is an opaque, globally shared handle - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Heap - - - Handle is a D3D12 heap object - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D12Resource - - - Handle is a D3D12 committed resource - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11Resource - - - Handle is a shared NT handle to a D3D11 resource - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeD3D11ResourceKmt - - - Handle is a globally shared handle to a D3D11 resource - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryHandleType.cudaExternalMemoryHandleTypeNvSciBuf - - - Handle is an NvSciBuf object - -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueFd - - - Handle is an opaque file descriptor - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32 - - - Handle is an opaque shared NT handle - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt - - - Handle is an opaque, globally shared handle - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D12Fence - - - Handle is a shared NT handle referencing a D3D12 fence object - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeD3D11Fence - - - Handle is a shared NT handle referencing a D3D11 fence object - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeNvSciSync - - - Opaque handle to NvSciSync Object - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutex - - - Handle is a shared NT handle referencing a D3D11 keyed mutex object - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeKeyedMutexKmt - - - Handle is a shared KMT handle referencing a D3D11 keyed mutex object - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreFd - - - Handle is an opaque handle file descriptor referencing a timeline semaphore - - - .. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreHandleType.cudaExternalSemaphoreHandleTypeTimelineSemaphoreWin32 - - - Handle is an opaque handle file descriptor referencing a timeline semaphore - -.. autoclass:: cuda.bindings.runtime.cudaCGScope - - .. autoattribute:: cuda.bindings.runtime.cudaCGScope.cudaCGScopeInvalid - - - Invalid cooperative group scope - - - .. autoattribute:: cuda.bindings.runtime.cudaCGScope.cudaCGScopeGrid - - - Scope represented by a grid_group - - - .. autoattribute:: cuda.bindings.runtime.cudaCGScope.cudaCGScopeMultiGrid - - - Scope represented by a multi_grid_group - -.. autoclass:: cuda.bindings.runtime.cudaGraphConditionalHandleFlags - - .. autoattribute:: cuda.bindings.runtime.cudaGraphConditionalHandleFlags.cudaGraphCondAssignDefault - - - Apply default handle value when graph is launched. - -.. autoclass:: cuda.bindings.runtime.cudaGraphConditionalNodeType - - .. autoattribute:: cuda.bindings.runtime.cudaGraphConditionalNodeType.cudaGraphCondTypeIf - - - Conditional 'if' Node. Body executed once if condition value is non-zero. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphConditionalNodeType.cudaGraphCondTypeWhile - - - Conditional 'while' Node. Body executed repeatedly while condition value is non-zero. - -.. autoclass:: cuda.bindings.runtime.cudaGraphNodeType - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeKernel - - - GPU kernel node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeMemcpy - - - Memcpy node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeMemset - - - Memset node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeHost - - - Host (executable) node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeGraph - - - Node which executes an embedded graph - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeEmpty - - - Empty (no-op) node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeWaitEvent - - - External event wait node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeEventRecord - - - External event record node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreSignal - - - External semaphore signal node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeExtSemaphoreWait - - - External semaphore wait node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeMemAlloc - - - Memory allocation node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeMemFree - - - Memory free node - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeConditional - - - Conditional node May be used to implement a conditional execution path or loop - - inside of a graph. The graph(s) contained within the body of the conditional node - - can be selectively executed or iterated upon based on the value of a conditional - - variable. - - - - Handles must be created in advance of creating the node - - using :py:obj:`~.cudaGraphConditionalHandleCreate`. - - - - The following restrictions apply to graphs which contain conditional nodes: - - The graph cannot be used in a child node. - - Only one instantiation of the graph may exist at any point in time. - - The graph cannot be cloned. - - - - To set the control value, supply a default value when creating the handle and/or - - call :py:obj:`~.cudaGraphSetConditional` from device code. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphNodeType.cudaGraphNodeTypeCount - -.. autoclass:: cuda.bindings.runtime.cudaGraphDependencyType - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDependencyType.cudaGraphDependencyTypeDefault - - - This is an ordinary dependency. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDependencyType.cudaGraphDependencyTypeProgrammatic - - - This dependency type allows the downstream node to use `cudaGridDependencySynchronize()`. It may only be used between kernel nodes, and must be used with either the :py:obj:`~.cudaGraphKernelNodePortProgrammatic` or :py:obj:`~.cudaGraphKernelNodePortLaunchCompletion` outgoing port. - -.. autoclass:: cuda.bindings.runtime.cudaGraphExecUpdateResult - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateSuccess - - - The update succeeded - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateError - - - The update failed for an unexpected reason which is described in the return value of the function - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorTopologyChanged - - - The update failed because the topology changed - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNodeTypeChanged - - - The update failed because a node type changed - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorFunctionChanged - - - The update failed because the function of a kernel node changed (CUDA driver < 11.2) - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorParametersChanged - - - The update failed because the parameters changed in a way that is not supported - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorNotSupported - - - The update failed because something about the node is not supported - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorUnsupportedFunctionChange - - - The update failed because the function of a kernel node changed in an unsupported way - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphExecUpdateResult.cudaGraphExecUpdateErrorAttributesChanged - - - The update failed because the node attributes changed in a way that is not supported - -.. autoclass:: cuda.bindings.runtime.cudaGraphInstantiateResult - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateResult.cudaGraphInstantiateSuccess - - - Instantiation succeeded - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateResult.cudaGraphInstantiateError - - - Instantiation failed for an unexpected reason which is described in the return value of the function - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateResult.cudaGraphInstantiateInvalidStructure - - - Instantiation failed due to invalid structure, such as cycles - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateResult.cudaGraphInstantiateNodeOperationNotSupported - - - Instantiation for device launch failed because the graph contained an unsupported operation - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateResult.cudaGraphInstantiateMultipleDevicesNotSupported - - - Instantiation for device launch failed due to the nodes belonging to different contexts - -.. autoclass:: cuda.bindings.runtime.cudaGraphKernelNodeField - - .. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodeField.cudaGraphKernelNodeFieldInvalid - - - Invalid field - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodeField.cudaGraphKernelNodeFieldGridDim - - - Grid dimension update - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodeField.cudaGraphKernelNodeFieldParam - - - Kernel parameter update - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodeField.cudaGraphKernelNodeFieldEnabled - - - Node enable/disable - -.. autoclass:: cuda.bindings.runtime.cudaGetDriverEntryPointFlags - - .. autoattribute:: cuda.bindings.runtime.cudaGetDriverEntryPointFlags.cudaEnableDefault - - - Default search mode for driver symbols. - - - .. autoattribute:: cuda.bindings.runtime.cudaGetDriverEntryPointFlags.cudaEnableLegacyStream - - - Search for legacy versions of driver symbols. - - - .. autoattribute:: cuda.bindings.runtime.cudaGetDriverEntryPointFlags.cudaEnablePerThreadDefaultStream - - - Search for per-thread versions of driver symbols. - -.. autoclass:: cuda.bindings.runtime.cudaDriverEntryPointQueryResult - - .. autoattribute:: cuda.bindings.runtime.cudaDriverEntryPointQueryResult.cudaDriverEntryPointSuccess - - - Search for symbol found a match - - - .. autoattribute:: cuda.bindings.runtime.cudaDriverEntryPointQueryResult.cudaDriverEntryPointSymbolNotFound - - - Search for symbol was not found - - - .. autoattribute:: cuda.bindings.runtime.cudaDriverEntryPointQueryResult.cudaDriverEntryPointVersionNotSufficent - - - Search for symbol was found but version wasn't great enough - -.. autoclass:: cuda.bindings.runtime.cudaGraphDebugDotFlags - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsVerbose - - - Output all debug data as if every debug flag is enabled - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeParams - - - Adds :py:obj:`~.cudaKernelNodeParams` to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemcpyNodeParams - - - Adds :py:obj:`~.cudaMemcpy3DParms` to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsMemsetNodeParams - - - Adds :py:obj:`~.cudaMemsetParams` to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHostNodeParams - - - Adds :py:obj:`~.cudaHostNodeParams` to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsEventNodeParams - - - Adds cudaEvent_t handle from record and wait nodes to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasSignalNodeParams - - - Adds :py:obj:`~.cudaExternalSemaphoreSignalNodeParams` values to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsExtSemasWaitNodeParams - - - Adds :py:obj:`~.cudaExternalSemaphoreWaitNodeParams` to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsKernelNodeAttributes - - - Adds cudaKernelNodeAttrID values to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsHandles - - - Adds node handles and every kernel function handle to output - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphDebugDotFlags.cudaGraphDebugDotFlagsConditionalNodeParams - - - Adds :py:obj:`~.cudaConditionalNodeParams` to output - -.. autoclass:: cuda.bindings.runtime.cudaGraphInstantiateFlags - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagAutoFreeOnLaunch - - - Automatically free memory allocated in a graph before relaunching. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagUpload - - - Automatically upload the graph after instantiation. Only supported by - - :py:obj:`~.cudaGraphInstantiateWithParams`. The upload will be performed using the - - stream provided in `instantiateParams`. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagDeviceLaunch - - - Instantiate the graph to be launchable from the device. This flag can only - - be used on platforms which support unified addressing. This flag cannot be - - used in conjunction with cudaGraphInstantiateFlagAutoFreeOnLaunch. - - - .. autoattribute:: cuda.bindings.runtime.cudaGraphInstantiateFlags.cudaGraphInstantiateFlagUseNodePriority - - - Run the graph using the per-node priority attributes rather than the priority of the stream it is launched into. - -.. autoclass:: cuda.bindings.runtime.cudaLaunchMemSyncDomain - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchMemSyncDomain.cudaLaunchMemSyncDomainDefault - - - Launch kernels in the default domain - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchMemSyncDomain.cudaLaunchMemSyncDomainRemote - - - Launch kernels in the remote domain - -.. autoclass:: cuda.bindings.runtime.cudaLaunchAttributeID - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeIgnore - - - Ignored entry, for convenient composition - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeAccessPolicyWindow - - - Valid for streams, graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.accessPolicyWindow`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeCooperative - - - Valid for graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.cooperative`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeSynchronizationPolicy - - - Valid for streams. See :py:obj:`~.cudaLaunchAttributeValue.syncPolicy`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeClusterDimension - - - Valid for graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.clusterDim`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeClusterSchedulingPolicyPreference - - - Valid for graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.clusterSchedulingPolicyPreference`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeProgrammaticStreamSerialization - - - Valid for launches. Setting :py:obj:`~.cudaLaunchAttributeValue.programmaticStreamSerializationAllowed` to non-0 signals that the kernel will use programmatic means to resolve its stream dependency, so that the CUDA runtime should opportunistically allow the grid's execution to overlap with the previous kernel in the stream, if that kernel requests the overlap. The dependent launches can choose to wait on the dependency using the programmatic sync (cudaGridDependencySynchronize() or equivalent PTX instructions). - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeProgrammaticEvent - - - Valid for launches. Set :py:obj:`~.cudaLaunchAttributeValue.programmaticEvent` to record the event. Event recorded through this launch attribute is guaranteed to only trigger after all block in the associated kernel trigger the event. A block can trigger the event programmatically in a future CUDA release. A trigger can also be inserted at the beginning of each block's execution if triggerAtBlockStart is set to non-0. The dependent launches can choose to wait on the dependency using the programmatic sync (cudaGridDependencySynchronize() or equivalent PTX instructions). Note that dependents (including the CPU thread calling :py:obj:`~.cudaEventSynchronize()`) are not guaranteed to observe the release precisely when it is released. For example, :py:obj:`~.cudaEventSynchronize()` may only observe the event trigger long after the associated kernel has completed. This recording type is primarily meant for establishing programmatic dependency between device tasks. Note also this type of dependency allows, but does not guarantee, concurrent execution of tasks. - - The event supplied must not be an interprocess or interop event. The event must disable timing (i.e. must be created with the :py:obj:`~.cudaEventDisableTiming` flag set). - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributePriority - - - Valid for streams, graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.priority`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeMemSyncDomainMap - - - Valid for streams, graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.memSyncDomainMap`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeMemSyncDomain - - - Valid for streams, graph nodes, launches. See :py:obj:`~.cudaLaunchAttributeValue.memSyncDomain`. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeLaunchCompletionEvent - - - Valid for launches. Set :py:obj:`~.cudaLaunchAttributeValue.launchCompletionEvent` to record the event. - - Nominally, the event is triggered once all blocks of the kernel have begun execution. Currently this is a best effort. If a kernel B has a launch completion dependency on a kernel A, B may wait until A is complete. Alternatively, blocks of B may begin before all blocks of A have begun, for example if B can claim execution resources unavailable to A (e.g. they run on different GPUs) or if B is a higher priority than A. Exercise caution if such an ordering inversion could lead to deadlock. - - A launch completion event is nominally similar to a programmatic event with `triggerAtBlockStart` set except that it is not visible to `cudaGridDependencySynchronize()` and can be used with compute capability less than 9.0. - - The event supplied must not be an interprocess or interop event. The event must disable timing (i.e. must be created with the :py:obj:`~.cudaEventDisableTiming` flag set). - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributeDeviceUpdatableKernelNode - - - Valid for graph nodes, launches. This attribute is graphs-only, and passing it to a launch in a non-capturing stream will result in an error. - - :cudaLaunchAttributeValue::deviceUpdatableKernelNode::deviceUpdatable can only be set to 0 or 1. Setting the field to 1 indicates that the corresponding kernel node should be device-updatable. On success, a handle will be returned via :py:obj:`~.cudaLaunchAttributeValue`::deviceUpdatableKernelNode::devNode which can be passed to the various device-side update functions to update the node's kernel parameters from within another kernel. For more information on the types of device updates that can be made, as well as the relevant limitations thereof, see :py:obj:`~.cudaGraphKernelNodeUpdatesApply`. - - Nodes which are device-updatable have additional restrictions compared to regular kernel nodes. Firstly, device-updatable nodes cannot be removed from their graph via :py:obj:`~.cudaGraphDestroyNode`. Additionally, once opted-in to this functionality, a node cannot opt out, and any attempt to set the deviceUpdatable attribute to 0 will result in an error. Device-updatable kernel nodes also cannot have their attributes copied to/from another kernel node via :py:obj:`~.cudaGraphKernelNodeCopyAttributes`. Graphs containing one or more device-updatable nodes also do not allow multiple instantiation, and neither the graph nor its instantiated version can be passed to :py:obj:`~.cudaGraphExecUpdate`. - - If a graph contains device-updatable nodes and updates those nodes from the device from within the graph, the graph must be uploaded with :py:obj:`~.cuGraphUpload` before it is launched. For such a graph, if host-side executable graph updates are made to the device-updatable nodes, the graph must be uploaded before it is launched again. - - - .. autoattribute:: cuda.bindings.runtime.cudaLaunchAttributeID.cudaLaunchAttributePreferredSharedMemoryCarveout - - - Valid for launches. On devices where the L1 cache and shared memory use the same hardware resources, setting :py:obj:`~.cudaLaunchAttributeValue.sharedMemCarveout` to a percentage between 0-100 signals sets the shared memory carveout preference in percent of the total shared memory for that kernel launch. This attribute takes precedence over :py:obj:`~.cudaFuncAttributePreferredSharedMemoryCarveout`. This is only a hint, and the driver can choose a different configuration if required for the launch. - -.. autoclass:: cuda.bindings.runtime.cudaDeviceNumaConfig - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceNumaConfig.cudaDeviceNumaConfigNone - - - The GPU is not a NUMA node - - - .. autoattribute:: cuda.bindings.runtime.cudaDeviceNumaConfig.cudaDeviceNumaConfigNumaNode - - - The GPU is a NUMA node, cudaDevAttrNumaId contains its NUMA ID - -.. autoclass:: cuda.bindings.runtime.cudaAsyncNotificationType - - .. autoattribute:: cuda.bindings.runtime.cudaAsyncNotificationType.cudaAsyncNotificationTypeOverBudget - -.. autoclass:: cuda.bindings.runtime.cudaSurfaceBoundaryMode - - .. autoattribute:: cuda.bindings.runtime.cudaSurfaceBoundaryMode.cudaBoundaryModeZero - - - Zero boundary mode - - - .. autoattribute:: cuda.bindings.runtime.cudaSurfaceBoundaryMode.cudaBoundaryModeClamp - - - Clamp boundary mode - - - .. autoattribute:: cuda.bindings.runtime.cudaSurfaceBoundaryMode.cudaBoundaryModeTrap - - - Trap boundary mode - -.. autoclass:: cuda.bindings.runtime.cudaSurfaceFormatMode - - .. autoattribute:: cuda.bindings.runtime.cudaSurfaceFormatMode.cudaFormatModeForced - - - Forced format mode - - - .. autoattribute:: cuda.bindings.runtime.cudaSurfaceFormatMode.cudaFormatModeAuto - - - Auto format mode - -.. autoclass:: cuda.bindings.runtime.cudaTextureAddressMode - - .. autoattribute:: cuda.bindings.runtime.cudaTextureAddressMode.cudaAddressModeWrap - - - Wrapping address mode - - - .. autoattribute:: cuda.bindings.runtime.cudaTextureAddressMode.cudaAddressModeClamp - - - Clamp to edge address mode - - - .. autoattribute:: cuda.bindings.runtime.cudaTextureAddressMode.cudaAddressModeMirror - - - Mirror address mode - - - .. autoattribute:: cuda.bindings.runtime.cudaTextureAddressMode.cudaAddressModeBorder - - - Border address mode - -.. autoclass:: cuda.bindings.runtime.cudaTextureFilterMode - - .. autoattribute:: cuda.bindings.runtime.cudaTextureFilterMode.cudaFilterModePoint - - - Point filter mode - - - .. autoattribute:: cuda.bindings.runtime.cudaTextureFilterMode.cudaFilterModeLinear - - - Linear filter mode - -.. autoclass:: cuda.bindings.runtime.cudaTextureReadMode - - .. autoattribute:: cuda.bindings.runtime.cudaTextureReadMode.cudaReadModeElementType - - - Read texture as specified element type - - - .. autoattribute:: cuda.bindings.runtime.cudaTextureReadMode.cudaReadModeNormalizedFloat - - - Read texture as normalized float - -.. autoclass:: cuda.bindings.runtime.cudaEglPlaneDesc -.. autoclass:: cuda.bindings.runtime.cudaEglFrame -.. autoclass:: cuda.bindings.runtime.cudaEglStreamConnection -.. autoclass:: cuda.bindings.runtime.cudaArray_t -.. autoclass:: cuda.bindings.runtime.cudaArray_const_t -.. autoclass:: cuda.bindings.runtime.cudaMipmappedArray_t -.. autoclass:: cuda.bindings.runtime.cudaMipmappedArray_const_t -.. autoclass:: cuda.bindings.runtime.cudaHostFn_t -.. autoclass:: cuda.bindings.runtime.CUuuid -.. autoclass:: cuda.bindings.runtime.cudaUUID_t -.. autoclass:: cuda.bindings.runtime.cudaIpcEventHandle_t -.. autoclass:: cuda.bindings.runtime.cudaIpcMemHandle_t -.. autoclass:: cuda.bindings.runtime.cudaMemFabricHandle_t -.. autoclass:: cuda.bindings.runtime.cudaStream_t -.. autoclass:: cuda.bindings.runtime.cudaEvent_t -.. autoclass:: cuda.bindings.runtime.cudaGraphicsResource_t -.. autoclass:: cuda.bindings.runtime.cudaExternalMemory_t -.. autoclass:: cuda.bindings.runtime.cudaExternalSemaphore_t -.. autoclass:: cuda.bindings.runtime.cudaGraph_t -.. autoclass:: cuda.bindings.runtime.cudaGraphNode_t -.. autoclass:: cuda.bindings.runtime.cudaUserObject_t -.. autoclass:: cuda.bindings.runtime.cudaGraphConditionalHandle -.. autoclass:: cuda.bindings.runtime.cudaFunction_t -.. autoclass:: cuda.bindings.runtime.cudaKernel_t -.. autoclass:: cuda.bindings.runtime.cudaMemPool_t -.. autoclass:: cuda.bindings.runtime.cudaGraphEdgeData -.. autoclass:: cuda.bindings.runtime.cudaGraphExec_t -.. autoclass:: cuda.bindings.runtime.cudaGraphInstantiateParams -.. autoclass:: cuda.bindings.runtime.cudaGraphExecUpdateResultInfo -.. autoclass:: cuda.bindings.runtime.cudaGraphDeviceNode_t -.. autoclass:: cuda.bindings.runtime.cudaLaunchMemSyncDomainMap -.. autoclass:: cuda.bindings.runtime.cudaLaunchAttribute -.. autoclass:: cuda.bindings.runtime.cudaAsyncCallbackHandle_t -.. autoclass:: cuda.bindings.runtime.cudaAsyncNotificationInfo_t -.. autoclass:: cuda.bindings.runtime.cudaAsyncCallback -.. autoclass:: cuda.bindings.runtime.cudaSurfaceObject_t -.. autoclass:: cuda.bindings.runtime.cudaTextureObject_t -.. autoattribute:: cuda.bindings.runtime.CUDA_EGL_MAX_PLANES - - Maximum number of planes per frame - -.. autoattribute:: cuda.bindings.runtime.cudaHostAllocDefault - - Default page-locked allocation flag - -.. autoattribute:: cuda.bindings.runtime.cudaHostAllocPortable - - Pinned memory accessible by all CUDA contexts - -.. autoattribute:: cuda.bindings.runtime.cudaHostAllocMapped - - Map allocation into device space - -.. autoattribute:: cuda.bindings.runtime.cudaHostAllocWriteCombined - - Write-combined memory - -.. autoattribute:: cuda.bindings.runtime.cudaHostRegisterDefault - - Default host memory registration flag - -.. autoattribute:: cuda.bindings.runtime.cudaHostRegisterPortable - - Pinned memory accessible by all CUDA contexts - -.. autoattribute:: cuda.bindings.runtime.cudaHostRegisterMapped - - Map registered memory into device space - -.. autoattribute:: cuda.bindings.runtime.cudaHostRegisterIoMemory - - Memory-mapped I/O space - -.. autoattribute:: cuda.bindings.runtime.cudaHostRegisterReadOnly - - Memory-mapped read-only - -.. autoattribute:: cuda.bindings.runtime.cudaPeerAccessDefault - - Default peer addressing enable flag - -.. autoattribute:: cuda.bindings.runtime.cudaStreamDefault - - Default stream flag - -.. autoattribute:: cuda.bindings.runtime.cudaStreamNonBlocking - - Stream does not synchronize with stream 0 (the NULL stream) - -.. autoattribute:: cuda.bindings.runtime.cudaStreamLegacy - - Legacy stream handle - - - - Stream handle that can be passed as a cudaStream_t to use an implicit stream with legacy synchronization behavior. - - - - See details of the \link_sync_behavior - -.. autoattribute:: cuda.bindings.runtime.cudaStreamPerThread - - Per-thread stream handle - - - - Stream handle that can be passed as a cudaStream_t to use an implicit stream with per-thread synchronization behavior. - - - - See details of the \link_sync_behavior - -.. autoattribute:: cuda.bindings.runtime.cudaEventDefault - - Default event flag - -.. autoattribute:: cuda.bindings.runtime.cudaEventBlockingSync - - Event uses blocking synchronization - -.. autoattribute:: cuda.bindings.runtime.cudaEventDisableTiming - - Event will not record timing data - -.. autoattribute:: cuda.bindings.runtime.cudaEventInterprocess - - Event is suitable for interprocess use. cudaEventDisableTiming must be set - -.. autoattribute:: cuda.bindings.runtime.cudaEventRecordDefault - - Default event record flag - -.. autoattribute:: cuda.bindings.runtime.cudaEventRecordExternal - - Event is captured in the graph as an external event node when performing stream capture - -.. autoattribute:: cuda.bindings.runtime.cudaEventWaitDefault - - Default event wait flag - -.. autoattribute:: cuda.bindings.runtime.cudaEventWaitExternal - - Event is captured in the graph as an external event node when performing stream capture - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceScheduleAuto - - Device flag - Automatic scheduling - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceScheduleSpin - - Device flag - Spin default scheduling - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceScheduleYield - - Device flag - Yield default scheduling - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceScheduleBlockingSync - - Device flag - Use blocking synchronization - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceBlockingSync - - Device flag - Use blocking synchronization [Deprecated] - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceScheduleMask - - Device schedule flags mask - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceMapHost - - Device flag - Support mapped pinned allocations - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceLmemResizeToMax - - Device flag - Keep local memory allocation after launch - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceSyncMemops - - Device flag - Ensure synchronous memory operations on this context will synchronize - -.. autoattribute:: cuda.bindings.runtime.cudaDeviceMask - - Device flags mask - -.. autoattribute:: cuda.bindings.runtime.cudaArrayDefault - - Default CUDA array allocation flag - -.. autoattribute:: cuda.bindings.runtime.cudaArrayLayered - - Must be set in cudaMalloc3DArray to create a layered CUDA array - -.. autoattribute:: cuda.bindings.runtime.cudaArraySurfaceLoadStore - - Must be set in cudaMallocArray or cudaMalloc3DArray in order to bind surfaces to the CUDA array - -.. autoattribute:: cuda.bindings.runtime.cudaArrayCubemap - - Must be set in cudaMalloc3DArray to create a cubemap CUDA array - -.. autoattribute:: cuda.bindings.runtime.cudaArrayTextureGather - - Must be set in cudaMallocArray or cudaMalloc3DArray in order to perform texture gather operations on the CUDA array - -.. autoattribute:: cuda.bindings.runtime.cudaArrayColorAttachment - - Must be set in cudaExternalMemoryGetMappedMipmappedArray if the mipmapped array is used as a color target in a graphics API - -.. autoattribute:: cuda.bindings.runtime.cudaArraySparse - - Must be set in cudaMallocArray, cudaMalloc3DArray or cudaMallocMipmappedArray in order to create a sparse CUDA array or CUDA mipmapped array - -.. autoattribute:: cuda.bindings.runtime.cudaArrayDeferredMapping - - Must be set in cudaMallocArray, cudaMalloc3DArray or cudaMallocMipmappedArray in order to create a deferred mapping CUDA array or CUDA mipmapped array - -.. autoattribute:: cuda.bindings.runtime.cudaIpcMemLazyEnablePeerAccess - - Automatically enable peer access between remote devices as needed - -.. autoattribute:: cuda.bindings.runtime.cudaMemAttachGlobal - - Memory can be accessed by any stream on any device - -.. autoattribute:: cuda.bindings.runtime.cudaMemAttachHost - - Memory cannot be accessed by any stream on any device - -.. autoattribute:: cuda.bindings.runtime.cudaMemAttachSingle - - Memory can only be accessed by a single stream on the associated device - -.. autoattribute:: cuda.bindings.runtime.cudaOccupancyDefault - - Default behavior - -.. autoattribute:: cuda.bindings.runtime.cudaOccupancyDisableCachingOverride - - Assume global caching is enabled and cannot be automatically turned off - -.. autoattribute:: cuda.bindings.runtime.cudaCpuDeviceId - - Device id that represents the CPU - -.. autoattribute:: cuda.bindings.runtime.cudaInvalidDeviceId - - Device id that represents an invalid device - -.. autoattribute:: cuda.bindings.runtime.cudaInitDeviceFlagsAreValid - - Tell the CUDA runtime that DeviceFlags is being set in cudaInitDevice call - -.. autoattribute:: cuda.bindings.runtime.cudaCooperativeLaunchMultiDeviceNoPreSync - - If set, each kernel launched as part of :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice` only waits for prior work in the stream corresponding to that GPU to complete before the kernel begins execution. - -.. autoattribute:: cuda.bindings.runtime.cudaCooperativeLaunchMultiDeviceNoPostSync - - If set, any subsequent work pushed in a stream that participated in a call to :py:obj:`~.cudaLaunchCooperativeKernelMultiDevice` will only wait for the kernel launched on the GPU corresponding to that stream to complete before it begins execution. - -.. autoattribute:: cuda.bindings.runtime.cudaArraySparsePropertiesSingleMipTail - - Indicates that the layered sparse CUDA array or CUDA mipmapped array has a single mip tail region for all layers - -.. autoattribute:: cuda.bindings.runtime.CUDA_IPC_HANDLE_SIZE - - CUDA IPC Handle Size - -.. autoattribute:: cuda.bindings.runtime.cudaExternalMemoryDedicated - - Indicates that the external memory object is a dedicated resource - -.. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreSignalSkipNvSciBufMemSync - - When the /p flags parameter of :py:obj:`~.cudaExternalSemaphoreSignalParams` contains this flag, it indicates that signaling an external semaphore object should skip performing appropriate memory synchronization operations over all the external memory objects that are imported as :py:obj:`~.cudaExternalMemoryHandleTypeNvSciBuf`, which otherwise are performed by default to ensure data coherency with other importers of the same NvSciBuf memory objects. - -.. autoattribute:: cuda.bindings.runtime.cudaExternalSemaphoreWaitSkipNvSciBufMemSync - - When the /p flags parameter of :py:obj:`~.cudaExternalSemaphoreWaitParams` contains this flag, it indicates that waiting an external semaphore object should skip performing appropriate memory synchronization operations over all the external memory objects that are imported as :py:obj:`~.cudaExternalMemoryHandleTypeNvSciBuf`, which otherwise are performed by default to ensure data coherency with other importers of the same NvSciBuf memory objects. - -.. autoattribute:: cuda.bindings.runtime.cudaNvSciSyncAttrSignal - - When /p flags of :py:obj:`~.cudaDeviceGetNvSciSyncAttributes` is set to this, it indicates that application need signaler specific NvSciSyncAttr to be filled by :py:obj:`~.cudaDeviceGetNvSciSyncAttributes`. - -.. autoattribute:: cuda.bindings.runtime.cudaNvSciSyncAttrWait - - When /p flags of :py:obj:`~.cudaDeviceGetNvSciSyncAttributes` is set to this, it indicates that application need waiter specific NvSciSyncAttr to be filled by :py:obj:`~.cudaDeviceGetNvSciSyncAttributes`. - -.. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodePortDefault - - This port activates when the kernel has finished executing. - -.. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodePortProgrammatic - - This port activates when all blocks of the kernel have performed cudaTriggerProgrammaticLaunchCompletion() or have terminated. It must be used with edge type :py:obj:`~.cudaGraphDependencyTypeProgrammatic`. See also :py:obj:`~.cudaLaunchAttributeProgrammaticEvent`. - -.. autoattribute:: cuda.bindings.runtime.cudaGraphKernelNodePortLaunchCompletion - - This port activates when all blocks of the kernel have begun execution. See also :py:obj:`~.cudaLaunchAttributeLaunchCompletionEvent`. - -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttrID -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttributeAccessPolicyWindow -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttributeSynchronizationPolicy -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttributeMemSyncDomainMap -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttributeMemSyncDomain -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttributePriority -.. autoattribute:: cuda.bindings.runtime.cudaStreamAttrValue -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttrID -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeAccessPolicyWindow -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeCooperative -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributePriority -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeClusterDimension -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeClusterSchedulingPolicyPreference -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeMemSyncDomainMap -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeMemSyncDomain -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributePreferredSharedMemoryCarveout -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttributeDeviceUpdatableKernelNode -.. autoattribute:: cuda.bindings.runtime.cudaKernelNodeAttrValue -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceType1D -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceType2D -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceType3D -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceTypeCubemap -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceType1DLayered -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceType2DLayered -.. autoattribute:: cuda.bindings.runtime.cudaSurfaceTypeCubemapLayered -.. autoattribute:: cuda.bindings.runtime.cudaTextureType1D -.. autoattribute:: cuda.bindings.runtime.cudaTextureType2D -.. autoattribute:: cuda.bindings.runtime.cudaTextureType3D -.. autoattribute:: cuda.bindings.runtime.cudaTextureTypeCubemap -.. autoattribute:: cuda.bindings.runtime.cudaTextureType1DLayered -.. autoattribute:: cuda.bindings.runtime.cudaTextureType2DLayered -.. autoattribute:: cuda.bindings.runtime.cudaTextureTypeCubemapLayered diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/motivation.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/motivation.md.txt deleted file mode 100644 index 5b8879f2..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/motivation.md.txt +++ /dev/null @@ -1,41 +0,0 @@ -# Motivation -## What is CUDA Python? - -NVIDIA’s CUDA Python provides [Cython](https://cython.org/) bindings and Python -wrappers for the driver and runtime API for existing toolkits and libraries to -simplify GPU-based accelerated processing. Python is one of the most popular -programming languages for science, engineering, data analytics, and deep -learning applications. The goal of CUDA Python is to unify -the Python ecosystem with a single set of interfaces that provide full coverage -of and access to the CUDA host APIs from Python. - -## Why CUDA Python? - -CUDA Python provides uniform APIs and bindings for inclusion into existing -toolkits and libraries to simplify GPU-based parallel processing for HPC, data -science, and AI. - -[Numba](https://numba.pydata.org/), a Python compiler from -[Anaconda](https://www.anaconda.com/) that can compile Python code for execution -on CUDA-capable GPUs, provides Python developers with an easy entry into -GPU-accelerated computing and a path for using increasingly sophisticated CUDA -code with a minimum of new syntax and jargon. Numba has its own CUDA driver API -bindings that can now be replaced with CUDA Python. With CUDA Python and Numba, -you get the best of both worlds: rapid iterative development with Python and the -speed of a compiled language targeting both CPUs and NVIDIA GPUs. - -[CuPy](https://cupy.dev/) is a -[NumPy](https://numpy.org/)/[SciPy](https://www.scipy.org/) compatible Array -library, from [Preferred Networks](https://www.preferred.jp/en/), for -GPU-accelerated computing with Python. CUDA Python simplifies the CuPy build -and allows for a faster and smaller memory footprint when importing the CuPy -Python module. In the future, when more CUDA Toolkit libraries are supported, -CuPy will have a lighter maintenance overhead and have fewer wheels to -release. Users benefit from a faster CUDA runtime! - -Our goal is to help unify the Python CUDA ecosystem with a single standard set -of interfaces, providing full coverage of, and access to, the CUDA host APIs -from Python. We want to provide a foundation for the ecosystem to build on top -of in unison to allow composing different accelerated libraries together to -solve the problems at hand. We also want to lower the barrier to entry for -Python developers to utilize NVIDIA GPUs. diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/overview.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/overview.md.txt deleted file mode 100644 index 155be761..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/overview.md.txt +++ /dev/null @@ -1,321 +0,0 @@ ---- -jupytext: - text_representation: - format_name: myst -kernelspec: - display_name: Python 3 - name: python3 ---- - -# Overview - -

by Matthew Nicely

- -Python plays a key role within the science, engineering, data analytics, and -deep learning application ecosystem. NVIDIA has long been committed to helping -the Python ecosystem leverage the accelerated massively parallel performance of -GPUs to deliver standardized libraries, tools, and applications. Today, we’re -introducing another step towards simplification of the developer experience with -improved Python code portability and compatibility. - -Our goal is to help unify the Python CUDA ecosystem with a single standard set -of low-level interfaces, providing full coverage of and access to the CUDA host -APIs from Python. We want to provide an ecosystem foundation to allow -interoperability among different accelerated libraries. Most importantly, it -should be easy for Python developers to use NVIDIA GPUs. - -## CUDA Python workflow - -Because Python is an interpreted language, you need a way to compile the device -code into -[PTX](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html) and -then extract the function to be called at a later point in the application. It’s -not important for understanding CUDA Python, but Parallel Thread Execution (PTX) -is a low-level virtual machine and instruction set architecture (ISA). You -construct your device code in the form of a string and compile it with -[NVRTC](http://docs.nvidia.com/cuda/nvrtc/index.html), a runtime compilation -library for CUDA C++. Using the NVIDIA [Driver -API](http://docs.nvidia.com/cuda/cuda-driver-api/index.html), manually create a -CUDA context and all required resources on the GPU, then launch the compiled -CUDA C++ code and retrieve the results from the GPU. Now that you have an -overview, jump into a commonly used example for parallel programming: -[SAXPY](https://developer.nvidia.com/blog/six-ways-saxpy/). - -The first thing to do is import the [Driver -API](https://docs.nvidia.com/cuda/cuda-driver-api/index.html) and -[NVRTC](https://docs.nvidia.com/cuda/nvrtc/index.html) modules from the CUDA -Python package. In this example, you copy data from the host to device. You need -[NumPy](https://numpy.org/doc/stable/contents.html) to store data on the host. - -```{code-cell} python -from cuda.bindings import driver, nvrtc -import numpy as np -``` - -Error checking is a fundamental best practice in code development and a code -example is provided. -In a future release, this may automatically raise exceptions using a Python -object model. - -```{code-cell} python -def _cudaGetErrorEnum(error): - if isinstance(error, driver.CUresult): - err, name = driver.cuGetErrorName(error) - return name if err == driver.CUresult.CUDA_SUCCESS else "" - elif isinstance(error, nvrtc.nvrtcResult): - return nvrtc.nvrtcGetErrorString(error)[1] - else: - raise RuntimeError('Unknown error type: {}'.format(error)) - -def checkCudaErrors(result): - if result[0].value: - raise RuntimeError("CUDA error code={}({})".format(result[0].value, _cudaGetErrorEnum(result[0]))) - if len(result) == 1: - return None - elif len(result) == 2: - return result[1] - else: - return result[1:] -``` - -It’s common practice to write CUDA kernels near the top of a translation unit, -so write it next. The entire kernel is wrapped in triple quotes to form a -string. The string is compiled later using NVRTC. This is the only part of CUDA -Python that requires some understanding of CUDA C++. For more information, see -[An Even Easier Introduction to -CUDA](https://developer.nvidia.com/blog/even-easier-introduction-cuda/). - -```{code-cell} python -saxpy = """\ -extern "C" __global__ -void saxpy(float a, float *x, float *y, float *out, size_t n) -{ - size_t tid = blockIdx.x * blockDim.x + threadIdx.x; - if (tid < n) { - out[tid] = a * x[tid] + y[tid]; - } -} -""" -``` -Go ahead and compile the kernel into PTX. Remember that this is executed at runtime using NVRTC. There are three basic steps to NVRTC: - -- Create a program from the string. -- Compile the program. -- Extract PTX from the compiled program. - -In the following code example, the Driver API is initialized so that the NVIDIA driver -and GPU are accessible. Next, the GPU is queried for their compute capability. Finally, -the program is compiled to target our local compute capability architecture with FMAD enabled. - -```{code-cell} python -# Initialize CUDA Driver API -checkCudaErrors(driver.cuInit(0)) - -# Retrieve handle for device 0 -cuDevice = checkCudaErrors(driver.cuDeviceGet(0)) - -# Derive target architecture for device 0 -major = checkCudaErrors(driver.cuDeviceGetAttribute(driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, cuDevice)) -minor = checkCudaErrors(driver.cuDeviceGetAttribute(driver.CUdevice_attribute.CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, cuDevice)) -arch_arg = bytes(f'--gpu-architecture=compute_{major}{minor}', 'ascii') - -# Create program -prog = checkCudaErrors(nvrtc.nvrtcCreateProgram(str.encode(saxpy), b"saxpy.cu", 0, [], [])) - -# Compile program -opts = [b"--fmad=false", arch_arg] -checkCudaErrors(nvrtc.nvrtcCompileProgram(prog, 2, opts)) - -# Get PTX from compilation -ptxSize = checkCudaErrors(nvrtc.nvrtcGetPTXSize(prog)) -ptx = b" " * ptxSize -checkCudaErrors(nvrtc.nvrtcGetPTX(prog, ptx)) -``` - -Before you can use the PTX or do any work on the GPU, you must create a CUDA -context. CUDA contexts are analogous to host processes for the device. In the -following code example, a handle for compute device 0 is passed to -`cuCtxCreate` to designate that GPU for context creation. - -```{code-cell} python -# Create context -context = checkCudaErrors(driver.cuCtxCreate(0, cuDevice)) -``` - -With a CUDA context created on device 0, load the PTX generated earlier into a -module. A module is analogous to dynamically loaded libraries for the device. -After loading into the module, extract a specific kernel with -`cuModuleGetFunction`. It is not uncommon for multiple kernels to reside in PTX. - -```{code-cell} python -# Load PTX as module data and retrieve function -ptx = np.char.array(ptx) -# Note: Incompatible --gpu-architecture would be detected here -module = checkCudaErrors(driver.cuModuleLoadData(ptx.ctypes.data)) -kernel = checkCudaErrors(driver.cuModuleGetFunction(module, b"saxpy")) -``` - -Next, get all your data prepared and transferred to the GPU. For increased -application performance, you can input data on the device to eliminate data -transfers. For completeness, this example shows how you would transfer data to -and from the device. - -```{code-cell} python -NUM_THREADS = 512 # Threads per block -NUM_BLOCKS = 32768 # Blocks per grid - -a = np.array([2.0], dtype=np.float32) -n = np.array(NUM_THREADS * NUM_BLOCKS, dtype=np.uint32) -bufferSize = n * a.itemsize - -hX = np.random.rand(n).astype(dtype=np.float32) -hY = np.random.rand(n).astype(dtype=np.float32) -hOut = np.zeros(n).astype(dtype=np.float32) -``` - -With the input data `a`, `x`, and `y` created for the SAXPY transform device, -resources must be allocated to store the data using `cuMemAlloc`. To allow for -more overlap between compute and data movement, use the asynchronous function -`cuMemcpyHtoDAsync`. It returns control to the CPU immediately following command -execution. - -Python doesn’t have a natural concept of pointers, yet `cuMemcpyHtoDAsync` expects -`void*`. Therefore, `XX.ctypes.data` retrieves the pointer value associated with -XX. - -```{code-cell} python -dXclass = checkCudaErrors(driver.cuMemAlloc(bufferSize)) -dYclass = checkCudaErrors(driver.cuMemAlloc(bufferSize)) -dOutclass = checkCudaErrors(driver.cuMemAlloc(bufferSize)) - -stream = checkCudaErrors(driver.cuStreamCreate(0)) - -checkCudaErrors(driver.cuMemcpyHtoDAsync( - dXclass, hX.ctypes.data, bufferSize, stream -)) -checkCudaErrors(driver.cuMemcpyHtoDAsync( - dYclass, hY.ctypes.data, bufferSize, stream -)) -``` - -With data prep and resources allocation finished, the kernel is ready to be -launched. To pass the location of the data on the device to the kernel execution -configuration, you must retrieve the device pointer. In the following code -example, `int(dXclass)` retries the pointer value of `dXclass`, which is -`CUdeviceptr`, and assigns a memory size to store this value using `np.array`. - -Like `cuMemcpyHtoDAsync`, `cuLaunchKernel` expects `void**` in the argument list. In -the earlier code example, it creates `void**` by grabbing the `void*` value of each -individual argument and placing them into its own contiguous memory. - -```{code-cell} python -# The following code example is not intuitive -# Subject to change in a future release -dX = np.array([int(dXclass)], dtype=np.uint64) -dY = np.array([int(dYclass)], dtype=np.uint64) -dOut = np.array([int(dOutclass)], dtype=np.uint64) - -args = [a, dX, dY, dOut, n] -args = np.array([arg.ctypes.data for arg in args], dtype=np.uint64) -``` - -Now the kernel can be launched: - -```{code-cell} python -checkCudaErrors(driver.cuLaunchKernel( - kernel, - NUM_BLOCKS, # grid x dim - 1, # grid y dim - 1, # grid z dim - NUM_THREADS, # block x dim - 1, # block y dim - 1, # block z dim - 0, # dynamic shared memory - stream, # stream - args.ctypes.data, # kernel arguments - 0, # extra (ignore) -)) - -checkCudaErrors(driver.cuMemcpyDtoHAsync( - hOut.ctypes.data, dOutclass, bufferSize, stream -)) -checkCudaErrors(driver.cuStreamSynchronize(stream)) -``` - -The `cuLaunchKernel` function takes the compiled module kernel and execution -configuration parameters. The device code is launched in the same stream as the -data transfers. That ensures that the kernel’s compute is performed only after -the data has finished transfer, as all API calls and kernel launches within a -stream are serialized. After the call to transfer data back to the host is -executed, `cuStreamSynchronize` is used to halt CPU execution until all operations -in the designated stream are finished. - -```{code-cell} python -# Assert values are same after running kernel -hZ = a * hX + hY -if not np.allclose(hOut, hZ): - raise ValueError("Error outside tolerance for host-device vectors") -``` - -Perform verification of the data to ensure correctness and finish the code with -memory clean up. - -```{code-cell} python -checkCudaErrors(driver.cuStreamDestroy(stream)) -checkCudaErrors(driver.cuMemFree(dXclass)) -checkCudaErrors(driver.cuMemFree(dYclass)) -checkCudaErrors(driver.cuMemFree(dOutclass)) -checkCudaErrors(driver.cuModuleUnload(module)) -checkCudaErrors(driver.cuCtxDestroy(context)) -``` - -## Performance - -Performance is a primary driver in targeting GPUs in your application. So, how -does the above code compare to its C++ version? Table 1 shows that the results -are nearly identical. [NVIDIA NSight -Systems](https://developer.nvidia.com/nsight-systems) was used to retrieve -kernel performance and [CUDA -Events](https://developer.nvidia.com/blog/how-implement-performance-metrics-cuda-cc/) -was used for application performance. - -The following command was used to profile the applications: - -```{code-block} shell -nsys profile -s none -t cuda --stats=true -``` - -```{list-table} Kernel and application performance comparison. -:header-rows: 1 - -* - - - C++ - - Python -* - Kernel execution - - 352µs - - 352µs -* - Application execution - - 1076ms - - 1080ms -``` - -CUDA Python is also compatible with [NVIDIA Nsight -Compute](https://developer.nvidia.com/nsight-compute), which is an -interactive kernel profiler for CUDA applications. It allows you to have -detailed insights into kernel performance. This is useful when you’re trying to -maximize performance ({numref}`Figure 1`). - -```{figure} _static/images/Nsigth-Compute-CLI-625x473.png -:name: Figure 1 - -Screenshot of Nsight Compute CLI output of CUDA Python example. -``` - -## Future of CUDA Python - -The current bindings are built to match the C APIs as closely as possible. - -The next goal is to build a higher-level "object oriented" API on top of -current CUDA Python bindings and provide an overall more Pythonic experience. -One such example would be to raise exceptions on errors. diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release.md.txt deleted file mode 100644 index 2e21561e..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release.md.txt +++ /dev/null @@ -1,31 +0,0 @@ -# Release Notes - -```{toctree} ---- -maxdepth: 3 ---- - - 12.x.y - 12.6.2 - 12.6.1 - 12.6.0 - 12.5.0 - 12.4.0 - 12.3.0 - 12.2.1 - 12.2.0 - 12.1.0 - 12.0.0 - 11.8.5 - 11.8.4 - 11.8.3 - 11.8.2 - 11.8.1 - 11.8.0 - 11.7.1 - 11.7.0 - 11.6.1 - 11.6.0 - 11.5.0 - 11.4.0 -``` diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.4.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.4.0-notes.md.txt deleted file mode 100644 index 9eaa4eff..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.4.0-notes.md.txt +++ /dev/null @@ -1,42 +0,0 @@ -# CUDA Python 11.4.0 Release notes - -Released on August 16, 2021 - -## Highlights -- Initial EA release for CUDA Python -- Supports all platforms that CUDA is supported -- Supports all CUDA 11.x releases -- Low-level CUDA Cython bindings and Python wrappers - -## Limitations - -- Source code release only; Python packages coming in a future release. - -### CUDA Functions Not Supported in this Release - -- cudaGetTextureReference -- cudaGetSurfaceReference -- cudaBindTexture -- cudaBindTexture2D -- cudaBindTextureToArray -- cudaBindTextureToMipmappedArray -- cudaLaunchKernel -- cudaLaunchCooperativeKernel -- cudaLaunchCooperativeKernelMultiDevice -- cudaMemcpyToSymbol -- cudaMemcpyFromSymbol -- cudaMemcpyToSymbolAsync -- cudaMemcpyFromSymbolAsync -- cudaGetSymbolAddress -- cudaGetSymbolSize -- cudaUnbindTexture -- cudaGetTextureAlignmentOffset -- cudaBindSurfaceToArray -- cudaGetFuncBySymbol -- cudaSetValidDevices -- cudaGraphExecMemcpyNodeSetParamsFromSymbol -- cudaGraphExecMemcpyNodeSetParamsToSymbol -- cudaGraphAddMemcpyNodeToSymbol -- cudaGraphAddMemcpyNodeFromSymbol -- cudaGraphMemcpyNodeSetParamsToSymbol -- cudaGraphMemcpyNodeSetParamsFromSymbol diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.5.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.5.0-notes.md.txt deleted file mode 100644 index 130cb17d..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.5.0-notes.md.txt +++ /dev/null @@ -1,110 +0,0 @@ -# CUDA Python 11.5.0 Release notes - -Released on October 18, 2021 - -## Highlights -- PyPi support -- Conda support -- GA release for CUDA Python -- Supports all platforms that CUDA is supported -- Supports all CUDA 11.x releases -- Low-level CUDA Cython bindings and Python wrappers - -## Limitations - -- Changing default stream not supported; coming in future release - -### CUDA Functions Not Supported in this Release - -- cudaGetTextureReference -- cudaGetSurfaceReference -- cudaBindTexture -- cudaBindTexture2D -- cudaBindTextureToArray -- cudaBindTextureToMipmappedArray -- cudaLaunchKernel -- cudaLaunchCooperativeKernel -- cudaLaunchCooperativeKernelMultiDevice -- cudaMemcpyToSymbol -- cudaMemcpyFromSymbol -- cudaMemcpyToSymbolAsync -- cudaMemcpyFromSymbolAsync -- cudaGetSymbolAddress -- cudaGetSymbolSize -- cudaUnbindTexture -- cudaGetTextureAlignmentOffset -- cudaBindSurfaceToArray -- cudaGetFuncBySymbol -- cudaSetValidDevices -- cudaGraphExecMemcpyNodeSetParamsFromSymbol -- cudaGraphExecMemcpyNodeSetParamsToSymbol -- cudaGraphAddMemcpyNodeToSymbol -- cudaGraphAddMemcpyNodeFromSymbol -- cudaGraphMemcpyNodeSetParamsToSymbol -- cudaGraphMemcpyNodeSetParamsFromSymbol -- cudaProfilerInitialize -- cudaProfilerStart -- cudaProfilerStop -- cuProfilerInitialize -- cuProfilerStart -- cuProfilerStop -- EGL - - cuGraphicsEGLRegisterImage - - cuEGLStreamConsumerConnect - - cuEGLStreamConsumerConnectWithFlags - - cuEGLStreamConsumerDisconnect - - cuEGLStreamConsumerAcquireFrame - - cuEGLStreamConsumerReleaseFrame - - cuEGLStreamProducerConnect - - cuEGLStreamProducerDisconnect - - cuEGLStreamProducerPresentFrame - - cuEGLStreamProducerReturnFrame - - cuGraphicsResourceGetMappedEglFrame - - cuEventCreateFromEGLSync - - cudaGraphicsEGLRegisterImage - - cudaEGLStreamConsumerConnect - - cudaEGLStreamConsumerConnectWithFlags - - cudaEGLStreamConsumerDisconnect - - cudaEGLStreamConsumerAcquireFrame - - cudaEGLStreamConsumerReleaseFrame - - cudaEGLStreamProducerConnect - - cudaEGLStreamProducerDisconnect - - cudaEGLStreamProducerPresentFrame - - cudaEGLStreamProducerReturnFrame - - cudaGraphicsResourceGetMappedEglFrame - - cudaEventCreateFromEGLSync -- GL - - cuGraphicsGLRegisterBuffer - - cuGraphicsGLRegisterImage - - cuWGLGetDevice - - cuGLGetDevices - - cuGLCtxCreate - - cuGLInit - - cuGLRegisterBufferObject - - cuGLMapBufferObject - - cuGLUnmapBufferObject - - cuGLUnregisterBufferObject - - cuGLSetBufferObjectMapFlags - - cuGLMapBufferObjectAsync - - cuGLUnmapBufferObjectAsync - - cudaGLGetDevices - - cudaGraphicsGLRegisterImage - - cudaGraphicsGLRegisterBuffer - - cudaWGLGetDevice - - cudaGLSetGLDevice - - cudaGLRegisterBufferObject - - cudaGLMapBufferObject - - cudaGLUnmapBufferObject - - cudaGLUnregisterBufferObject - - cudaGLSetBufferObjectMapFlags - - cudaGLMapBufferObjectAsync - - cudaGLUnmapBufferObjectAsync -- VDPAU - - cuVDPAUGetDevice - - cuVDPAUCtxCreate - - cuGraphicsVDPAURegisterVideoSurface - - cuGraphicsVDPAURegisterOutputSurface - - cudaVDPAUGetDevice - - cudaVDPAUSetVDPAUDevice - - cudaGraphicsVDPAURegisterVideoSurface - - cudaGraphicsVDPAURegisterOutputSurface diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.6.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.6.0-notes.md.txt deleted file mode 100644 index 664da162..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.6.0-notes.md.txt +++ /dev/null @@ -1,73 +0,0 @@ -# CUDA Python 11.6.0 Release notes - -Released on Januray 12, 2022 - -## Highlights -- Support CUDA Toolkit 11.6 -- Support Profiler APIs -- Support Graphic APIs (EGL, GL, VDPAU) -- Support changing default stream -- Relaxed primitive interoperability - -### Default stream - -Changing default stream to Per-Thread-Default-Stream (PTDS) is done through environment variable before execution: - -```{code-block} shell -export CUDA_PYTHON_CUDA_PER_THREAD_DEFAULT_STREAM=1 -``` - -When set to 1, the default stream is the per-thread default stream. When set to 0, the default stream is the legacy default stream. This defaults to 0, for the legacy default stream. See [Stream Synchronization Behavior](https://docs.nvidia.com/cuda/cuda-runtime-api/stream-sync-behavior.html) for an explanation of the legacy and per-thread default streams. - -### Primitive interoperability - -APIs accepting classes that wrap a primitive value are now interoperable with the underlining value. - -Example 1: Structure member handles interoperability. - -```{code-block} python ->>> waitParams = cuda.CUstreamMemOpWaitValueParams_st() ->>> waitParams.value64 = 1 ->>> waitParams.value64 - ->>> waitParams.value64 = cuda.cuuint64_t(2) ->>> waitParams.value64 - -``` - -Example 2: Function signature handles interoperability. - -```{code-block} python ->>> cudart.cudaStreamQuery(cudart.cudaStreamNonBlocking) -(,) ->>> cudart.cudaStreamQuery(cudart.cudaStream_t(cudart.cudaStreamNonBlocking)) -(,) -``` - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice - -```{note} Deprecated APIs are removed from tracking -``` diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.6.1-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.6.1-notes.md.txt deleted file mode 100644 index ddd6ff51..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.6.1-notes.md.txt +++ /dev/null @@ -1,31 +0,0 @@ -# CUDA Python 11.6.1 Release notes - -Released on March 18, 2022 - -## Highlights -- Fix string decomposition for WSL library load - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.7.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.7.0-notes.md.txt deleted file mode 100644 index 22500c7a..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.7.0-notes.md.txt +++ /dev/null @@ -1,31 +0,0 @@ -# CUDA Python 11.7.0 Release notes - -Released on May 11, 2022 - -## Highlights -- Support CUDA Toolkit 11.7 - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.7.1-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.7.1-notes.md.txt deleted file mode 100644 index 2997c9da..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.7.1-notes.md.txt +++ /dev/null @@ -1,47 +0,0 @@ -# CUDA Python 11.7.1 Release notes - -Released on June 29, 2022 - -## Highlights -- Fix error propagation in CUDA Runtime bindings -- Resolves [issue #22](https://github.com/NVIDIA/cuda-python/issues/22) - -## Limitations - -### Source builds - -CUDA Python no longer re-declares CUDA types, instead it uses the types from CUDA C headers. As such source builds now need to access to latest CTK headers. In particular: -1. "$CUDA_HOME/include" has latest CTK headers -2. CTK headers have all types defined - -(2) Certain CUDA types are not declared on mobile platforms and may face a "has not been declared" error during source builds. A temporary workaround is to use the headers found in [https://gitlab.com/nvidia/headers/cuda](https://gitlab.com/nvidia/headers/cuda). In particular CUDA Python needs the following headers and their dependencies: -- cuda.h -- cudaProfiler.h -- driver_types.h -- cuda_runtime.h -- nvrtc.h - -This a short-term limitation and will be relaxed in a future release. - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.0-notes.md.txt deleted file mode 100644 index c5bf9f71..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.0-notes.md.txt +++ /dev/null @@ -1,40 +0,0 @@ -# CUDA Python 11.8.0 Release notes - -Released on October 3, 2022 - -## Highlights -- Support CUDA Toolkit 11.8 -- Source builds allow for missing types and APIs -- Resolves source builds for mobile platforms -- Resolves [issue #24](https://github.com/NVIDIA/cuda-python/issues/24) - -### Source Builds - -CUDA Python source builds now parse CUDA headers located in $CUDA_HOME directory, enabling/disabling types and APIs if defined. Therefore this removes the need for CTK headers to have all types defined. By allowing minor variations, previous [11.7.1 mobile platform workaround](https://nvidia.github.io/cuda-python/release/11.7.1-notes.html#source-builds) is no longer needed. - -It's still required that source builds use the latest CTK headers (i.e. “$CUDA_HOME/include” has latest CTK headers). - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.1-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.1-notes.md.txt deleted file mode 100644 index f7c2e7d4..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.1-notes.md.txt +++ /dev/null @@ -1,32 +0,0 @@ -# CUDA Python 11.8.1 Release notes - -Released on November 4, 2022 - -## Highlights -- Resolves [issue #27](https://github.com/NVIDIA/cuda-python/issues/27) -- Update install instructions to use latest CTK - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.2-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.2-notes.md.txt deleted file mode 100644 index f9d16556..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.2-notes.md.txt +++ /dev/null @@ -1,31 +0,0 @@ -# CUDA Python 11.8.2 Release notes - -Released on May 18, 2023 - -## Highlights -- Open libcuda.so.1 instead of libcuda.so - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.3-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.3-notes.md.txt deleted file mode 100644 index a8ff840c..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.3-notes.md.txt +++ /dev/null @@ -1,33 +0,0 @@ -# CUDA Python 11.8.3 Release notes - -Released on October 23, 2023 - -## Highlights -- Compatability with Cython 3 -- New API cudart.getLocalRuntimeVersion() -- Modernize build config - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.4-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.4-notes.md.txt deleted file mode 100644 index 13767998..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.4-notes.md.txt +++ /dev/null @@ -1,54 +0,0 @@ -# CUDA Python 11.8.4 Release notes - -Released on October 7, 2024 - -## Highlights -- Resolve [Issue #89](https://github.com/NVIDIA/cuda-python/issues/89): Fix getLocalRuntimeVersion searching for wrong libcudart version -- Resolve [Issue #90](https://github.com/NVIDIA/cuda-python/issues/90): Use new layout in preperation for cuda-python becoming a metapackage - -## CUDA namespace cleanup with a new module layout - -[Issue #75](https://github.com/NVIDIA/cuda-python/issues/75) explains in detail what the new module layout is, what problem it fixes and how it impacts the users. However for the sake of completeness, this release notes will highlight key points of this change. - -Before this change, `cuda-python` was tightly coupled to CUDA Toolkit releases and all new features would inherit this coupling regardless of their applicability. As we develop new features, this coupling was becoming overly restrictive and motivated a new solution: Convert `cuda-python` into a metapackage where we use `cuda` as a namespace with existing bindings code moved to a `cuda_bindings` subpackage. - -This patch release applies the new module layout for the bindings as follows: -- `cuda.cuda` -> `cuda.bindings.driver` -- `cuda.ccuda` -> `cuda.bindings.cydriver` -- `cuda.cudart` -> `cuda.bindings.runtime` -- `cuda.ccudart` -> `cuda.bindings.cyruntime` -- `cuda.nvrtc` -> `cuda.bindings.nvrtc` -- `cuda.cnvrtc` -> `cuda.bindings.cynvrtc` - -Deprecation warnings are turned on as a notice to switch to the new module layout. - -```{note} This is non-breaking, backwards compatible change. All old module path will continue work as they "forward" user calls towards the new layout. -``` - -## Limitations - -### Know issues -- [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215) - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.5-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.5-notes.md.txt deleted file mode 100644 index 37498b11..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/11.8.5-notes.md.txt +++ /dev/null @@ -1,33 +0,0 @@ -# CUDA Python 11.8.5 Release notes - -Released on November 5, 2024. Post 1 rebuild released on November 12, 2024. - -## Highlights -- Resolve [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215): module `cuda.ccudart` has no attribute `__pyx_capi__` -- Resolve [Issue #226](https://github.com/NVIDIA/cuda-python/issues/226): top-level Cython source files not packaged - - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.0.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.0.0-notes.md.txt deleted file mode 100644 index 9f2ae258..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.0.0-notes.md.txt +++ /dev/null @@ -1,33 +0,0 @@ -# CUDA Python 12.0.0 Release notes - -Released on December 8, 2022 - -## Highlights -- Rebase to CUDA Toolkit 12.0 -- Fix example from [MR28](https://github.com/NVIDIA/cuda-python/pull/28) -- Apply [MR35](https://github.com/NVIDIA/cuda-python/pull/35) - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.1.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.1.0-notes.md.txt deleted file mode 100644 index 94310bb5..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.1.0-notes.md.txt +++ /dev/null @@ -1,34 +0,0 @@ -# CUDA Python 12.1.0 Release notes - -Released on February 28, 2023 - -## Highlights -- Rebase to CUDA Toolkit 12.1 -- Resolve [Issue #41](https://github.com/NVIDIA/cuda-python/issues/41): Add support for Python 3.11 -- Resolve [Issue #42](https://github.com/NVIDIA/cuda-python/issues/42): Dropping Python 3.7 -- Resolve [Issue #43](https://github.com/NVIDIA/cuda-python/issues/43): Trim Conda package dependencies - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.2.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.2.0-notes.md.txt deleted file mode 100644 index 39e37b9a..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.2.0-notes.md.txt +++ /dev/null @@ -1,33 +0,0 @@ -# CUDA Python 12.2.0 Release notes - -Released on June 28, 2023 - -## Highlights -- Rebase to CUDA Toolkit 12.2 -- Resolve [Issue #44](https://github.com/NVIDIA/cuda-python/issues/44): nogil must be at the end of the function signature line -- Resolve [Issue #45](https://github.com/NVIDIA/cuda-python/issues/45): Error with pyparsing when no CUDA is found - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.2.1-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.2.1-notes.md.txt deleted file mode 100644 index 3a89af85..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.2.1-notes.md.txt +++ /dev/null @@ -1,31 +0,0 @@ -# CUDA Python 12.2.1 Release notes - -Released on January 8, 2024 - -## Highlights -- Compatibility with Cython 3 - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.3.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.3.0-notes.md.txt deleted file mode 100644 index 15bcdb97..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.3.0-notes.md.txt +++ /dev/null @@ -1,36 +0,0 @@ -# CUDA Python 12.3.0 Release notes - -Released on October 19, 2023 - -## Highlights -- Rebase to CUDA Toolkit 12.3 -- Resolve [Issue #16](https://github.com/NVIDIA/cuda-python/issues/16): cuda.cudart.cudaRuntimeGetVersion() hard-codes the runtime version, rather than querying the runtime - - New API cudart.getLocalRuntimeVersion() -- Resolve [Issue #48](https://github.com/NVIDIA/cuda-python/issues/48): Dropping Python 3.8 -- Resolve [Issue #51](https://github.com/NVIDIA/cuda-python/issues/51): Dropping package releases for ppc64 on PYPI and conda-nvidia channel - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice -- cudaFuncGetName diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.4.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.4.0-notes.md.txt deleted file mode 100644 index 191ecc64..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.4.0-notes.md.txt +++ /dev/null @@ -1,34 +0,0 @@ -# CUDA Python 12.4.0 Release notes - -Released on March 5, 2024 - -## Highlights -- Rebase to CUDA Toolkit 12.4 -- Add PyPI/Conda support for Python 12 - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice -- cudaFuncGetName -- cudaFuncGetParamInfo diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.5.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.5.0-notes.md.txt deleted file mode 100644 index b0e527a8..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.5.0-notes.md.txt +++ /dev/null @@ -1,34 +0,0 @@ -# CUDA Python 12.5.0 Release notes - -Released on May 21, 2024 - -## Highlights -- Rebase to CUDA Toolkit 12.5 -- Resolve [Issue #58](https://github.com/NVIDIA/cuda-python/issues/58): Interop between CUdeviceptr and Runtime - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice -- cudaFuncGetName -- cudaFuncGetParamInfo diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.0-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.0-notes.md.txt deleted file mode 100644 index 466e2eec..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.0-notes.md.txt +++ /dev/null @@ -1,36 +0,0 @@ -# CUDA Python 12.6.0 Release notes - -Released on August 1, 2024 - -## Highlights -- Rebase to CUDA Toolkit 12.6 -- Resolve [Issue #32](https://github.com/NVIDIA/cuda-python/issues/32): Add 'pywin32' as Windows requirement -- Resolve [Issue #72](https://github.com/NVIDIA/cuda-python/issues/72): Allow both lists and tuples as parameter -- Resolve [Issue #73](https://github.com/NVIDIA/cuda-python/issues/73): Fix 'cuLibraryLoadData' processing of parameters - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice -- cudaFuncGetName -- cudaFuncGetParamInfo diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.1-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.1-notes.md.txt deleted file mode 100644 index 36004712..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.1-notes.md.txt +++ /dev/null @@ -1,56 +0,0 @@ -# CUDA Python 12.6.1 Release notes - -Released on October 7, 2024 - -## Highlights -- Resolve [Issue #90](https://github.com/NVIDIA/cuda-python/issues/90): Use new layout in preparation for cuda-python becoming a metapackage -- Resolve [Issue #75](https://github.com/NVIDIA/cuda-python/issues/75): CUDA namespace cleanup - -## CUDA namespace cleanup with a new module layout - -[Issue #75](https://github.com/NVIDIA/cuda-python/issues/75) explains in detail what the new module layout is, what problem it fixes and how it impacts the users. However for the sake of completeness, this release notes will highlight key points of this change. - -Before this change, `cuda-python` was tightly coupled to CUDA Toolkit releases and all new features would inherit this coupling regardless of their applicability. As we develop new features, this coupling was becoming overly restrictive and motivated a new solution: Convert `cuda-python` into a metapackage where we use `cuda` as a namespace with existing bindings code moved to a `cuda_bindings` subpackage. - -This patch release applies the new module layout for the bindings as follows: -- `cuda.cuda` -> `cuda.bindings.driver` -- `cuda.ccuda` -> `cuda.bindings.cydriver` -- `cuda.cudart` -> `cuda.bindings.runtime` -- `cuda.ccudart` -> `cuda.bindings.cyruntime` -- `cuda.nvrtc` -> `cuda.bindings.nvrtc` -- `cuda.cnvrtc` -> `cuda.bindings.cynvrtc` - -Deprecation warnings are turned on as a notice to switch to the new module layout. - -```{note} This is non-breaking, backwards compatible change. All old module path will continue work as they "forward" user calls towards the new layout. -``` - -## Limitations - -### Know issues -- [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215) - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice -- cudaFuncGetName -- cudaFuncGetParamInfo diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.2-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.2-notes.md.txt deleted file mode 100644 index 938b9f5a..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.6.2-notes.md.txt +++ /dev/null @@ -1,35 +0,0 @@ -# CUDA Python 12.6.2 Release notes - -Released on November 5, 2024. Post 1 rebuild released on November 12, 2024. - -## Highlights -- Resolve [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215): module `cuda.ccudart` has no attribute `__pyx_capi__` -- Resolve [Issue #226](https://github.com/NVIDIA/cuda-python/issues/226): top-level Cython source files not packaged - - -## Limitations - -### CUDA Functions Not Supported in this Release - -- Symbol APIs - - cudaGraphExecMemcpyNodeSetParamsFromSymbol - - cudaGraphExecMemcpyNodeSetParamsToSymbol - - cudaGraphAddMemcpyNodeToSymbol - - cudaGraphAddMemcpyNodeFromSymbol - - cudaGraphMemcpyNodeSetParamsToSymbol - - cudaGraphMemcpyNodeSetParamsFromSymbol - - cudaMemcpyToSymbol - - cudaMemcpyFromSymbol - - cudaMemcpyToSymbolAsync - - cudaMemcpyFromSymbolAsync - - cudaGetSymbolAddress - - cudaGetSymbolSize - - cudaGetFuncBySymbol -- Launch Options - - cudaLaunchKernel - - cudaLaunchCooperativeKernel - - cudaLaunchCooperativeKernelMultiDevice -- cudaSetValidDevices -- cudaVDPAUSetVDPAUDevice -- cudaFuncGetName -- cudaFuncGetParamInfo diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.x.y-notes.md.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.x.y-notes.md.txt deleted file mode 100644 index 9eff5ac7..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/release/12.x.y-notes.md.txt +++ /dev/null @@ -1,24 +0,0 @@ -# CUDA Python 12.X.Y Release notes - -Released on MM DD, 20YY. - -## Highlights -- Add bindings for nvJitLink. It requires nvJitLink from CUDA 12.3 or above. -- Add optional dependencies to wheels for NVRTC and nvJitLink -- Enable discovery and loading of shared library dependencies from wheels - -## Wheels support for optional dependencies - -Optional dependencies are added for packages: - -- nvidia-nvjitlink-cuXX -- nvidia-cuda-nvrtc-cuXX - -Installing these dependencies with cuda-python can be done using: -```{code-block} shell -pip install cuda-python[all] -``` - -## Discovery and loading of shared library dependencies from wheels - -Shared library search paths for wheel builds are now extended to check site-packages. This allows users to seamlessly use their wheel installation of the CUDA Toolkit with cuda-python. diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/tips_and_tricks.rst.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/tips_and_tricks.rst.txt deleted file mode 100644 index d979ea85..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_sources/tips_and_tricks.rst.txt +++ /dev/null @@ -1,9 +0,0 @@ -Tips and Tricks ---------------- - -Getting the address of underlying C objects from the low-level bindings -======================================================================= - -All CUDA C types are exposed to Python as Python classes. For example, the :class:`~cuda.bindings.driver.CUstream` type is exposed as a class with methods :meth:`~cuda.bindings.driver.CUstream.getPtr()` and :meth:`~cuda.bindings.driver.CUstream.__int__()` implemented. - -There is an important distinction between the ``getPtr()`` method and the behaviour of ``__int__()``. If you need to get the pointer address *of* the underlying ``CUstream`` C object wrapped in the Python class, you can do so by calling ``int(instance_of_CUstream)``, which returns the address as a Python `int`, while calling ``instance_of_CUstream.getPtr()`` returns the pointer *to* the ``CUstream`` C object (that is, ``&CUstream``) as a Python `int`. diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/basic.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/basic.css deleted file mode 100644 index 7ebbd6d0..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/basic.css +++ /dev/null @@ -1,914 +0,0 @@ -/* - * Sphinx stylesheet -- basic theme. - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin-top: 10px; -} - -ul.search li { - padding: 5px 0; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/debug.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/debug.css deleted file mode 100644 index 74d4aec3..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/debug.css +++ /dev/null @@ -1,69 +0,0 @@ -/* - This CSS file should be overridden by the theme authors. It's - meant for debugging and developing the skeleton that this theme provides. -*/ -body { - font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, - "Apple Color Emoji", "Segoe UI Emoji"; - background: lavender; -} -.sb-announcement { - background: rgb(131, 131, 131); -} -.sb-announcement__inner { - background: black; - color: white; -} -.sb-header { - background: lightskyblue; -} -.sb-header__inner { - background: royalblue; - color: white; -} -.sb-header-secondary { - background: lightcyan; -} -.sb-header-secondary__inner { - background: cornflowerblue; - color: white; -} -.sb-sidebar-primary { - background: lightgreen; -} -.sb-main { - background: blanchedalmond; -} -.sb-main__inner { - background: antiquewhite; -} -.sb-header-article { - background: lightsteelblue; -} -.sb-article-container { - background: snow; -} -.sb-article-main { - background: white; -} -.sb-footer-article { - background: lightpink; -} -.sb-sidebar-secondary { - background: lightgoldenrodyellow; -} -.sb-footer-content { - background: plum; -} -.sb-footer-content__inner { - background: palevioletred; -} -.sb-footer { - background: pink; -} -.sb-footer__inner { - background: salmon; -} -.sb-article { - background: white; -} diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/doctools.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/doctools.js deleted file mode 100644 index 0398ebb9..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/doctools.js +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Base JavaScript utilities for all Sphinx HTML documentation. - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/documentation_options.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/documentation_options.js deleted file mode 100644 index 4cb88255..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '12.6.3', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/file.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/file.png deleted file mode 100644 index a858a410..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/file.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/images/Nsigth-Compute-CLI-625x473.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/images/Nsigth-Compute-CLI-625x473.png deleted file mode 100644 index 9895798f..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/images/Nsigth-Compute-CLI-625x473.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/javascripts/version_dropdown.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/javascripts/version_dropdown.js deleted file mode 100644 index 29860a8f..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/javascripts/version_dropdown.js +++ /dev/null @@ -1,58 +0,0 @@ -function change_current_version(event) { - event.preventDefault(); - - var selectedVersion = event.target.textContent; - var currentVersion = document.getElementById('currentVersion'); - - // need to update both the on-screen state and the internal (persistent) storage - currentVersion.textContent = selectedVersion; - sessionStorage.setItem("currentVersion", selectedVersion); - - // Navigate to the clicked URL - window.location.href = event.target.href; -} - - -function add_version_dropdown(jsonLoc, targetLoc, currentVersion) { - var otherVersionsDiv = document.getElementById('otherVersions'); - - fetch(jsonLoc) - .then(function(response) { - return response.json(); - }) - .then(function(data) { - var versions = data; - - if (Object.keys(versions).length >= 1) { - var dlElement = document.createElement('dl'); - var dtElement = document.createElement('dt'); - dtElement.textContent = 'Versions'; - dlElement.appendChild(dtElement); - - for (var ver in versions) { - var url = versions[ver]; - var ddElement = document.createElement('dd'); - var aElement = document.createElement('a'); - aElement.setAttribute('href', targetLoc + url); - aElement.textContent = ver; - - if (ver === currentVersion) { - var strongElement = document.createElement('strong'); - strongElement.appendChild(aElement); - aElement = strongElement; - } - - ddElement.appendChild(aElement); - // Attach event listeners to version links - ddElement.addEventListener('click', change_current_version); - dlElement.appendChild(ddElement); - } - - otherVersionsDiv.innerHTML = ''; - otherVersionsDiv.appendChild(dlElement); - } - }) - .catch(function(error) { - console.error('Error fetching version.json:', error); - }); -} diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/language_data.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/language_data.js deleted file mode 100644 index c7fe6c6f..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/language_data.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, if available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/logo-dark-mode.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/logo-dark-mode.png deleted file mode 100644 index 6b005a28..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/logo-dark-mode.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/logo-light-mode.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/logo-light-mode.png deleted file mode 100644 index c07d6848..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/logo-light-mode.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/minus.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/minus.png deleted file mode 100644 index d96755fd..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/minus.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css deleted file mode 100644 index 33566310..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css +++ /dev/null @@ -1,2342 +0,0 @@ -/* Variables */ -:root { - --mystnb-source-bg-color: #f7f7f7; - --mystnb-stdout-bg-color: #fcfcfc; - --mystnb-stderr-bg-color: #fdd; - --mystnb-traceback-bg-color: #fcfcfc; - --mystnb-source-border-color: #ccc; - --mystnb-source-margin-color: green; - --mystnb-stdout-border-color: #f7f7f7; - --mystnb-stderr-border-color: #f7f7f7; - --mystnb-traceback-border-color: #ffd6d6; - --mystnb-hide-prompt-opacity: 70%; - --mystnb-source-border-radius: .4em; - --mystnb-source-border-width: 1px; -} - -/* Whole cell */ -div.container.cell { - padding-left: 0; - margin-bottom: 1em; -} - -/* Removing all background formatting so we can control at the div level */ -.cell_input div.highlight, -.cell_output pre, -.cell_input pre, -.cell_output .output { - border: none; - box-shadow: none; -} - -.cell_output .output pre, -.cell_input pre { - margin: 0px; -} - -/* Input cells */ -div.cell div.cell_input, -div.cell details.above-input>summary { - padding-left: 0em; - padding-right: 0em; - border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; - background-color: var(--mystnb-source-bg-color); - border-left-color: var(--mystnb-source-margin-color); - border-left-width: medium; - border-radius: var(--mystnb-source-border-radius); -} - -div.cell_input>div, -div.cell_output div.output>div.highlight { - margin: 0em !important; - border: none !important; -} - -/* All cell outputs */ -.cell_output { - padding-left: 1em; - padding-right: 0em; - margin-top: 1em; -} - -/* Text outputs from cells */ -.cell_output .output.text_plain, -.cell_output .output.traceback, -.cell_output .output.stream, -.cell_output .output.stderr { - margin-top: 1em; - margin-bottom: 0em; - box-shadow: none; -} - -.cell_output .output.text_plain, -.cell_output .output.stream { - background: var(--mystnb-stdout-bg-color); - border: 1px solid var(--mystnb-stdout-border-color); -} - -.cell_output .output.stderr { - background: var(--mystnb-stderr-bg-color); - border: 1px solid var(--mystnb-stderr-border-color); -} - -.cell_output .output.traceback { - background: var(--mystnb-traceback-bg-color); - border: 1px solid var(--mystnb-traceback-border-color); -} - -/* Collapsible cell content */ -div.cell details.above-input div.cell_input { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top: var(--mystnb-source-border-width) var(--mystnb-source-border-color) dashed; -} - -div.cell div.cell_input.above-output-prompt { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - -div.cell details.above-input>summary { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom: var(--mystnb-source-border-width) var(--mystnb-source-border-color) dashed; - padding-left: 1em; - margin-bottom: 0; -} - -div.cell details.above-output>summary { - background-color: var(--mystnb-source-bg-color); - padding-left: 1em; - padding-right: 0em; - border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; - border-radius: var(--mystnb-source-border-radius); - border-left-color: var(--mystnb-source-margin-color); - border-left-width: medium; -} - -div.cell details.below-input>summary { - background-color: var(--mystnb-source-bg-color); - padding-left: 1em; - padding-right: 0em; - border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; - border-top: none; - border-bottom-left-radius: var(--mystnb-source-border-radius); - border-bottom-right-radius: var(--mystnb-source-border-radius); - border-left-color: var(--mystnb-source-margin-color); - border-left-width: medium; -} - -div.cell details.hide>summary>span { - opacity: var(--mystnb-hide-prompt-opacity); -} - -div.cell details.hide[open]>summary>span.collapsed { - display: none; -} - -div.cell details.hide:not([open])>summary>span.expanded { - display: none; -} - -@keyframes collapsed-fade-in { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} -div.cell details.hide[open]>summary~* { - -moz-animation: collapsed-fade-in 0.3s ease-in-out; - -webkit-animation: collapsed-fade-in 0.3s ease-in-out; - animation: collapsed-fade-in 0.3s ease-in-out; -} - -/* Math align to the left */ -.cell_output .MathJax_Display { - text-align: left !important; -} - -/* Pandas tables. Pulled from the Jupyter / nbsphinx CSS */ -div.cell_output table { - border: none; - border-collapse: collapse; - border-spacing: 0; - color: black; - font-size: 1em; - table-layout: fixed; -} - -div.cell_output thead { - border-bottom: 1px solid black; - vertical-align: bottom; -} - -div.cell_output tr, -div.cell_output th, -div.cell_output td { - text-align: right; - vertical-align: middle; - padding: 0.5em 0.5em; - line-height: normal; - white-space: normal; - max-width: none; - border: none; -} - -div.cell_output th { - font-weight: bold; -} - -div.cell_output tbody tr:nth-child(odd) { - background: #f5f5f5; -} - -div.cell_output tbody tr:hover { - background: rgba(66, 165, 245, 0.2); -} - -/** source code line numbers **/ -span.linenos { - opacity: 0.5; -} - -/* Inline text from `paste` operation */ - -span.pasted-text { - font-weight: bold; -} - -span.pasted-inline img { - max-height: 2em; -} - -tbody span.pasted-inline img { - max-height: none; -} - -/* Font colors for translated ANSI escape sequences -Color values are copied from Jupyter Notebook -https://github.com/jupyter/notebook/blob/52581f8eda9b319eb0390ac77fe5903c38f81e3e/notebook/static/notebook/less/ansicolors.less#L14-L21 -Background colors from -https://nbsphinx.readthedocs.io/en/latest/code-cells.html#ANSI-Colors -*/ -div.highlight .-Color-Bold { - font-weight: bold; -} - -div.highlight .-Color[class*=-Black] { - color: #3E424D -} - -div.highlight .-Color[class*=-Red] { - color: #E75C58 -} - -div.highlight .-Color[class*=-Green] { - color: #00A250 -} - -div.highlight .-Color[class*=-Yellow] { - color: #DDB62B -} - -div.highlight .-Color[class*=-Blue] { - color: #208FFB -} - -div.highlight .-Color[class*=-Magenta] { - color: #D160C4 -} - -div.highlight .-Color[class*=-Cyan] { - color: #60C6C8 -} - -div.highlight .-Color[class*=-White] { - color: #C5C1B4 -} - -div.highlight .-Color[class*=-BGBlack] { - background-color: #3E424D -} - -div.highlight .-Color[class*=-BGRed] { - background-color: #E75C58 -} - -div.highlight .-Color[class*=-BGGreen] { - background-color: #00A250 -} - -div.highlight .-Color[class*=-BGYellow] { - background-color: #DDB62B -} - -div.highlight .-Color[class*=-BGBlue] { - background-color: #208FFB -} - -div.highlight .-Color[class*=-BGMagenta] { - background-color: #D160C4 -} - -div.highlight .-Color[class*=-BGCyan] { - background-color: #60C6C8 -} - -div.highlight .-Color[class*=-BGWhite] { - background-color: #C5C1B4 -} - -/* Font colors for 8-bit ANSI */ - -div.highlight .-Color[class*=-C0] { - color: #000000 -} - -div.highlight .-Color[class*=-BGC0] { - background-color: #000000 -} - -div.highlight .-Color[class*=-C1] { - color: #800000 -} - -div.highlight .-Color[class*=-BGC1] { - background-color: #800000 -} - -div.highlight .-Color[class*=-C2] { - color: #008000 -} - -div.highlight .-Color[class*=-BGC2] { - background-color: #008000 -} - -div.highlight .-Color[class*=-C3] { - color: #808000 -} - -div.highlight .-Color[class*=-BGC3] { - background-color: #808000 -} - -div.highlight .-Color[class*=-C4] { - color: #000080 -} - -div.highlight .-Color[class*=-BGC4] { - background-color: #000080 -} - -div.highlight .-Color[class*=-C5] { - color: #800080 -} - -div.highlight .-Color[class*=-BGC5] { - background-color: #800080 -} - -div.highlight .-Color[class*=-C6] { - color: #008080 -} - -div.highlight .-Color[class*=-BGC6] { - background-color: #008080 -} - -div.highlight .-Color[class*=-C7] { - color: #C0C0C0 -} - -div.highlight .-Color[class*=-BGC7] { - background-color: #C0C0C0 -} - -div.highlight .-Color[class*=-C8] { - color: #808080 -} - -div.highlight .-Color[class*=-BGC8] { - background-color: #808080 -} - -div.highlight .-Color[class*=-C9] { - color: #FF0000 -} - -div.highlight .-Color[class*=-BGC9] { - background-color: #FF0000 -} - -div.highlight .-Color[class*=-C10] { - color: #00FF00 -} - -div.highlight .-Color[class*=-BGC10] { - background-color: #00FF00 -} - -div.highlight .-Color[class*=-C11] { - color: #FFFF00 -} - -div.highlight .-Color[class*=-BGC11] { - background-color: #FFFF00 -} - -div.highlight .-Color[class*=-C12] { - color: #0000FF -} - -div.highlight .-Color[class*=-BGC12] { - background-color: #0000FF -} - -div.highlight .-Color[class*=-C13] { - color: #FF00FF -} - -div.highlight .-Color[class*=-BGC13] { - background-color: #FF00FF -} - -div.highlight .-Color[class*=-C14] { - color: #00FFFF -} - -div.highlight .-Color[class*=-BGC14] { - background-color: #00FFFF -} - -div.highlight .-Color[class*=-C15] { - color: #FFFFFF -} - -div.highlight .-Color[class*=-BGC15] { - background-color: #FFFFFF -} - -div.highlight .-Color[class*=-C16] { - color: #000000 -} - -div.highlight .-Color[class*=-BGC16] { - background-color: #000000 -} - -div.highlight .-Color[class*=-C17] { - color: #00005F -} - -div.highlight .-Color[class*=-BGC17] { - background-color: #00005F -} - -div.highlight .-Color[class*=-C18] { - color: #000087 -} - -div.highlight .-Color[class*=-BGC18] { - background-color: #000087 -} - -div.highlight .-Color[class*=-C19] { - color: #0000AF -} - -div.highlight .-Color[class*=-BGC19] { - background-color: #0000AF -} - -div.highlight .-Color[class*=-C20] { - color: #0000D7 -} - -div.highlight .-Color[class*=-BGC20] { - background-color: #0000D7 -} - -div.highlight .-Color[class*=-C21] { - color: #0000FF -} - -div.highlight .-Color[class*=-BGC21] { - background-color: #0000FF -} - -div.highlight .-Color[class*=-C22] { - color: #005F00 -} - -div.highlight .-Color[class*=-BGC22] { - background-color: #005F00 -} - -div.highlight .-Color[class*=-C23] { - color: #005F5F -} - -div.highlight .-Color[class*=-BGC23] { - background-color: #005F5F -} - -div.highlight .-Color[class*=-C24] { - color: #005F87 -} - -div.highlight .-Color[class*=-BGC24] { - background-color: #005F87 -} - -div.highlight .-Color[class*=-C25] { - color: #005FAF -} - -div.highlight .-Color[class*=-BGC25] { - background-color: #005FAF -} - -div.highlight .-Color[class*=-C26] { - color: #005FD7 -} - -div.highlight .-Color[class*=-BGC26] { - background-color: #005FD7 -} - -div.highlight .-Color[class*=-C27] { - color: #005FFF -} - -div.highlight .-Color[class*=-BGC27] { - background-color: #005FFF -} - -div.highlight .-Color[class*=-C28] { - color: #008700 -} - -div.highlight .-Color[class*=-BGC28] { - background-color: #008700 -} - -div.highlight .-Color[class*=-C29] { - color: #00875F -} - -div.highlight .-Color[class*=-BGC29] { - background-color: #00875F -} - -div.highlight .-Color[class*=-C30] { - color: #008787 -} - -div.highlight .-Color[class*=-BGC30] { - background-color: #008787 -} - -div.highlight .-Color[class*=-C31] { - color: #0087AF -} - -div.highlight .-Color[class*=-BGC31] { - background-color: #0087AF -} - -div.highlight .-Color[class*=-C32] { - color: #0087D7 -} - -div.highlight .-Color[class*=-BGC32] { - background-color: #0087D7 -} - -div.highlight .-Color[class*=-C33] { - color: #0087FF -} - -div.highlight .-Color[class*=-BGC33] { - background-color: #0087FF -} - -div.highlight .-Color[class*=-C34] { - color: #00AF00 -} - -div.highlight .-Color[class*=-BGC34] { - background-color: #00AF00 -} - -div.highlight .-Color[class*=-C35] { - color: #00AF5F -} - -div.highlight .-Color[class*=-BGC35] { - background-color: #00AF5F -} - -div.highlight .-Color[class*=-C36] { - color: #00AF87 -} - -div.highlight .-Color[class*=-BGC36] { - background-color: #00AF87 -} - -div.highlight .-Color[class*=-C37] { - color: #00AFAF -} - -div.highlight .-Color[class*=-BGC37] { - background-color: #00AFAF -} - -div.highlight .-Color[class*=-C38] { - color: #00AFD7 -} - -div.highlight .-Color[class*=-BGC38] { - background-color: #00AFD7 -} - -div.highlight .-Color[class*=-C39] { - color: #00AFFF -} - -div.highlight .-Color[class*=-BGC39] { - background-color: #00AFFF -} - -div.highlight .-Color[class*=-C40] { - color: #00D700 -} - -div.highlight .-Color[class*=-BGC40] { - background-color: #00D700 -} - -div.highlight .-Color[class*=-C41] { - color: #00D75F -} - -div.highlight .-Color[class*=-BGC41] { - background-color: #00D75F -} - -div.highlight .-Color[class*=-C42] { - color: #00D787 -} - -div.highlight .-Color[class*=-BGC42] { - background-color: #00D787 -} - -div.highlight .-Color[class*=-C43] { - color: #00D7AF -} - -div.highlight .-Color[class*=-BGC43] { - background-color: #00D7AF -} - -div.highlight .-Color[class*=-C44] { - color: #00D7D7 -} - -div.highlight .-Color[class*=-BGC44] { - background-color: #00D7D7 -} - -div.highlight .-Color[class*=-C45] { - color: #00D7FF -} - -div.highlight .-Color[class*=-BGC45] { - background-color: #00D7FF -} - -div.highlight .-Color[class*=-C46] { - color: #00FF00 -} - -div.highlight .-Color[class*=-BGC46] { - background-color: #00FF00 -} - -div.highlight .-Color[class*=-C47] { - color: #00FF5F -} - -div.highlight .-Color[class*=-BGC47] { - background-color: #00FF5F -} - -div.highlight .-Color[class*=-C48] { - color: #00FF87 -} - -div.highlight .-Color[class*=-BGC48] { - background-color: #00FF87 -} - -div.highlight .-Color[class*=-C49] { - color: #00FFAF -} - -div.highlight .-Color[class*=-BGC49] { - background-color: #00FFAF -} - -div.highlight .-Color[class*=-C50] { - color: #00FFD7 -} - -div.highlight .-Color[class*=-BGC50] { - background-color: #00FFD7 -} - -div.highlight .-Color[class*=-C51] { - color: #00FFFF -} - -div.highlight .-Color[class*=-BGC51] { - background-color: #00FFFF -} - -div.highlight .-Color[class*=-C52] { - color: #5F0000 -} - -div.highlight .-Color[class*=-BGC52] { - background-color: #5F0000 -} - -div.highlight .-Color[class*=-C53] { - color: #5F005F -} - -div.highlight .-Color[class*=-BGC53] { - background-color: #5F005F -} - -div.highlight .-Color[class*=-C54] { - color: #5F0087 -} - -div.highlight .-Color[class*=-BGC54] { - background-color: #5F0087 -} - -div.highlight .-Color[class*=-C55] { - color: #5F00AF -} - -div.highlight .-Color[class*=-BGC55] { - background-color: #5F00AF -} - -div.highlight .-Color[class*=-C56] { - color: #5F00D7 -} - -div.highlight .-Color[class*=-BGC56] { - background-color: #5F00D7 -} - -div.highlight .-Color[class*=-C57] { - color: #5F00FF -} - -div.highlight .-Color[class*=-BGC57] { - background-color: #5F00FF -} - -div.highlight .-Color[class*=-C58] { - color: #5F5F00 -} - -div.highlight .-Color[class*=-BGC58] { - background-color: #5F5F00 -} - -div.highlight .-Color[class*=-C59] { - color: #5F5F5F -} - -div.highlight .-Color[class*=-BGC59] { - background-color: #5F5F5F -} - -div.highlight .-Color[class*=-C60] { - color: #5F5F87 -} - -div.highlight .-Color[class*=-BGC60] { - background-color: #5F5F87 -} - -div.highlight .-Color[class*=-C61] { - color: #5F5FAF -} - -div.highlight .-Color[class*=-BGC61] { - background-color: #5F5FAF -} - -div.highlight .-Color[class*=-C62] { - color: #5F5FD7 -} - -div.highlight .-Color[class*=-BGC62] { - background-color: #5F5FD7 -} - -div.highlight .-Color[class*=-C63] { - color: #5F5FFF -} - -div.highlight .-Color[class*=-BGC63] { - background-color: #5F5FFF -} - -div.highlight .-Color[class*=-C64] { - color: #5F8700 -} - -div.highlight .-Color[class*=-BGC64] { - background-color: #5F8700 -} - -div.highlight .-Color[class*=-C65] { - color: #5F875F -} - -div.highlight .-Color[class*=-BGC65] { - background-color: #5F875F -} - -div.highlight .-Color[class*=-C66] { - color: #5F8787 -} - -div.highlight .-Color[class*=-BGC66] { - background-color: #5F8787 -} - -div.highlight .-Color[class*=-C67] { - color: #5F87AF -} - -div.highlight .-Color[class*=-BGC67] { - background-color: #5F87AF -} - -div.highlight .-Color[class*=-C68] { - color: #5F87D7 -} - -div.highlight .-Color[class*=-BGC68] { - background-color: #5F87D7 -} - -div.highlight .-Color[class*=-C69] { - color: #5F87FF -} - -div.highlight .-Color[class*=-BGC69] { - background-color: #5F87FF -} - -div.highlight .-Color[class*=-C70] { - color: #5FAF00 -} - -div.highlight .-Color[class*=-BGC70] { - background-color: #5FAF00 -} - -div.highlight .-Color[class*=-C71] { - color: #5FAF5F -} - -div.highlight .-Color[class*=-BGC71] { - background-color: #5FAF5F -} - -div.highlight .-Color[class*=-C72] { - color: #5FAF87 -} - -div.highlight .-Color[class*=-BGC72] { - background-color: #5FAF87 -} - -div.highlight .-Color[class*=-C73] { - color: #5FAFAF -} - -div.highlight .-Color[class*=-BGC73] { - background-color: #5FAFAF -} - -div.highlight .-Color[class*=-C74] { - color: #5FAFD7 -} - -div.highlight .-Color[class*=-BGC74] { - background-color: #5FAFD7 -} - -div.highlight .-Color[class*=-C75] { - color: #5FAFFF -} - -div.highlight .-Color[class*=-BGC75] { - background-color: #5FAFFF -} - -div.highlight .-Color[class*=-C76] { - color: #5FD700 -} - -div.highlight .-Color[class*=-BGC76] { - background-color: #5FD700 -} - -div.highlight .-Color[class*=-C77] { - color: #5FD75F -} - -div.highlight .-Color[class*=-BGC77] { - background-color: #5FD75F -} - -div.highlight .-Color[class*=-C78] { - color: #5FD787 -} - -div.highlight .-Color[class*=-BGC78] { - background-color: #5FD787 -} - -div.highlight .-Color[class*=-C79] { - color: #5FD7AF -} - -div.highlight .-Color[class*=-BGC79] { - background-color: #5FD7AF -} - -div.highlight .-Color[class*=-C80] { - color: #5FD7D7 -} - -div.highlight .-Color[class*=-BGC80] { - background-color: #5FD7D7 -} - -div.highlight .-Color[class*=-C81] { - color: #5FD7FF -} - -div.highlight .-Color[class*=-BGC81] { - background-color: #5FD7FF -} - -div.highlight .-Color[class*=-C82] { - color: #5FFF00 -} - -div.highlight .-Color[class*=-BGC82] { - background-color: #5FFF00 -} - -div.highlight .-Color[class*=-C83] { - color: #5FFF5F -} - -div.highlight .-Color[class*=-BGC83] { - background-color: #5FFF5F -} - -div.highlight .-Color[class*=-C84] { - color: #5FFF87 -} - -div.highlight .-Color[class*=-BGC84] { - background-color: #5FFF87 -} - -div.highlight .-Color[class*=-C85] { - color: #5FFFAF -} - -div.highlight .-Color[class*=-BGC85] { - background-color: #5FFFAF -} - -div.highlight .-Color[class*=-C86] { - color: #5FFFD7 -} - -div.highlight .-Color[class*=-BGC86] { - background-color: #5FFFD7 -} - -div.highlight .-Color[class*=-C87] { - color: #5FFFFF -} - -div.highlight .-Color[class*=-BGC87] { - background-color: #5FFFFF -} - -div.highlight .-Color[class*=-C88] { - color: #870000 -} - -div.highlight .-Color[class*=-BGC88] { - background-color: #870000 -} - -div.highlight .-Color[class*=-C89] { - color: #87005F -} - -div.highlight .-Color[class*=-BGC89] { - background-color: #87005F -} - -div.highlight .-Color[class*=-C90] { - color: #870087 -} - -div.highlight .-Color[class*=-BGC90] { - background-color: #870087 -} - -div.highlight .-Color[class*=-C91] { - color: #8700AF -} - -div.highlight .-Color[class*=-BGC91] { - background-color: #8700AF -} - -div.highlight .-Color[class*=-C92] { - color: #8700D7 -} - -div.highlight .-Color[class*=-BGC92] { - background-color: #8700D7 -} - -div.highlight .-Color[class*=-C93] { - color: #8700FF -} - -div.highlight .-Color[class*=-BGC93] { - background-color: #8700FF -} - -div.highlight .-Color[class*=-C94] { - color: #875F00 -} - -div.highlight .-Color[class*=-BGC94] { - background-color: #875F00 -} - -div.highlight .-Color[class*=-C95] { - color: #875F5F -} - -div.highlight .-Color[class*=-BGC95] { - background-color: #875F5F -} - -div.highlight .-Color[class*=-C96] { - color: #875F87 -} - -div.highlight .-Color[class*=-BGC96] { - background-color: #875F87 -} - -div.highlight .-Color[class*=-C97] { - color: #875FAF -} - -div.highlight .-Color[class*=-BGC97] { - background-color: #875FAF -} - -div.highlight .-Color[class*=-C98] { - color: #875FD7 -} - -div.highlight .-Color[class*=-BGC98] { - background-color: #875FD7 -} - -div.highlight .-Color[class*=-C99] { - color: #875FFF -} - -div.highlight .-Color[class*=-BGC99] { - background-color: #875FFF -} - -div.highlight .-Color[class*=-C100] { - color: #878700 -} - -div.highlight .-Color[class*=-BGC100] { - background-color: #878700 -} - -div.highlight .-Color[class*=-C101] { - color: #87875F -} - -div.highlight .-Color[class*=-BGC101] { - background-color: #87875F -} - -div.highlight .-Color[class*=-C102] { - color: #878787 -} - -div.highlight .-Color[class*=-BGC102] { - background-color: #878787 -} - -div.highlight .-Color[class*=-C103] { - color: #8787AF -} - -div.highlight .-Color[class*=-BGC103] { - background-color: #8787AF -} - -div.highlight .-Color[class*=-C104] { - color: #8787D7 -} - -div.highlight .-Color[class*=-BGC104] { - background-color: #8787D7 -} - -div.highlight .-Color[class*=-C105] { - color: #8787FF -} - -div.highlight .-Color[class*=-BGC105] { - background-color: #8787FF -} - -div.highlight .-Color[class*=-C106] { - color: #87AF00 -} - -div.highlight .-Color[class*=-BGC106] { - background-color: #87AF00 -} - -div.highlight .-Color[class*=-C107] { - color: #87AF5F -} - -div.highlight .-Color[class*=-BGC107] { - background-color: #87AF5F -} - -div.highlight .-Color[class*=-C108] { - color: #87AF87 -} - -div.highlight .-Color[class*=-BGC108] { - background-color: #87AF87 -} - -div.highlight .-Color[class*=-C109] { - color: #87AFAF -} - -div.highlight .-Color[class*=-BGC109] { - background-color: #87AFAF -} - -div.highlight .-Color[class*=-C110] { - color: #87AFD7 -} - -div.highlight .-Color[class*=-BGC110] { - background-color: #87AFD7 -} - -div.highlight .-Color[class*=-C111] { - color: #87AFFF -} - -div.highlight .-Color[class*=-BGC111] { - background-color: #87AFFF -} - -div.highlight .-Color[class*=-C112] { - color: #87D700 -} - -div.highlight .-Color[class*=-BGC112] { - background-color: #87D700 -} - -div.highlight .-Color[class*=-C113] { - color: #87D75F -} - -div.highlight .-Color[class*=-BGC113] { - background-color: #87D75F -} - -div.highlight .-Color[class*=-C114] { - color: #87D787 -} - -div.highlight .-Color[class*=-BGC114] { - background-color: #87D787 -} - -div.highlight .-Color[class*=-C115] { - color: #87D7AF -} - -div.highlight .-Color[class*=-BGC115] { - background-color: #87D7AF -} - -div.highlight .-Color[class*=-C116] { - color: #87D7D7 -} - -div.highlight .-Color[class*=-BGC116] { - background-color: #87D7D7 -} - -div.highlight .-Color[class*=-C117] { - color: #87D7FF -} - -div.highlight .-Color[class*=-BGC117] { - background-color: #87D7FF -} - -div.highlight .-Color[class*=-C118] { - color: #87FF00 -} - -div.highlight .-Color[class*=-BGC118] { - background-color: #87FF00 -} - -div.highlight .-Color[class*=-C119] { - color: #87FF5F -} - -div.highlight .-Color[class*=-BGC119] { - background-color: #87FF5F -} - -div.highlight .-Color[class*=-C120] { - color: #87FF87 -} - -div.highlight .-Color[class*=-BGC120] { - background-color: #87FF87 -} - -div.highlight .-Color[class*=-C121] { - color: #87FFAF -} - -div.highlight .-Color[class*=-BGC121] { - background-color: #87FFAF -} - -div.highlight .-Color[class*=-C122] { - color: #87FFD7 -} - -div.highlight .-Color[class*=-BGC122] { - background-color: #87FFD7 -} - -div.highlight .-Color[class*=-C123] { - color: #87FFFF -} - -div.highlight .-Color[class*=-BGC123] { - background-color: #87FFFF -} - -div.highlight .-Color[class*=-C124] { - color: #AF0000 -} - -div.highlight .-Color[class*=-BGC124] { - background-color: #AF0000 -} - -div.highlight .-Color[class*=-C125] { - color: #AF005F -} - -div.highlight .-Color[class*=-BGC125] { - background-color: #AF005F -} - -div.highlight .-Color[class*=-C126] { - color: #AF0087 -} - -div.highlight .-Color[class*=-BGC126] { - background-color: #AF0087 -} - -div.highlight .-Color[class*=-C127] { - color: #AF00AF -} - -div.highlight .-Color[class*=-BGC127] { - background-color: #AF00AF -} - -div.highlight .-Color[class*=-C128] { - color: #AF00D7 -} - -div.highlight .-Color[class*=-BGC128] { - background-color: #AF00D7 -} - -div.highlight .-Color[class*=-C129] { - color: #AF00FF -} - -div.highlight .-Color[class*=-BGC129] { - background-color: #AF00FF -} - -div.highlight .-Color[class*=-C130] { - color: #AF5F00 -} - -div.highlight .-Color[class*=-BGC130] { - background-color: #AF5F00 -} - -div.highlight .-Color[class*=-C131] { - color: #AF5F5F -} - -div.highlight .-Color[class*=-BGC131] { - background-color: #AF5F5F -} - -div.highlight .-Color[class*=-C132] { - color: #AF5F87 -} - -div.highlight .-Color[class*=-BGC132] { - background-color: #AF5F87 -} - -div.highlight .-Color[class*=-C133] { - color: #AF5FAF -} - -div.highlight .-Color[class*=-BGC133] { - background-color: #AF5FAF -} - -div.highlight .-Color[class*=-C134] { - color: #AF5FD7 -} - -div.highlight .-Color[class*=-BGC134] { - background-color: #AF5FD7 -} - -div.highlight .-Color[class*=-C135] { - color: #AF5FFF -} - -div.highlight .-Color[class*=-BGC135] { - background-color: #AF5FFF -} - -div.highlight .-Color[class*=-C136] { - color: #AF8700 -} - -div.highlight .-Color[class*=-BGC136] { - background-color: #AF8700 -} - -div.highlight .-Color[class*=-C137] { - color: #AF875F -} - -div.highlight .-Color[class*=-BGC137] { - background-color: #AF875F -} - -div.highlight .-Color[class*=-C138] { - color: #AF8787 -} - -div.highlight .-Color[class*=-BGC138] { - background-color: #AF8787 -} - -div.highlight .-Color[class*=-C139] { - color: #AF87AF -} - -div.highlight .-Color[class*=-BGC139] { - background-color: #AF87AF -} - -div.highlight .-Color[class*=-C140] { - color: #AF87D7 -} - -div.highlight .-Color[class*=-BGC140] { - background-color: #AF87D7 -} - -div.highlight .-Color[class*=-C141] { - color: #AF87FF -} - -div.highlight .-Color[class*=-BGC141] { - background-color: #AF87FF -} - -div.highlight .-Color[class*=-C142] { - color: #AFAF00 -} - -div.highlight .-Color[class*=-BGC142] { - background-color: #AFAF00 -} - -div.highlight .-Color[class*=-C143] { - color: #AFAF5F -} - -div.highlight .-Color[class*=-BGC143] { - background-color: #AFAF5F -} - -div.highlight .-Color[class*=-C144] { - color: #AFAF87 -} - -div.highlight .-Color[class*=-BGC144] { - background-color: #AFAF87 -} - -div.highlight .-Color[class*=-C145] { - color: #AFAFAF -} - -div.highlight .-Color[class*=-BGC145] { - background-color: #AFAFAF -} - -div.highlight .-Color[class*=-C146] { - color: #AFAFD7 -} - -div.highlight .-Color[class*=-BGC146] { - background-color: #AFAFD7 -} - -div.highlight .-Color[class*=-C147] { - color: #AFAFFF -} - -div.highlight .-Color[class*=-BGC147] { - background-color: #AFAFFF -} - -div.highlight .-Color[class*=-C148] { - color: #AFD700 -} - -div.highlight .-Color[class*=-BGC148] { - background-color: #AFD700 -} - -div.highlight .-Color[class*=-C149] { - color: #AFD75F -} - -div.highlight .-Color[class*=-BGC149] { - background-color: #AFD75F -} - -div.highlight .-Color[class*=-C150] { - color: #AFD787 -} - -div.highlight .-Color[class*=-BGC150] { - background-color: #AFD787 -} - -div.highlight .-Color[class*=-C151] { - color: #AFD7AF -} - -div.highlight .-Color[class*=-BGC151] { - background-color: #AFD7AF -} - -div.highlight .-Color[class*=-C152] { - color: #AFD7D7 -} - -div.highlight .-Color[class*=-BGC152] { - background-color: #AFD7D7 -} - -div.highlight .-Color[class*=-C153] { - color: #AFD7FF -} - -div.highlight .-Color[class*=-BGC153] { - background-color: #AFD7FF -} - -div.highlight .-Color[class*=-C154] { - color: #AFFF00 -} - -div.highlight .-Color[class*=-BGC154] { - background-color: #AFFF00 -} - -div.highlight .-Color[class*=-C155] { - color: #AFFF5F -} - -div.highlight .-Color[class*=-BGC155] { - background-color: #AFFF5F -} - -div.highlight .-Color[class*=-C156] { - color: #AFFF87 -} - -div.highlight .-Color[class*=-BGC156] { - background-color: #AFFF87 -} - -div.highlight .-Color[class*=-C157] { - color: #AFFFAF -} - -div.highlight .-Color[class*=-BGC157] { - background-color: #AFFFAF -} - -div.highlight .-Color[class*=-C158] { - color: #AFFFD7 -} - -div.highlight .-Color[class*=-BGC158] { - background-color: #AFFFD7 -} - -div.highlight .-Color[class*=-C159] { - color: #AFFFFF -} - -div.highlight .-Color[class*=-BGC159] { - background-color: #AFFFFF -} - -div.highlight .-Color[class*=-C160] { - color: #D70000 -} - -div.highlight .-Color[class*=-BGC160] { - background-color: #D70000 -} - -div.highlight .-Color[class*=-C161] { - color: #D7005F -} - -div.highlight .-Color[class*=-BGC161] { - background-color: #D7005F -} - -div.highlight .-Color[class*=-C162] { - color: #D70087 -} - -div.highlight .-Color[class*=-BGC162] { - background-color: #D70087 -} - -div.highlight .-Color[class*=-C163] { - color: #D700AF -} - -div.highlight .-Color[class*=-BGC163] { - background-color: #D700AF -} - -div.highlight .-Color[class*=-C164] { - color: #D700D7 -} - -div.highlight .-Color[class*=-BGC164] { - background-color: #D700D7 -} - -div.highlight .-Color[class*=-C165] { - color: #D700FF -} - -div.highlight .-Color[class*=-BGC165] { - background-color: #D700FF -} - -div.highlight .-Color[class*=-C166] { - color: #D75F00 -} - -div.highlight .-Color[class*=-BGC166] { - background-color: #D75F00 -} - -div.highlight .-Color[class*=-C167] { - color: #D75F5F -} - -div.highlight .-Color[class*=-BGC167] { - background-color: #D75F5F -} - -div.highlight .-Color[class*=-C168] { - color: #D75F87 -} - -div.highlight .-Color[class*=-BGC168] { - background-color: #D75F87 -} - -div.highlight .-Color[class*=-C169] { - color: #D75FAF -} - -div.highlight .-Color[class*=-BGC169] { - background-color: #D75FAF -} - -div.highlight .-Color[class*=-C170] { - color: #D75FD7 -} - -div.highlight .-Color[class*=-BGC170] { - background-color: #D75FD7 -} - -div.highlight .-Color[class*=-C171] { - color: #D75FFF -} - -div.highlight .-Color[class*=-BGC171] { - background-color: #D75FFF -} - -div.highlight .-Color[class*=-C172] { - color: #D78700 -} - -div.highlight .-Color[class*=-BGC172] { - background-color: #D78700 -} - -div.highlight .-Color[class*=-C173] { - color: #D7875F -} - -div.highlight .-Color[class*=-BGC173] { - background-color: #D7875F -} - -div.highlight .-Color[class*=-C174] { - color: #D78787 -} - -div.highlight .-Color[class*=-BGC174] { - background-color: #D78787 -} - -div.highlight .-Color[class*=-C175] { - color: #D787AF -} - -div.highlight .-Color[class*=-BGC175] { - background-color: #D787AF -} - -div.highlight .-Color[class*=-C176] { - color: #D787D7 -} - -div.highlight .-Color[class*=-BGC176] { - background-color: #D787D7 -} - -div.highlight .-Color[class*=-C177] { - color: #D787FF -} - -div.highlight .-Color[class*=-BGC177] { - background-color: #D787FF -} - -div.highlight .-Color[class*=-C178] { - color: #D7AF00 -} - -div.highlight .-Color[class*=-BGC178] { - background-color: #D7AF00 -} - -div.highlight .-Color[class*=-C179] { - color: #D7AF5F -} - -div.highlight .-Color[class*=-BGC179] { - background-color: #D7AF5F -} - -div.highlight .-Color[class*=-C180] { - color: #D7AF87 -} - -div.highlight .-Color[class*=-BGC180] { - background-color: #D7AF87 -} - -div.highlight .-Color[class*=-C181] { - color: #D7AFAF -} - -div.highlight .-Color[class*=-BGC181] { - background-color: #D7AFAF -} - -div.highlight .-Color[class*=-C182] { - color: #D7AFD7 -} - -div.highlight .-Color[class*=-BGC182] { - background-color: #D7AFD7 -} - -div.highlight .-Color[class*=-C183] { - color: #D7AFFF -} - -div.highlight .-Color[class*=-BGC183] { - background-color: #D7AFFF -} - -div.highlight .-Color[class*=-C184] { - color: #D7D700 -} - -div.highlight .-Color[class*=-BGC184] { - background-color: #D7D700 -} - -div.highlight .-Color[class*=-C185] { - color: #D7D75F -} - -div.highlight .-Color[class*=-BGC185] { - background-color: #D7D75F -} - -div.highlight .-Color[class*=-C186] { - color: #D7D787 -} - -div.highlight .-Color[class*=-BGC186] { - background-color: #D7D787 -} - -div.highlight .-Color[class*=-C187] { - color: #D7D7AF -} - -div.highlight .-Color[class*=-BGC187] { - background-color: #D7D7AF -} - -div.highlight .-Color[class*=-C188] { - color: #D7D7D7 -} - -div.highlight .-Color[class*=-BGC188] { - background-color: #D7D7D7 -} - -div.highlight .-Color[class*=-C189] { - color: #D7D7FF -} - -div.highlight .-Color[class*=-BGC189] { - background-color: #D7D7FF -} - -div.highlight .-Color[class*=-C190] { - color: #D7FF00 -} - -div.highlight .-Color[class*=-BGC190] { - background-color: #D7FF00 -} - -div.highlight .-Color[class*=-C191] { - color: #D7FF5F -} - -div.highlight .-Color[class*=-BGC191] { - background-color: #D7FF5F -} - -div.highlight .-Color[class*=-C192] { - color: #D7FF87 -} - -div.highlight .-Color[class*=-BGC192] { - background-color: #D7FF87 -} - -div.highlight .-Color[class*=-C193] { - color: #D7FFAF -} - -div.highlight .-Color[class*=-BGC193] { - background-color: #D7FFAF -} - -div.highlight .-Color[class*=-C194] { - color: #D7FFD7 -} - -div.highlight .-Color[class*=-BGC194] { - background-color: #D7FFD7 -} - -div.highlight .-Color[class*=-C195] { - color: #D7FFFF -} - -div.highlight .-Color[class*=-BGC195] { - background-color: #D7FFFF -} - -div.highlight .-Color[class*=-C196] { - color: #FF0000 -} - -div.highlight .-Color[class*=-BGC196] { - background-color: #FF0000 -} - -div.highlight .-Color[class*=-C197] { - color: #FF005F -} - -div.highlight .-Color[class*=-BGC197] { - background-color: #FF005F -} - -div.highlight .-Color[class*=-C198] { - color: #FF0087 -} - -div.highlight .-Color[class*=-BGC198] { - background-color: #FF0087 -} - -div.highlight .-Color[class*=-C199] { - color: #FF00AF -} - -div.highlight .-Color[class*=-BGC199] { - background-color: #FF00AF -} - -div.highlight .-Color[class*=-C200] { - color: #FF00D7 -} - -div.highlight .-Color[class*=-BGC200] { - background-color: #FF00D7 -} - -div.highlight .-Color[class*=-C201] { - color: #FF00FF -} - -div.highlight .-Color[class*=-BGC201] { - background-color: #FF00FF -} - -div.highlight .-Color[class*=-C202] { - color: #FF5F00 -} - -div.highlight .-Color[class*=-BGC202] { - background-color: #FF5F00 -} - -div.highlight .-Color[class*=-C203] { - color: #FF5F5F -} - -div.highlight .-Color[class*=-BGC203] { - background-color: #FF5F5F -} - -div.highlight .-Color[class*=-C204] { - color: #FF5F87 -} - -div.highlight .-Color[class*=-BGC204] { - background-color: #FF5F87 -} - -div.highlight .-Color[class*=-C205] { - color: #FF5FAF -} - -div.highlight .-Color[class*=-BGC205] { - background-color: #FF5FAF -} - -div.highlight .-Color[class*=-C206] { - color: #FF5FD7 -} - -div.highlight .-Color[class*=-BGC206] { - background-color: #FF5FD7 -} - -div.highlight .-Color[class*=-C207] { - color: #FF5FFF -} - -div.highlight .-Color[class*=-BGC207] { - background-color: #FF5FFF -} - -div.highlight .-Color[class*=-C208] { - color: #FF8700 -} - -div.highlight .-Color[class*=-BGC208] { - background-color: #FF8700 -} - -div.highlight .-Color[class*=-C209] { - color: #FF875F -} - -div.highlight .-Color[class*=-BGC209] { - background-color: #FF875F -} - -div.highlight .-Color[class*=-C210] { - color: #FF8787 -} - -div.highlight .-Color[class*=-BGC210] { - background-color: #FF8787 -} - -div.highlight .-Color[class*=-C211] { - color: #FF87AF -} - -div.highlight .-Color[class*=-BGC211] { - background-color: #FF87AF -} - -div.highlight .-Color[class*=-C212] { - color: #FF87D7 -} - -div.highlight .-Color[class*=-BGC212] { - background-color: #FF87D7 -} - -div.highlight .-Color[class*=-C213] { - color: #FF87FF -} - -div.highlight .-Color[class*=-BGC213] { - background-color: #FF87FF -} - -div.highlight .-Color[class*=-C214] { - color: #FFAF00 -} - -div.highlight .-Color[class*=-BGC214] { - background-color: #FFAF00 -} - -div.highlight .-Color[class*=-C215] { - color: #FFAF5F -} - -div.highlight .-Color[class*=-BGC215] { - background-color: #FFAF5F -} - -div.highlight .-Color[class*=-C216] { - color: #FFAF87 -} - -div.highlight .-Color[class*=-BGC216] { - background-color: #FFAF87 -} - -div.highlight .-Color[class*=-C217] { - color: #FFAFAF -} - -div.highlight .-Color[class*=-BGC217] { - background-color: #FFAFAF -} - -div.highlight .-Color[class*=-C218] { - color: #FFAFD7 -} - -div.highlight .-Color[class*=-BGC218] { - background-color: #FFAFD7 -} - -div.highlight .-Color[class*=-C219] { - color: #FFAFFF -} - -div.highlight .-Color[class*=-BGC219] { - background-color: #FFAFFF -} - -div.highlight .-Color[class*=-C220] { - color: #FFD700 -} - -div.highlight .-Color[class*=-BGC220] { - background-color: #FFD700 -} - -div.highlight .-Color[class*=-C221] { - color: #FFD75F -} - -div.highlight .-Color[class*=-BGC221] { - background-color: #FFD75F -} - -div.highlight .-Color[class*=-C222] { - color: #FFD787 -} - -div.highlight .-Color[class*=-BGC222] { - background-color: #FFD787 -} - -div.highlight .-Color[class*=-C223] { - color: #FFD7AF -} - -div.highlight .-Color[class*=-BGC223] { - background-color: #FFD7AF -} - -div.highlight .-Color[class*=-C224] { - color: #FFD7D7 -} - -div.highlight .-Color[class*=-BGC224] { - background-color: #FFD7D7 -} - -div.highlight .-Color[class*=-C225] { - color: #FFD7FF -} - -div.highlight .-Color[class*=-BGC225] { - background-color: #FFD7FF -} - -div.highlight .-Color[class*=-C226] { - color: #FFFF00 -} - -div.highlight .-Color[class*=-BGC226] { - background-color: #FFFF00 -} - -div.highlight .-Color[class*=-C227] { - color: #FFFF5F -} - -div.highlight .-Color[class*=-BGC227] { - background-color: #FFFF5F -} - -div.highlight .-Color[class*=-C228] { - color: #FFFF87 -} - -div.highlight .-Color[class*=-BGC228] { - background-color: #FFFF87 -} - -div.highlight .-Color[class*=-C229] { - color: #FFFFAF -} - -div.highlight .-Color[class*=-BGC229] { - background-color: #FFFFAF -} - -div.highlight .-Color[class*=-C230] { - color: #FFFFD7 -} - -div.highlight .-Color[class*=-BGC230] { - background-color: #FFFFD7 -} - -div.highlight .-Color[class*=-C231] { - color: #FFFFFF -} - -div.highlight .-Color[class*=-BGC231] { - background-color: #FFFFFF -} - -div.highlight .-Color[class*=-C232] { - color: #080808 -} - -div.highlight .-Color[class*=-BGC232] { - background-color: #080808 -} - -div.highlight .-Color[class*=-C233] { - color: #121212 -} - -div.highlight .-Color[class*=-BGC233] { - background-color: #121212 -} - -div.highlight .-Color[class*=-C234] { - color: #1C1C1C -} - -div.highlight .-Color[class*=-BGC234] { - background-color: #1C1C1C -} - -div.highlight .-Color[class*=-C235] { - color: #262626 -} - -div.highlight .-Color[class*=-BGC235] { - background-color: #262626 -} - -div.highlight .-Color[class*=-C236] { - color: #303030 -} - -div.highlight .-Color[class*=-BGC236] { - background-color: #303030 -} - -div.highlight .-Color[class*=-C237] { - color: #3A3A3A -} - -div.highlight .-Color[class*=-BGC237] { - background-color: #3A3A3A -} - -div.highlight .-Color[class*=-C238] { - color: #444444 -} - -div.highlight .-Color[class*=-BGC238] { - background-color: #444444 -} - -div.highlight .-Color[class*=-C239] { - color: #4E4E4E -} - -div.highlight .-Color[class*=-BGC239] { - background-color: #4E4E4E -} - -div.highlight .-Color[class*=-C240] { - color: #585858 -} - -div.highlight .-Color[class*=-BGC240] { - background-color: #585858 -} - -div.highlight .-Color[class*=-C241] { - color: #626262 -} - -div.highlight .-Color[class*=-BGC241] { - background-color: #626262 -} - -div.highlight .-Color[class*=-C242] { - color: #6C6C6C -} - -div.highlight .-Color[class*=-BGC242] { - background-color: #6C6C6C -} - -div.highlight .-Color[class*=-C243] { - color: #767676 -} - -div.highlight .-Color[class*=-BGC243] { - background-color: #767676 -} - -div.highlight .-Color[class*=-C244] { - color: #808080 -} - -div.highlight .-Color[class*=-BGC244] { - background-color: #808080 -} - -div.highlight .-Color[class*=-C245] { - color: #8A8A8A -} - -div.highlight .-Color[class*=-BGC245] { - background-color: #8A8A8A -} - -div.highlight .-Color[class*=-C246] { - color: #949494 -} - -div.highlight .-Color[class*=-BGC246] { - background-color: #949494 -} - -div.highlight .-Color[class*=-C247] { - color: #9E9E9E -} - -div.highlight .-Color[class*=-BGC247] { - background-color: #9E9E9E -} - -div.highlight .-Color[class*=-C248] { - color: #A8A8A8 -} - -div.highlight .-Color[class*=-BGC248] { - background-color: #A8A8A8 -} - -div.highlight .-Color[class*=-C249] { - color: #B2B2B2 -} - -div.highlight .-Color[class*=-BGC249] { - background-color: #B2B2B2 -} - -div.highlight .-Color[class*=-C250] { - color: #BCBCBC -} - -div.highlight .-Color[class*=-BGC250] { - background-color: #BCBCBC -} - -div.highlight .-Color[class*=-C251] { - color: #C6C6C6 -} - -div.highlight .-Color[class*=-BGC251] { - background-color: #C6C6C6 -} - -div.highlight .-Color[class*=-C252] { - color: #D0D0D0 -} - -div.highlight .-Color[class*=-BGC252] { - background-color: #D0D0D0 -} - -div.highlight .-Color[class*=-C253] { - color: #DADADA -} - -div.highlight .-Color[class*=-BGC253] { - background-color: #DADADA -} - -div.highlight .-Color[class*=-C254] { - color: #E4E4E4 -} - -div.highlight .-Color[class*=-BGC254] { - background-color: #E4E4E4 -} - -div.highlight .-Color[class*=-C255] { - color: #EEEEEE -} - -div.highlight .-Color[class*=-BGC255] { - background-color: #EEEEEE -} diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/plus.png b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/plus.png deleted file mode 100644 index 7107cec9..00000000 Binary files a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/plus.png and /dev/null differ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/pygments.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/pygments.css deleted file mode 100644 index f71bfbfc..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/pygments.css +++ /dev/null @@ -1,258 +0,0 @@ -.highlight pre { line-height: 125%; } -.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #8F5902; font-style: italic } /* Comment */ -.highlight .err { color: #A40000; border: 1px solid #EF2929 } /* Error */ -.highlight .g { color: #000 } /* Generic */ -.highlight .k { color: #204A87; font-weight: bold } /* Keyword */ -.highlight .l { color: #000 } /* Literal */ -.highlight .n { color: #000 } /* Name */ -.highlight .o { color: #CE5C00; font-weight: bold } /* Operator */ -.highlight .x { color: #000 } /* Other */ -.highlight .p { color: #000; font-weight: bold } /* Punctuation */ -.highlight .ch { color: #8F5902; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #8F5902; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #8F5902; font-style: italic } /* Comment.Preproc */ -.highlight .cpf { color: #8F5902; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #8F5902; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #8F5902; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A40000 } /* Generic.Deleted */ -.highlight .ge { color: #000; font-style: italic } /* Generic.Emph */ -.highlight .ges { color: #000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.highlight .gr { color: #EF2929 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #000; font-style: italic } /* Generic.Output */ -.highlight .gp { color: #8F5902 } /* Generic.Prompt */ -.highlight .gs { color: #000; font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #A40000; font-weight: bold } /* Generic.Traceback */ -.highlight .kc { color: #204A87; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #204A87; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #204A87; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #204A87; font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { color: #204A87; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #204A87; font-weight: bold } /* Keyword.Type */ -.highlight .ld { color: #000 } /* Literal.Date */ -.highlight .m { color: #0000CF; font-weight: bold } /* Literal.Number */ -.highlight .s { color: #4E9A06 } /* Literal.String */ -.highlight .na { color: #C4A000 } /* Name.Attribute */ -.highlight .nb { color: #204A87 } /* Name.Builtin */ -.highlight .nc { color: #000 } /* Name.Class */ -.highlight .no { color: #000 } /* Name.Constant */ -.highlight .nd { color: #5C35CC; font-weight: bold } /* Name.Decorator */ -.highlight .ni { color: #CE5C00 } /* Name.Entity */ -.highlight .ne { color: #C00; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #000 } /* Name.Function */ -.highlight .nl { color: #F57900 } /* Name.Label */ -.highlight .nn { color: #000 } /* Name.Namespace */ -.highlight .nx { color: #000 } /* Name.Other */ -.highlight .py { color: #000 } /* Name.Property */ -.highlight .nt { color: #204A87; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #000 } /* Name.Variable */ -.highlight .ow { color: #204A87; font-weight: bold } /* Operator.Word */ -.highlight .pm { color: #000; font-weight: bold } /* Punctuation.Marker */ -.highlight .w { color: #F8F8F8 } /* Text.Whitespace */ -.highlight .mb { color: #0000CF; font-weight: bold } /* Literal.Number.Bin */ -.highlight .mf { color: #0000CF; font-weight: bold } /* Literal.Number.Float */ -.highlight .mh { color: #0000CF; font-weight: bold } /* Literal.Number.Hex */ -.highlight .mi { color: #0000CF; font-weight: bold } /* Literal.Number.Integer */ -.highlight .mo { color: #0000CF; font-weight: bold } /* Literal.Number.Oct */ -.highlight .sa { color: #4E9A06 } /* Literal.String.Affix */ -.highlight .sb { color: #4E9A06 } /* Literal.String.Backtick */ -.highlight .sc { color: #4E9A06 } /* Literal.String.Char */ -.highlight .dl { color: #4E9A06 } /* Literal.String.Delimiter */ -.highlight .sd { color: #8F5902; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4E9A06 } /* Literal.String.Double */ -.highlight .se { color: #4E9A06 } /* Literal.String.Escape */ -.highlight .sh { color: #4E9A06 } /* Literal.String.Heredoc */ -.highlight .si { color: #4E9A06 } /* Literal.String.Interpol */ -.highlight .sx { color: #4E9A06 } /* Literal.String.Other */ -.highlight .sr { color: #4E9A06 } /* Literal.String.Regex */ -.highlight .s1 { color: #4E9A06 } /* Literal.String.Single */ -.highlight .ss { color: #4E9A06 } /* Literal.String.Symbol */ -.highlight .bp { color: #3465A4 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #000 } /* Name.Function.Magic */ -.highlight .vc { color: #000 } /* Name.Variable.Class */ -.highlight .vg { color: #000 } /* Name.Variable.Global */ -.highlight .vi { color: #000 } /* Name.Variable.Instance */ -.highlight .vm { color: #000 } /* Name.Variable.Magic */ -.highlight .il { color: #0000CF; font-weight: bold } /* Literal.Number.Integer.Long */ -@media not print { -body[data-theme="dark"] .highlight pre { line-height: 125%; } -body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body[data-theme="dark"] .highlight .hll { background-color: #404040 } -body[data-theme="dark"] .highlight { background: #202020; color: #D0D0D0 } -body[data-theme="dark"] .highlight .c { color: #ABABAB; font-style: italic } /* Comment */ -body[data-theme="dark"] .highlight .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -body[data-theme="dark"] .highlight .esc { color: #D0D0D0 } /* Escape */ -body[data-theme="dark"] .highlight .g { color: #D0D0D0 } /* Generic */ -body[data-theme="dark"] .highlight .k { color: #6EBF26; font-weight: bold } /* Keyword */ -body[data-theme="dark"] .highlight .l { color: #D0D0D0 } /* Literal */ -body[data-theme="dark"] .highlight .n { color: #D0D0D0 } /* Name */ -body[data-theme="dark"] .highlight .o { color: #D0D0D0 } /* Operator */ -body[data-theme="dark"] .highlight .x { color: #D0D0D0 } /* Other */ -body[data-theme="dark"] .highlight .p { color: #D0D0D0 } /* Punctuation */ -body[data-theme="dark"] .highlight .ch { color: #ABABAB; font-style: italic } /* Comment.Hashbang */ -body[data-theme="dark"] .highlight .cm { color: #ABABAB; font-style: italic } /* Comment.Multiline */ -body[data-theme="dark"] .highlight .cp { color: #FF3A3A; font-weight: bold } /* Comment.Preproc */ -body[data-theme="dark"] .highlight .cpf { color: #ABABAB; font-style: italic } /* Comment.PreprocFile */ -body[data-theme="dark"] .highlight .c1 { color: #ABABAB; font-style: italic } /* Comment.Single */ -body[data-theme="dark"] .highlight .cs { color: #E50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ -body[data-theme="dark"] .highlight .gd { color: #FF3A3A } /* Generic.Deleted */ -body[data-theme="dark"] .highlight .ge { color: #D0D0D0; font-style: italic } /* Generic.Emph */ -body[data-theme="dark"] .highlight .ges { color: #D0D0D0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -body[data-theme="dark"] .highlight .gr { color: #FF3A3A } /* Generic.Error */ -body[data-theme="dark"] .highlight .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ -body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ -body[data-theme="dark"] .highlight .go { color: #CCC } /* Generic.Output */ -body[data-theme="dark"] .highlight .gp { color: #AAA } /* Generic.Prompt */ -body[data-theme="dark"] .highlight .gs { color: #D0D0D0; font-weight: bold } /* Generic.Strong */ -body[data-theme="dark"] .highlight .gu { color: #FFF; text-decoration: underline } /* Generic.Subheading */ -body[data-theme="dark"] .highlight .gt { color: #FF3A3A } /* Generic.Traceback */ -body[data-theme="dark"] .highlight .kc { color: #6EBF26; font-weight: bold } /* Keyword.Constant */ -body[data-theme="dark"] .highlight .kd { color: #6EBF26; font-weight: bold } /* Keyword.Declaration */ -body[data-theme="dark"] .highlight .kn { color: #6EBF26; font-weight: bold } /* Keyword.Namespace */ -body[data-theme="dark"] .highlight .kp { color: #6EBF26 } /* Keyword.Pseudo */ -body[data-theme="dark"] .highlight .kr { color: #6EBF26; font-weight: bold } /* Keyword.Reserved */ -body[data-theme="dark"] .highlight .kt { color: #6EBF26; font-weight: bold } /* Keyword.Type */ -body[data-theme="dark"] .highlight .ld { color: #D0D0D0 } /* Literal.Date */ -body[data-theme="dark"] .highlight .m { color: #51B2FD } /* Literal.Number */ -body[data-theme="dark"] .highlight .s { color: #ED9D13 } /* Literal.String */ -body[data-theme="dark"] .highlight .na { color: #BBB } /* Name.Attribute */ -body[data-theme="dark"] .highlight .nb { color: #2FBCCD } /* Name.Builtin */ -body[data-theme="dark"] .highlight .nc { color: #71ADFF; text-decoration: underline } /* Name.Class */ -body[data-theme="dark"] .highlight .no { color: #40FFFF } /* Name.Constant */ -body[data-theme="dark"] .highlight .nd { color: #FFA500 } /* Name.Decorator */ -body[data-theme="dark"] .highlight .ni { color: #D0D0D0 } /* Name.Entity */ -body[data-theme="dark"] .highlight .ne { color: #BBB } /* Name.Exception */ -body[data-theme="dark"] .highlight .nf { color: #71ADFF } /* Name.Function */ -body[data-theme="dark"] .highlight .nl { color: #D0D0D0 } /* Name.Label */ -body[data-theme="dark"] .highlight .nn { color: #71ADFF; text-decoration: underline } /* Name.Namespace */ -body[data-theme="dark"] .highlight .nx { color: #D0D0D0 } /* Name.Other */ -body[data-theme="dark"] .highlight .py { color: #D0D0D0 } /* Name.Property */ -body[data-theme="dark"] .highlight .nt { color: #6EBF26; font-weight: bold } /* Name.Tag */ -body[data-theme="dark"] .highlight .nv { color: #40FFFF } /* Name.Variable */ -body[data-theme="dark"] .highlight .ow { color: #6EBF26; font-weight: bold } /* Operator.Word */ -body[data-theme="dark"] .highlight .pm { color: #D0D0D0 } /* Punctuation.Marker */ -body[data-theme="dark"] .highlight .w { color: #666 } /* Text.Whitespace */ -body[data-theme="dark"] .highlight .mb { color: #51B2FD } /* Literal.Number.Bin */ -body[data-theme="dark"] .highlight .mf { color: #51B2FD } /* Literal.Number.Float */ -body[data-theme="dark"] .highlight .mh { color: #51B2FD } /* Literal.Number.Hex */ -body[data-theme="dark"] .highlight .mi { color: #51B2FD } /* Literal.Number.Integer */ -body[data-theme="dark"] .highlight .mo { color: #51B2FD } /* Literal.Number.Oct */ -body[data-theme="dark"] .highlight .sa { color: #ED9D13 } /* Literal.String.Affix */ -body[data-theme="dark"] .highlight .sb { color: #ED9D13 } /* Literal.String.Backtick */ -body[data-theme="dark"] .highlight .sc { color: #ED9D13 } /* Literal.String.Char */ -body[data-theme="dark"] .highlight .dl { color: #ED9D13 } /* Literal.String.Delimiter */ -body[data-theme="dark"] .highlight .sd { color: #ED9D13 } /* Literal.String.Doc */ -body[data-theme="dark"] .highlight .s2 { color: #ED9D13 } /* Literal.String.Double */ -body[data-theme="dark"] .highlight .se { color: #ED9D13 } /* Literal.String.Escape */ -body[data-theme="dark"] .highlight .sh { color: #ED9D13 } /* Literal.String.Heredoc */ -body[data-theme="dark"] .highlight .si { color: #ED9D13 } /* Literal.String.Interpol */ -body[data-theme="dark"] .highlight .sx { color: #FFA500 } /* Literal.String.Other */ -body[data-theme="dark"] .highlight .sr { color: #ED9D13 } /* Literal.String.Regex */ -body[data-theme="dark"] .highlight .s1 { color: #ED9D13 } /* Literal.String.Single */ -body[data-theme="dark"] .highlight .ss { color: #ED9D13 } /* Literal.String.Symbol */ -body[data-theme="dark"] .highlight .bp { color: #2FBCCD } /* Name.Builtin.Pseudo */ -body[data-theme="dark"] .highlight .fm { color: #71ADFF } /* Name.Function.Magic */ -body[data-theme="dark"] .highlight .vc { color: #40FFFF } /* Name.Variable.Class */ -body[data-theme="dark"] .highlight .vg { color: #40FFFF } /* Name.Variable.Global */ -body[data-theme="dark"] .highlight .vi { color: #40FFFF } /* Name.Variable.Instance */ -body[data-theme="dark"] .highlight .vm { color: #40FFFF } /* Name.Variable.Magic */ -body[data-theme="dark"] .highlight .il { color: #51B2FD } /* Literal.Number.Integer.Long */ -@media (prefers-color-scheme: dark) { -body:not([data-theme="light"]) .highlight pre { line-height: 125%; } -body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } -body:not([data-theme="light"]) .highlight { background: #202020; color: #D0D0D0 } -body:not([data-theme="light"]) .highlight .c { color: #ABABAB; font-style: italic } /* Comment */ -body:not([data-theme="light"]) .highlight .err { color: #A61717; background-color: #E3D2D2 } /* Error */ -body:not([data-theme="light"]) .highlight .esc { color: #D0D0D0 } /* Escape */ -body:not([data-theme="light"]) .highlight .g { color: #D0D0D0 } /* Generic */ -body:not([data-theme="light"]) .highlight .k { color: #6EBF26; font-weight: bold } /* Keyword */ -body:not([data-theme="light"]) .highlight .l { color: #D0D0D0 } /* Literal */ -body:not([data-theme="light"]) .highlight .n { color: #D0D0D0 } /* Name */ -body:not([data-theme="light"]) .highlight .o { color: #D0D0D0 } /* Operator */ -body:not([data-theme="light"]) .highlight .x { color: #D0D0D0 } /* Other */ -body:not([data-theme="light"]) .highlight .p { color: #D0D0D0 } /* Punctuation */ -body:not([data-theme="light"]) .highlight .ch { color: #ABABAB; font-style: italic } /* Comment.Hashbang */ -body:not([data-theme="light"]) .highlight .cm { color: #ABABAB; font-style: italic } /* Comment.Multiline */ -body:not([data-theme="light"]) .highlight .cp { color: #FF3A3A; font-weight: bold } /* Comment.Preproc */ -body:not([data-theme="light"]) .highlight .cpf { color: #ABABAB; font-style: italic } /* Comment.PreprocFile */ -body:not([data-theme="light"]) .highlight .c1 { color: #ABABAB; font-style: italic } /* Comment.Single */ -body:not([data-theme="light"]) .highlight .cs { color: #E50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ -body:not([data-theme="light"]) .highlight .gd { color: #FF3A3A } /* Generic.Deleted */ -body:not([data-theme="light"]) .highlight .ge { color: #D0D0D0; font-style: italic } /* Generic.Emph */ -body:not([data-theme="light"]) .highlight .ges { color: #D0D0D0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -body:not([data-theme="light"]) .highlight .gr { color: #FF3A3A } /* Generic.Error */ -body:not([data-theme="light"]) .highlight .gh { color: #FFF; font-weight: bold } /* Generic.Heading */ -body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ -body:not([data-theme="light"]) .highlight .go { color: #CCC } /* Generic.Output */ -body:not([data-theme="light"]) .highlight .gp { color: #AAA } /* Generic.Prompt */ -body:not([data-theme="light"]) .highlight .gs { color: #D0D0D0; font-weight: bold } /* Generic.Strong */ -body:not([data-theme="light"]) .highlight .gu { color: #FFF; text-decoration: underline } /* Generic.Subheading */ -body:not([data-theme="light"]) .highlight .gt { color: #FF3A3A } /* Generic.Traceback */ -body:not([data-theme="light"]) .highlight .kc { color: #6EBF26; font-weight: bold } /* Keyword.Constant */ -body:not([data-theme="light"]) .highlight .kd { color: #6EBF26; font-weight: bold } /* Keyword.Declaration */ -body:not([data-theme="light"]) .highlight .kn { color: #6EBF26; font-weight: bold } /* Keyword.Namespace */ -body:not([data-theme="light"]) .highlight .kp { color: #6EBF26 } /* Keyword.Pseudo */ -body:not([data-theme="light"]) .highlight .kr { color: #6EBF26; font-weight: bold } /* Keyword.Reserved */ -body:not([data-theme="light"]) .highlight .kt { color: #6EBF26; font-weight: bold } /* Keyword.Type */ -body:not([data-theme="light"]) .highlight .ld { color: #D0D0D0 } /* Literal.Date */ -body:not([data-theme="light"]) .highlight .m { color: #51B2FD } /* Literal.Number */ -body:not([data-theme="light"]) .highlight .s { color: #ED9D13 } /* Literal.String */ -body:not([data-theme="light"]) .highlight .na { color: #BBB } /* Name.Attribute */ -body:not([data-theme="light"]) .highlight .nb { color: #2FBCCD } /* Name.Builtin */ -body:not([data-theme="light"]) .highlight .nc { color: #71ADFF; text-decoration: underline } /* Name.Class */ -body:not([data-theme="light"]) .highlight .no { color: #40FFFF } /* Name.Constant */ -body:not([data-theme="light"]) .highlight .nd { color: #FFA500 } /* Name.Decorator */ -body:not([data-theme="light"]) .highlight .ni { color: #D0D0D0 } /* Name.Entity */ -body:not([data-theme="light"]) .highlight .ne { color: #BBB } /* Name.Exception */ -body:not([data-theme="light"]) .highlight .nf { color: #71ADFF } /* Name.Function */ -body:not([data-theme="light"]) .highlight .nl { color: #D0D0D0 } /* Name.Label */ -body:not([data-theme="light"]) .highlight .nn { color: #71ADFF; text-decoration: underline } /* Name.Namespace */ -body:not([data-theme="light"]) .highlight .nx { color: #D0D0D0 } /* Name.Other */ -body:not([data-theme="light"]) .highlight .py { color: #D0D0D0 } /* Name.Property */ -body:not([data-theme="light"]) .highlight .nt { color: #6EBF26; font-weight: bold } /* Name.Tag */ -body:not([data-theme="light"]) .highlight .nv { color: #40FFFF } /* Name.Variable */ -body:not([data-theme="light"]) .highlight .ow { color: #6EBF26; font-weight: bold } /* Operator.Word */ -body:not([data-theme="light"]) .highlight .pm { color: #D0D0D0 } /* Punctuation.Marker */ -body:not([data-theme="light"]) .highlight .w { color: #666 } /* Text.Whitespace */ -body:not([data-theme="light"]) .highlight .mb { color: #51B2FD } /* Literal.Number.Bin */ -body:not([data-theme="light"]) .highlight .mf { color: #51B2FD } /* Literal.Number.Float */ -body:not([data-theme="light"]) .highlight .mh { color: #51B2FD } /* Literal.Number.Hex */ -body:not([data-theme="light"]) .highlight .mi { color: #51B2FD } /* Literal.Number.Integer */ -body:not([data-theme="light"]) .highlight .mo { color: #51B2FD } /* Literal.Number.Oct */ -body:not([data-theme="light"]) .highlight .sa { color: #ED9D13 } /* Literal.String.Affix */ -body:not([data-theme="light"]) .highlight .sb { color: #ED9D13 } /* Literal.String.Backtick */ -body:not([data-theme="light"]) .highlight .sc { color: #ED9D13 } /* Literal.String.Char */ -body:not([data-theme="light"]) .highlight .dl { color: #ED9D13 } /* Literal.String.Delimiter */ -body:not([data-theme="light"]) .highlight .sd { color: #ED9D13 } /* Literal.String.Doc */ -body:not([data-theme="light"]) .highlight .s2 { color: #ED9D13 } /* Literal.String.Double */ -body:not([data-theme="light"]) .highlight .se { color: #ED9D13 } /* Literal.String.Escape */ -body:not([data-theme="light"]) .highlight .sh { color: #ED9D13 } /* Literal.String.Heredoc */ -body:not([data-theme="light"]) .highlight .si { color: #ED9D13 } /* Literal.String.Interpol */ -body:not([data-theme="light"]) .highlight .sx { color: #FFA500 } /* Literal.String.Other */ -body:not([data-theme="light"]) .highlight .sr { color: #ED9D13 } /* Literal.String.Regex */ -body:not([data-theme="light"]) .highlight .s1 { color: #ED9D13 } /* Literal.String.Single */ -body:not([data-theme="light"]) .highlight .ss { color: #ED9D13 } /* Literal.String.Symbol */ -body:not([data-theme="light"]) .highlight .bp { color: #2FBCCD } /* Name.Builtin.Pseudo */ -body:not([data-theme="light"]) .highlight .fm { color: #71ADFF } /* Name.Function.Magic */ -body:not([data-theme="light"]) .highlight .vc { color: #40FFFF } /* Name.Variable.Class */ -body:not([data-theme="light"]) .highlight .vg { color: #40FFFF } /* Name.Variable.Global */ -body:not([data-theme="light"]) .highlight .vi { color: #40FFFF } /* Name.Variable.Instance */ -body:not([data-theme="light"]) .highlight .vm { color: #40FFFF } /* Name.Variable.Magic */ -body:not([data-theme="light"]) .highlight .il { color: #51B2FD } /* Literal.Number.Integer.Long */ -} -} \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo-extensions.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo-extensions.js deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js deleted file mode 100644 index 0abb2afa..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see furo.js.LICENSE.txt */ -(()=>{var t={856:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(856),e=n.n(t),o=null,r=null,c=document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;(function(t){const e=Math.floor(r.getBoundingClientRect().top);console.log(`headerTop: ${e}`),0==e&&t!=e?r.classList.add("scrolled"):r.classList.remove("scrolled")})(n=t),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+2.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); -//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js.LICENSE.txt b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js.LICENSE.txt deleted file mode 100644 index 1632189c..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js.LICENSE.txt +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * gumshoejs v5.1.2 (patched by @pradyunsg) - * A simple, framework-agnostic scrollspy script. - * (c) 2019 Chris Ferdinandi - * MIT License - * http://github.com/cferdinandi/gumshoe - */ diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js.map b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js.map deleted file mode 100644 index 80ea12b8..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/scripts/furo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"scripts/furo.js","mappings":";iCAAA,MAQWA,SAWS,IAAX,EAAAC,EACH,EAAAA,EACkB,oBAAXC,OACLA,OACAC,KAbO,EAAF,WACP,OAaJ,SAAUD,GACR,aAMA,IAAIE,EAAW,CAEbC,SAAU,SACVC,aAAc,SAGdC,QAAQ,EACRC,YAAa,SAGbC,OAAQ,EACRC,QAAQ,EAGRC,QAAQ,GA6BNC,EAAY,SAAUC,EAAMC,EAAMC,GAEpC,GAAKA,EAAOC,SAASL,OAArB,CAGA,IAAIM,EAAQ,IAAIC,YAAYL,EAAM,CAChCM,SAAS,EACTC,YAAY,EACZL,OAAQA,IAIVD,EAAKO,cAAcJ,EAVgB,CAWrC,EAOIK,EAAe,SAAUR,GAC3B,IAAIS,EAAW,EACf,GAAIT,EAAKU,aACP,KAAOV,GACLS,GAAYT,EAAKW,UACjBX,EAAOA,EAAKU,aAGhB,OAAOD,GAAY,EAAIA,EAAW,CACpC,EAMIG,EAAe,SAAUC,GACvBA,GACFA,EAASC,MAAK,SAAUC,EAAOC,GAG7B,OAFcR,EAAaO,EAAME,SACnBT,EAAaQ,EAAMC,UACF,EACxB,CACT,GAEJ,EAwCIC,EAAW,SAAUlB,EAAME,EAAUiB,GACvC,IAAIC,EAASpB,EAAKqB,wBACd1B,EAnCU,SAAUO,GAExB,MAA+B,mBAApBA,EAASP,OACX2B,WAAWpB,EAASP,UAItB2B,WAAWpB,EAASP,OAC7B,CA2Be4B,CAAUrB,GACvB,OAAIiB,EAEAK,SAASJ,EAAOD,OAAQ,KACvB/B,EAAOqC,aAAeC,SAASC,gBAAgBC,cAG7CJ,SAASJ,EAAOS,IAAK,KAAOlC,CACrC,EAMImC,EAAa,WACf,OACEC,KAAKC,KAAK5C,EAAOqC,YAAcrC,EAAO6C,cAnCjCF,KAAKG,IACVR,SAASS,KAAKC,aACdV,SAASC,gBAAgBS,aACzBV,SAASS,KAAKE,aACdX,SAASC,gBAAgBU,aACzBX,SAASS,KAAKP,aACdF,SAASC,gBAAgBC,aAkC7B,EAmBIU,EAAY,SAAUzB,EAAUX,GAClC,IAAIqC,EAAO1B,EAASA,EAAS2B,OAAS,GACtC,GAbgB,SAAUC,EAAMvC,GAChC,SAAI4B,MAAgBZ,EAASuB,EAAKxB,QAASf,GAAU,GAEvD,CAUMwC,CAAYH,EAAMrC,GAAW,OAAOqC,EACxC,IAAK,IAAII,EAAI9B,EAAS2B,OAAS,EAAGG,GAAK,EAAGA,IACxC,GAAIzB,EAASL,EAAS8B,GAAG1B,QAASf,GAAW,OAAOW,EAAS8B,EAEjE,EAOIC,EAAmB,SAAUC,EAAK3C,GAEpC,GAAKA,EAAST,QAAWoD,EAAIC,WAA7B,CAGA,IAAIC,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASR,aAG7BkD,EAAiBG,EAAI7C,GAV0B,CAWjD,EAOIiD,EAAa,SAAUC,EAAOlD,GAEhC,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUC,OAAOhD,EAASX,UAC7B6D,EAAMnC,QAAQgC,UAAUC,OAAOhD,EAASV,cAGxCoD,EAAiBG,EAAI7C,GAGrBJ,EAAU,oBAAqBiD,EAAI,CACjCM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,EAOIoD,EAAiB,SAAUT,EAAK3C,GAElC,GAAKA,EAAST,OAAd,CAGA,IAAIsD,EAAKF,EAAIC,WAAWE,QAAQ,MAC3BD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASR,aAG1B4D,EAAeP,EAAI7C,GAVS,CAW9B,EA6LA,OA1JkB,SAAUsD,EAAUC,GAKpC,IACIC,EAAU7C,EAAU8C,EAASC,EAAS1D,EADtC2D,EAAa,CAUjBA,MAAmB,WAEjBH,EAAWhC,SAASoC,iBAAiBN,GAGrC3C,EAAW,GAGXkD,MAAMC,UAAUC,QAAQC,KAAKR,GAAU,SAAUjB,GAE/C,IAAIxB,EAAUS,SAASyC,eACrBC,mBAAmB3B,EAAK4B,KAAKC,OAAO,KAEjCrD,GAGLJ,EAAS0D,KAAK,CACZ1B,IAAKJ,EACLxB,QAASA,GAEb,IAGAL,EAAaC,EACf,EAKAgD,OAAoB,WAElB,IAAIW,EAASlC,EAAUzB,EAAUX,GAG5BsE,EASDb,GAAWa,EAAOvD,UAAY0C,EAAQ1C,UAG1CkC,EAAWQ,EAASzD,GAzFT,SAAUkD,EAAOlD,GAE9B,GAAKkD,EAAL,CAGA,IAAIL,EAAKK,EAAMP,IAAIG,QAAQ,MACtBD,IAGLA,EAAGE,UAAUM,IAAIrD,EAASX,UAC1B6D,EAAMnC,QAAQgC,UAAUM,IAAIrD,EAASV,cAGrC8D,EAAeP,EAAI7C,GAGnBJ,EAAU,kBAAmBiD,EAAI,CAC/BM,KAAMD,EAAMP,IACZ5B,QAASmC,EAAMnC,QACff,SAAUA,IAjBM,CAmBpB,CAqEIuE,CAASD,EAAQtE,GAGjByD,EAAUa,GAfJb,IACFR,EAAWQ,EAASzD,GACpByD,EAAU,KAchB,GAMIe,EAAgB,SAAUvE,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,sBAAsBf,EAAWgB,OACpD,EAMIC,EAAgB,SAAU3E,GAExByD,GACFxE,EAAOuF,qBAAqBf,GAI9BA,EAAUxE,EAAOwF,uBAAsB,WACrChE,EAAaC,GACbgD,EAAWgB,QACb,GACF,EAkDA,OA7CAhB,EAAWkB,QAAU,WAEfpB,GACFR,EAAWQ,EAASzD,GAItBd,EAAO4F,oBAAoB,SAAUN,GAAe,GAChDxE,EAASN,QACXR,EAAO4F,oBAAoB,SAAUF,GAAe,GAItDjE,EAAW,KACX6C,EAAW,KACXC,EAAU,KACVC,EAAU,KACV1D,EAAW,IACb,EAOEA,EA3XS,WACX,IAAI+E,EAAS,CAAC,EAOd,OANAlB,MAAMC,UAAUC,QAAQC,KAAKgB,WAAW,SAAUC,GAChD,IAAK,IAAIC,KAAOD,EAAK,CACnB,IAAKA,EAAIE,eAAeD,GAAM,OAC9BH,EAAOG,GAAOD,EAAIC,EACpB,CACF,IACOH,CACT,CAkXeK,CAAOhG,EAAUmE,GAAW,CAAC,GAGxCI,EAAW0B,QAGX1B,EAAWgB,SAGXzF,EAAOoG,iBAAiB,SAAUd,GAAe,GAC7CxE,EAASN,QACXR,EAAOoG,iBAAiB,SAAUV,GAAe,GAS9CjB,CACT,CAOF,CArcW4B,CAAQvG,EAChB,UAFM,SAEN,uBCXDwG,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,CAAC,GAOX,OAHAE,EAAoBL,GAAU1B,KAAK8B,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,OACf,CCrBAJ,EAAoBO,EAAKF,IACxB,IAAIG,EAASH,GAAUA,EAAOI,WAC7B,IAAOJ,EAAiB,QACxB,IAAM,EAEP,OADAL,EAAoBU,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdR,EAAoBU,EAAI,CAACN,EAASQ,KACjC,IAAI,IAAInB,KAAOmB,EACXZ,EAAoBa,EAAED,EAAYnB,KAASO,EAAoBa,EAAET,EAASX,IAC5EqB,OAAOC,eAAeX,EAASX,EAAK,CAAEuB,YAAY,EAAMC,IAAKL,EAAWnB,IAE1E,ECNDO,EAAoBxG,EAAI,WACvB,GAA0B,iBAAf0H,WAAyB,OAAOA,WAC3C,IACC,OAAOxH,MAAQ,IAAIyH,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,iBAAX3H,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBuG,EAAoBa,EAAI,CAACrB,EAAK6B,IAAUP,OAAOzC,UAAUqB,eAAenB,KAAKiB,EAAK6B,4CCK9EC,EAAY,KACZC,EAAS,KACTC,EAAgBzF,SAASC,gBAAgByF,UAC7C,MAAMC,EAAmB,GA8EzB,SAASC,IACP,MAAMC,EAAeC,aAAaC,QAAQ,UAAY,OAZxD,IAAkBC,EACH,WADGA,EAaItI,OAAOuI,WAAW,gCAAgCC,QAI/C,SAAjBL,EACO,QACgB,SAAhBA,EACA,OAEA,OAIU,SAAjBA,EACO,OACgB,QAAhBA,EACA,QAEA,SA9BoB,SAATG,GAA4B,SAATA,IACzCG,QAAQC,MAAM,2BAA2BJ,yBACzCA,EAAO,QAGThG,SAASS,KAAK4F,QAAQC,MAAQN,EAC9BF,aAAaS,QAAQ,QAASP,GAC9BG,QAAQK,IAAI,cAAcR,UA0B5B,CAkDA,SAASnC,KART,WAEE,MAAM4C,EAAUzG,SAAS0G,uBAAuB,gBAChDrE,MAAMsE,KAAKF,GAASlE,SAASqE,IAC3BA,EAAI9C,iBAAiB,QAAS8B,EAAe,GAEjD,CAGEiB,GA9CF,WAEE,IAAIC,EAA6B,EAC7BC,GAAU,EAEdrJ,OAAOoG,iBAAiB,UAAU,SAAUuB,GAC1CyB,EAA6BpJ,OAAOsJ,QAE/BD,IACHrJ,OAAOwF,uBAAsB,WAzDnC,IAAuB+D,GAxDvB,SAAgCA,GAC9B,MAAMC,EAAY7G,KAAK8G,MAAM3B,EAAO7F,wBAAwBQ,KAE5DgG,QAAQK,IAAI,cAAcU,KACT,GAAbA,GAAkBD,GAAaC,EACjC1B,EAAOjE,UAAUM,IAAI,YAErB2D,EAAOjE,UAAUC,OAAO,WAE5B,EAgDE4F,CADqBH,EA0DDH,GAvGtB,SAAmCG,GAC7BA,EAAYtB,EACd3F,SAASC,gBAAgBsB,UAAUC,OAAO,oBAEtCyF,EAAYxB,EACdzF,SAASC,gBAAgBsB,UAAUM,IAAI,oBAC9BoF,EAAYxB,GACrBzF,SAASC,gBAAgBsB,UAAUC,OAAO,oBAG9CiE,EAAgBwB,CAClB,CAoCEI,CAA0BJ,GAlC5B,SAA6BA,GACT,OAAd1B,IAKa,GAAb0B,EACF1B,EAAU+B,SAAS,EAAG,GAGtBjH,KAAKC,KAAK2G,IACV5G,KAAK8G,MAAMnH,SAASC,gBAAgBS,aAAehD,OAAOqC,aAE1DwF,EAAU+B,SAAS,EAAG/B,EAAU7E,cAGhBV,SAASuH,cAAc,mBAc3C,CAKEC,CAAoBP,GAwDdF,GAAU,CACZ,IAEAA,GAAU,EAEd,IACArJ,OAAO+J,QACT,CA6BEC,GA1BkB,OAAdnC,GAKJ,IAAI,IAAJ,CAAY,cAAe,CACzBrH,QAAQ,EACRyJ,WAAW,EACX9J,SAAU,iBACVI,OAAQ,KACN,IAAI2J,EAAMhI,WAAWiI,iBAAiB7H,SAASC,iBAAiB6H,UAChE,OAAOtC,EAAO7F,wBAAwBoI,OAAS,IAAMH,EAAM,CAAC,GAiBlE,CAcA5H,SAAS8D,iBAAiB,oBAT1B,WACE9D,SAASS,KAAKW,WAAWG,UAAUC,OAAO,SAE1CgE,EAASxF,SAASuH,cAAc,UAChChC,EAAYvF,SAASuH,cAAc,eAEnC1D,GACF","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader(positionY) {\n const headerTop = Math.floor(header.getBoundingClientRect().top);\n\n console.log(`headerTop: ${headerTop}`);\n if (headerTop == 0 && positionY != headerTop) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader(positionY);\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 2.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","headerTop","floor","scrollHandlerForHeader","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/searchtools.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/searchtools.js deleted file mode 100644 index 2c774d17..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/searchtools.js +++ /dev/null @@ -1,632 +0,0 @@ -/* - * Sphinx JavaScript utilities for the full-text search. - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename, kind] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -// Global search result kind enum, used by themes to style search results. -class SearchResultKind { - static get index() { return "index"; } - static get object() { return "object"; } - static get text() { return "text"; } - static get title() { return "title"; } -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename, kind] = item; - - let listItem = document.createElement("li"); - // Add a class representing the item's type: - // can be used by a theme's CSS selector for styling - // See SearchResultKind for the class names. - listItem.classList.add(`kind-${kind}`); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms, anchor) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = Documentation.ngettext( - "Search finished, found one page matching the search query.", - "Search finished, found ${resultCount} pages matching the search query.", - resultCount, - ).replace('${resultCount}', resultCount); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; -// Helper function used by query() to order search results. -// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. -// Order the results by score (in opposite order of appearance, since the -// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. -const _orderResultsByScoreThenName = (a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString, anchor) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - for (const removalQuery of [".headerlink", "script", "style"]) { - htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); - } - if (anchor) { - const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); - if (anchorContent) return anchorContent.textContent; - - console.warn( - `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` - ); - } - - // if anchor not specified or not found, fall back to main content - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent) return docContent.textContent; - - console.warn( - "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.setAttribute("role", "list"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - _parseQuery: (query) => { - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; - }, - - /** - * execute search (requires search index to be loaded) - */ - _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // Collect multiple result groups to be sorted separately and then ordered. - // Each is an array of [docname, title, anchor, descr, score, filename, kind]. - const normalResults = []; - const nonMainIndexResults = []; - - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase().trim(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - const score = Math.round(Scorer.title * queryLower.length / title.length); - const boost = titles[file] === title ? 1 : 0; // add a boost for document titles - normalResults.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score + boost, - filenames[file], - SearchResultKind.title, - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id, isMain] of foundEntries) { - const score = Math.round(100 * queryLower.length / entry.length); - const result = [ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - SearchResultKind.index, - ]; - if (isMain) { - normalResults.push(result); - } else { - nonMainIndexResults.push(result); - } - } - } - } - - // lookup as object - objectTerms.forEach((term) => - normalResults.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) { - normalResults.forEach((item) => (item[4] = Scorer.score(item))); - nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); - } - - // Sort each group of results by score and then alphabetically by name. - normalResults.sort(_orderResultsByScoreThenName); - nonMainIndexResults.sort(_orderResultsByScoreThenName); - - // Combine the result groups in (reverse) order. - // Non-main index entries are typically arbitrary cross-references, - // so display them after other results. - let results = [...nonMainIndexResults, ...normalResults]; - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - return results.reverse(); - }, - - query: (query) => { - const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); - const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - SearchResultKind.object, - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - if (!terms.hasOwnProperty(word)) { - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - } - if (!titleTerms.hasOwnProperty(word)) { - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord)) - arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); - }); - } - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (!fileMap.has(file)) fileMap.set(file, [word]); - else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - SearchResultKind.text, - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords, anchor) => { - const text = Search.htmlToText(htmlText, anchor); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/skeleton.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/skeleton.css deleted file mode 100644 index 467c878c..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/skeleton.css +++ /dev/null @@ -1,296 +0,0 @@ -/* Some sane resets. */ -html { - height: 100%; -} - -body { - margin: 0; - min-height: 100%; -} - -/* All the flexbox magic! */ -body, -.sb-announcement, -.sb-content, -.sb-main, -.sb-container, -.sb-container__inner, -.sb-article-container, -.sb-footer-content, -.sb-header, -.sb-header-secondary, -.sb-footer { - display: flex; -} - -/* These order things vertically */ -body, -.sb-main, -.sb-article-container { - flex-direction: column; -} - -/* Put elements in the center */ -.sb-header, -.sb-header-secondary, -.sb-container, -.sb-content, -.sb-footer, -.sb-footer-content { - justify-content: center; -} -/* Put elements at the ends */ -.sb-article-container { - justify-content: space-between; -} - -/* These elements grow. */ -.sb-main, -.sb-content, -.sb-container, -article { - flex-grow: 1; -} - -/* Because padding making this wider is not fun */ -article { - box-sizing: border-box; -} - -/* The announcements element should never be wider than the page. */ -.sb-announcement { - max-width: 100%; -} - -.sb-sidebar-primary, -.sb-sidebar-secondary { - flex-shrink: 0; - width: 17rem; -} - -.sb-announcement__inner { - justify-content: center; - - box-sizing: border-box; - height: 3rem; - - overflow-x: auto; - white-space: nowrap; -} - -/* Sidebars, with checkbox-based toggle */ -.sb-sidebar-primary, -.sb-sidebar-secondary { - position: fixed; - height: 100%; - top: 0; -} - -.sb-sidebar-primary { - left: -17rem; - transition: left 250ms ease-in-out; -} -.sb-sidebar-secondary { - right: -17rem; - transition: right 250ms ease-in-out; -} - -.sb-sidebar-toggle { - display: none; -} -.sb-sidebar-overlay { - position: fixed; - top: 0; - width: 0; - height: 0; - - transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; - - opacity: 0; - background-color: rgba(0, 0, 0, 0.54); -} - -#sb-sidebar-toggle--primary:checked - ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], -#sb-sidebar-toggle--secondary:checked - ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { - width: 100%; - height: 100%; - opacity: 1; - transition: width 0ms ease, height 0ms ease, opacity 250ms ease; -} - -#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { - left: 0; -} -#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { - right: 0; -} - -/* Full-width mode */ -.drop-secondary-sidebar-for-full-width-content - .hide-when-secondary-sidebar-shown { - display: none !important; -} -.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { - display: none !important; -} - -/* Mobile views */ -.sb-page-width { - width: 100%; -} - -.sb-article-container, -.sb-footer-content__inner, -.drop-secondary-sidebar-for-full-width-content .sb-article, -.drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 100vw; -} - -.sb-article, -.match-content-width { - padding: 0 1rem; - box-sizing: border-box; -} - -@media (min-width: 32rem) { - .sb-article, - .match-content-width { - padding: 0 2rem; - } -} - -/* Tablet views */ -@media (min-width: 42rem) { - .sb-article-container { - width: auto; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 42rem; - } - .sb-article, - .match-content-width { - width: 42rem; - } -} -@media (min-width: 46rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 46rem; - } - .sb-article, - .match-content-width { - width: 46rem; - } -} -@media (min-width: 50rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 50rem; - } - .sb-article, - .match-content-width { - width: 50rem; - } -} - -/* Tablet views */ -@media (min-width: 59rem) { - .sb-sidebar-secondary { - position: static; - } - .hide-when-secondary-sidebar-shown { - display: none !important; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 59rem; - } - .sb-article, - .match-content-width { - width: 42rem; - } -} -@media (min-width: 63rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 63rem; - } - .sb-article, - .match-content-width { - width: 46rem; - } -} -@media (min-width: 67rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 67rem; - } - .sb-article, - .match-content-width { - width: 50rem; - } -} - -/* Desktop views */ -@media (min-width: 76rem) { - .sb-sidebar-primary { - position: static; - } - .hide-when-primary-sidebar-shown { - display: none !important; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 59rem; - } - .sb-article, - .match-content-width { - width: 42rem; - } -} - -/* Full desktop views */ -@media (min-width: 80rem) { - .sb-article, - .match-content-width { - width: 46rem; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 63rem; - } -} - -@media (min-width: 84rem) { - .sb-article, - .match-content-width { - width: 50rem; - } - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 67rem; - } -} - -@media (min-width: 88rem) { - .sb-footer-content__inner, - .drop-secondary-sidebar-for-full-width-content .sb-article, - .drop-secondary-sidebar-for-full-width-content .match-content-width { - width: 67rem; - } - .sb-page-width { - width: 88rem; - } -} diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/sphinx_highlight.js b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69a..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo-extensions.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo-extensions.css deleted file mode 100644 index 82295876..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo-extensions.css +++ /dev/null @@ -1,2 +0,0 @@ -#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} -/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo-extensions.css.map b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo-extensions.css.map deleted file mode 100644 index c26eac7f..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo-extensions.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAEE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cAIA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UCzCN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo.css b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo.css deleted file mode 100644 index 05a56b17..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,p,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;background:var(--color-background-primary);border:0!important;color:var(--color-foreground-primary);white-space:nowrap!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-stack--headings:var(--font-stack);--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#6b6f76;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#0a4bff;--color-brand-content:#2757dd;--color-brand-visited:#872ee0;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-api-added:#21632c;--color-api-added-border:#38a84d;--color-api-changed:#046172;--color-api-changed-border:#06a1bc;--color-api-deprecated:#605706;--color-api-deprecated-border:#f0d90f;--color-api-removed:#b30000;--color-api-removed-border:#ff5c5c;--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link--hover:var(--color-brand-content);--color-link-underline--hover:var(--color-foreground-border);--color-link--visited:var(--color-brand-visited);--color-link-underline--visited:var(--color-background-border);--color-link--visited--hover:var(--color-brand-visited);--color-link-underline--visited--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:block}@media(prefers-color-scheme:dark){body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-dark{display:block}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:none}}body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-family:var(--font-stack--headings);font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:visited{color:var(--color-link--visited);text-decoration-color:var(--color-link-underline--visited)}a:visited:hover{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link:hover:visited{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{height:100%}.skip-to-content,body,html{background:var(--color-background-primary);color:var(--color-foreground-primary)}.skip-to-content{border-radius:1rem;left:.25rem;padding:1rem;position:fixed;top:.25rem;transform:translateY(-200%);transition:transform .3s ease-in-out;z-index:40}.skip-to-content:focus-within{transform:translateY(0)}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{display:flex}.theme-toggle{background:transparent;border:none;cursor:pointer;display:flex;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;width:1.25rem}.theme-toggle-header{align-items:center;display:flex;justify-content:center}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1.5rem;width:1.5rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg,.content-icon-container .view-this-page svg{color:inherit;height:1.25rem;width:1.25rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{height:1rem;width:1rem;fill:currentColor;display:inline-block}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.content{margin-left:auto;margin-right:auto;padding:0 1em}}@media(max-width:63em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.theme-toggle-header,.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.5rem;width:1.5rem}:target{scroll-margin-top:calc(var(--header-height) + 2.5rem)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}}@media(max-width:48em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){article[role=main] aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:4.25rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}div.deprecated,div.versionadded,div.versionchanged,div.versionremoved{border-left:.1875rem solid;border-radius:.125rem;padding-left:.75rem}div.deprecated p,div.versionadded p,div.versionchanged p,div.versionremoved p{margin-bottom:.125rem;margin-top:.125rem}div.versionadded{border-color:var(--color-api-added-border)}div.versionadded .versionmodified{color:var(--color-api-added)}div.versionchanged{border-color:var(--color-api-changed-border)}div.versionchanged .versionmodified{color:var(--color-api-changed)}div.deprecated{border-color:var(--color-api-deprecated-border)}div.deprecated .versionmodified{color:var(--color-api-deprecated)}div.versionremoved{border-color:var(--color-api-removed-border)}div.versionremoved .versionmodified{color:var(--color-api-removed)}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>:not(span),div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}[role=main] .table-wrapper.container{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:2.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(2.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(2.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover);color:var(--color-sidebar-link-text)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23607D8B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath stroke='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree a.reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling. Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} -/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo.css.map b/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo.css.map deleted file mode 100644 index 3ecc3715..00000000 --- a/docs/pr-preview/pr-397/cuda-bindings/latest/_static/styles/furo.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"styles/furo.css","mappings":"AAAA,2EAA2E,CAU3E,KACE,gBAAiB,CACjB,6BACF,CASA,KACE,QACF,CAMA,KACE,aACF,CAOA,GACE,aAAc,CACd,cACF,CAUA,GACE,sBAAuB,CACvB,QAAS,CACT,gBACF,CAOA,IACE,+BAAiC,CACjC,aACF,CASA,EACE,4BACF,CAOA,YACE,kBAAmB,CACnB,yBAA0B,CAC1B,gCACF,CAMA,SAEE,kBACF,CAOA,cAGE,+BAAiC,CACjC,aACF,CAeA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CASA,IACE,iBACF,CAUA,sCAKE,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QACF,CAOA,aAEE,gBACF,CAOA,cAEE,mBACF,CAMA,gDAIE,yBACF,CAMA,wHAIE,iBAAkB,CAClB,SACF,CAMA,4GAIE,6BACF,CAMA,SACE,0BACF,CASA,OACE,qBAAsB,CACtB,aAAc,CACd,aAAc,CACd,cAAe,CACf,SAAU,CACV,kBACF,CAMA,SACE,uBACF,CAMA,SACE,aACF,CAOA,6BAEE,qBAAsB,CACtB,SACF,CAMA,kFAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,yCACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CASA,QACE,aACF,CAMA,QACE,iBACF,CAiBA,kBACE,YACF,CCvVA,aAcE,kEACE,uBAOF,WACE,iDAMF,kCACE,wBAEF,qCAEE,uBADA,uBACA,CAEF,SACE,wBAtBA,CCpBJ,iBAGE,qBAEA,sBACA,0BAFA,oBAHA,4BACA,oBAKA,6BAIA,2CAFA,mBACA,sCAFA,4BAGA,CAEF,gBACE,aCTF,KCGE,mHAEA,wGAEA,wCAAyC,CAEzC,wBAAyB,CACzB,wBAAyB,CACzB,4BAA6B,CAC7B,yBAA0B,CAC1B,2BAA4B,CAG5B,sDAAuD,CACvD,gDAAiD,CACjD,wDAAyD,CAGzD,0CAA2C,CAC3C,gDAAiD,CACjD,gDAAiD,CAKjD,gCAAiC,CACjC,sCAAuC,CAGvC,2CAA4C,CAG5C,uCAAwC,CCjCxC,+FAGA,uBAAwB,CAGxB,iCAAkC,CAClC,kCAAmC,CAEnC,+BAAgC,CAChC,sCAAuC,CACvC,sCAAuC,CACvC,qGAIA,mDAAoD,CAEpD,mCAAoC,CACpC,8CAA+C,CAC/C,gDAAiD,CACjD,kCAAmC,CACnC,6DAA8D,CAG9D,6BAA8B,CAC9B,6BAA8B,CAC9B,+BAAgC,CAChC,kCAAmC,CACnC,kCAAmC,CCPjC,+jBCYA,iqCAZF,iaCVA,8KAOA,4SAWA,4SAUA,0CACA,gEAGA,0CAGA,gEAGA,yCACA,+DAIA,4CACA,kEAGA,wCAUA,8DACA,uCAGA,4DACA,sCACA,2DAGA,4CACA,kEACA,uCAGA,6DACA,2GAGA,sHAEA,yFAEA,+CACA,+EAGA,4MAOA,gCACA,sHAIA,kCACA,uEACA,gEACA,4DACA,kEAGA,2DACA,sDACA,0CACA,8CACA,wGAGA,0BACA,iCAGA,+DACA,+BACA,sCACA,+DAEA,kGACA,oCACA,yDACA,sCL7HF,kCAEA,sDAIA,0CK2HE,kEAIA,oDACA,sDAGA,oCACA,oEAEA,0DACA,qDAIA,oDACA,6DAIA,iEAIA,2DAIA,2DAGA,4DACA,gEAIA,gEAEA,gFAEA,oNASA,qDLxKE,gFAGE,4DAIF,oEKkHF,yEAEA,6DAGA,0DAEA,uDACA,qDACA,wDAIA,6DAIA,yDACA,2DAIA,uCAGA,wCACA,sDAGA,+CAGA,6DAEA,iDACA,+DAEA,wDAEA,sEAMA,0DACA,sBACA,mEL9JI,wEAEA,iCACE,+BAMN,wEAGA,iCACE,kFAEA,uEAIF,gEACE,8BAGF,qEMvDA,sCAKA,wFAKA,iCAIA,0BAWA,iCACA,4BACA,mCAGA,+BAEA,sCACA,4BAEA,mCAEA,sCAKA,sDAIA,gCAEA,gEAQF,wCAME,sBACA,kCAKA,uBAEA,gEAIA,2BAIA,mCAEA,qCACA,iCAGE,+BACA,wEAEE,iCACA,kFAGF,6BACA,0CACF,kCAEE,8BACE,8BACA,qEAEE,sCACA,wFCnFN,iCAGF,2DAEE,4BACA,oCAGA,mIAGA,4HACE,gEAMJ,+CAGE,sBACA,yCAEF,uBAEE,sEAKA,gDACA,kEAGA,iFAGE,YAGF,EACA,4HAQF,mBACE,6BACA,mBACA,wCACA,wCACA,2CAIA,eAGA,mBAKE,mBAGA,CAJA,uCACA,iBAFF,gBACE,CAKE,mBACA,mBAGJ,oBAIF,+BAGE,kDACA,OADA,kBAGA,CAFA,gBAEA,mBACA,oBAEA,sCACA,OAGF,cAHE,WAGF,GAEE,oBACA,CAHF,gBAGE,CC9Gc,YDiHd,+CAIF,SAEE,CAPF,UACE,wBAMA,4BAEA,GAGA,uBACA,CAJA,yBAGA,CACA,iDAKA,2CAGA,2DAQA,iBACA,uCAGA,kEAKE,SAKJ,8BACE,yDACA,2BAEA,oBACA,8BAEA,yDAEE,4BAEJ,uCACE,CACA,iEAGA,CAEA,wCACE,uBACA,kDAEA,0DAEE,CAJF,oBAIE,0GAWN,aACE,CAHA,YAGA,4HASA,+CAGF,sBACE,WACA,WAQA,4BAFF,0CAEE,CARA,qCAsBA,CAdA,iBAEA,kBACE,aADF,4BACE,WAMF,2BAGF,qCAEE,CAXE,UAWF,+BAGA,uBAEA,SAEA,0CAIE,CANF,qCAEA,CAIE,2DACE,gBAIN,+CAIA,CAEA,kDAKE,CAPF,8BAEA,CAOE,YACA,CAjBI,2BAGN,CAHM,WAcJ,UAGA,CAEA,2GAIF,iCAGE,8BAIA,qBACA,oBACF,uBAOI,0CAIA,CATF,6DAKE,CALF,sBASE,qCAKF,CACE,cACA,CAFF,sBAEE,CACA,+BAEA,qBAEE,WAKN,aACE,sCAGA,mBAEA,6BAMA,kCACA,CAJA,sBACA,aAEA,CAJA,eACA,MAIA,2FAEA,UAGA,YACA,sBACE,8BAEA,CALF,aACA,WAIE,OACA,oBAEF,uBACE,WAEF,YAFE,UAEF,eAgBA,kBACE,CAhBA,qDAQF,qCAGF,CAGI,YACF,CAJF,2BAGI,CAEA,eACA,qBAGA,mEAEA,qBACA,8BAIA,kBADF,kBACE,yBAEJ,oCAGI,qDAIJ,+BAGI,oCAEA,+CAQF,4CACE,yBACF,2BAOE,sBACA,CAHA,WACA,CAFF,cACE,CAJA,YAGF,CAEE,SAEA,mBAGA,kDAEE,CAJF,cAEA,cAEE,sBAEA,mBADA,YACA,uBACA,mDACE,CADF,YACE,iDAEA,uCAEN,+DAOE,mBADF,sBACE,mBAGF,aACE,sCAIA,aADF,WACE,CAKF,SACE,CAHJ,kBAEE,CAJE,gBAEJ,CAHI,iBAMA,yFAKA,aACA,eACA,cElbJ,iBAEE,aADA,iBACA,6BAEA,kCAEA,SACA,UAIA,gCACA,CALA,SAEA,SAEA,CAJA,0EAEA,CAFA,OAKA,CAGA,mDACE,iBAGF,gCACE,CADF,UACE,aAEJ,iCAEE,CAFF,UAEE,wCAEA,WACA,WADA,UACA,CACA,4CAGA,MACA,CADA,KACA,wCACA,UAGA,CAJA,UAIA,6DAUA,0CACE,CAFF,mBAEE,wEACA,CAVA,YACA,CAMF,mBAJE,OAOA,gBAJJ,gCACE,CANE,cACA,CAHA,oBACA,CAGA,QAGJ,CAII,0BACA,CADA,UACA,wCAEJ,kBACE,0DACA,gCACE,kBACA,CADA,YACA,oEACA,2CAMF,mDAII,CALN,YACE,CANE,cAKJ,CACE,iBAII,kEACA,yCACE,kDACA,yDACE,+CACA,uBANN,CAMM,+BANN,uCACE,qDACA,4BAEE,mBADA,0CACA,CADA,qBACA,0DACE,wCACA,sGALJ,oCACA,sBACE,kBAFF,UAEE,2CACA,wFACE,cACA,kEANN,uBACE,iDACA,CADA,UACA,0DACE,wDAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAIF,gEAIE,6BACA,gEAIA,+CACE,0EAIF,sDAEE,+DAGF,sCACA,8BACE,oCAEJ,wBACE,4FAEE,gBAEJ,yGAGI,kBAGJ,CCnHE,2MCFF,oBAGE,wGAKA,iCACE,CADF,wBACE,8GAQA,mBCjBJ,2GAIE,mBACA,6HAMA,YACE,mIAYF,eACA,CAHF,YAGE,4FAGE,8BAKF,uBAkBE,sCACA,CADA,qBAbA,wCAIA,CALF,8BACE,CADF,gBAKE,wCACA,CAOA,kDACA,CACA,kCAKF,6BAGA,4CACE,kDACA,eAGF,cACE,aACA,iBACA,yBACA,8BACA,WAGJ,2BACE,cAGA,+BACA,CAHA,eAGA,wCACA,YACA,iBACA,uEAGA,0BACA,2CAEA,8EAGI,qBACA,CAFF,kBAEE,kBAGN,0CAGE,mCAGA,4BAIA,gEACE,qCACA,8BAEA,gBACA,+CACA,iCAEF,iCAEE,gEACA,qCAGF,8BAEE,+BAIA,yCAEE,qBADA,gBACA,yBAKF,eACA,CAFF,YACE,CACA,iBACA,qDAEA,mDCvIJ,2FAOE,iCACA,CAEA,eACA,CAHA,kBAEA,CAFA,wBAGA,8BACA,eACE,CAFF,YAEE,0BACA,8CAGA,oBACE,oCAGA,kBACE,8DAEA,iBAEN,UACE,8BAIJ,+CAEE,qDAEF,kDAIE,YAEF,CAFE,YAEF,CCpCE,mFADA,kBAKE,CAJF,IAGA,aACE,mCAGA,iDACE,+BAEJ,wBAEE,mBAMA,6CAEF,CAJE,mBAEA,CAEF,kCAGE,CARF,kBACE,CAHA,eAUA,YACA,mBACA,CADA,UACA,wCC9BF,oBDkCE,wBCnCJ,uCACE,+BACA,+DACA,sBAGA,qBCDA,6CAIE,CAPF,uBAGA,CDGE,oBACF,yDAEE,CCDE,2CAGF,CAJA,kCACE,CDJJ,YACE,CAIA,eCTF,CDKE,uBCMA,gCACE,YAEF,oCAEE,wBACA,0BAIF,iBAEA,cADF,UACE,uBAEA,iCAEA,wCAEA,6CAMA,CAYF,gCATI,4BASJ,CAZE,mCAEE,iCAUJ,4BAGE,4DADA,+BACA,CAHF,qBAGE,sCACE,OAEF,iBAHA,SAGA,iHACE,2DAKF,CANA,8EAMA,uSAEE,kBAEF,+FACE,yCCjEJ,WACA,yBAGA,uBACA,gBAEA,uCAIA,CAJA,iCAIA,uCAGA,UACE,gBACA,qBAEA,0CClBJ,gBACE,KAGF,qBACE,YAGF,CAHE,cAGF,gCAEE,mBACA,iEAEA,oCACA,wCAEA,sBACA,WAEA,CAFA,YAEA,8EAEA,mCAFA,iBAEA,6BAIA,wEAKA,sDAIE,CARF,mDAIA,CAIE,cAEF,8CAIA,oBAFE,iBAEF,8CAGE,eAEF,CAFE,YAEF,OAEE,kBAGJ,CAJI,eACA,CAFF,mBAKF,yCCjDE,oBACA,CAFA,iBAEA,uCAKE,iBACA,qCAGA,mBCZJ,CDWI,gBCXJ,6BAEE,eACA,sBAGA,eAEA,sBACA,oDACA,iGAMA,gBAFE,YAEF,8FAME,iJCnBF,YACA,gNAWE,gDAEF,iSAaE,kBACE,gHAKF,oCACE,eACF,CADE,UACF,8CACE,gDACF,wCACE,oBCxCJ,oBAEF,6BACE,QACE,kDAGF,yBACE,kDAmBA,kDAEF,CAhBA,+CAaA,CAbA,oBAaA,0FACE,CADF,gGAfF,cACE,gBACA,CAaA,0BAGA,mQACE,gBAGF,oMACE,iBACA,CAFF,eACE,CADF,gBAEE,aAGJ,iCAEE,CAFF,wCAEE,wBAUE,+VAIE,uEAHA,2BAGA,wXAKJ,iDAGF,CARM,+CACE,iDAIN,CALI,gBAQN,mHACE,gBAGF,2DACE,0EAOA,0EAGF,gBAEE,6DC/EA,kDACA,gCACA,qDAGA,qBACA,qDCFA,cACA,eAEA,yBAGF,sBAEE,iBACA,sNAWA,iBACE,kBACA,wRAgBA,kBAEA,iOAgBA,uCACE,uEAEA,kBAEF,qUAuBE,iDAIJ,CACA,geCxFF,4BAEE,CAQA,6JACA,iDAIA,sEAGA,mDAOF,iDAGE,4DAIA,8CACA,qDAEE,eAFF,cAEE,oBAEF,uBAFE,kCAGA,eACA,iBACA,mBAIA,mDACA,CAHA,uCAEA,CAJA,0CACA,CAIA,gBAJA,gBACA,oBADA,gBAIA,wBAEJ,gBAGE,6BACA,YAHA,iBAGA,gCACA,iEAEA,6CACA,sDACA,0BADA,wBACA,0BACA,oIAIA,mBAFA,YAEA,qBACA,0CAIE,uBAEF,CAHA,yBACE,CAEF,iDACE,mFAKJ,oCACE,CANE,aAKJ,CACE,qEAIA,YAFA,WAEA,CAHA,aACA,CAEA,gBACE,4BACA,sBADA,aACA,gCAMF,oCACA,yDACA,2CAEA,qBAGE,kBAEA,CACA,mCAIF,CARE,YACA,CAOF,iCAEE,CAPA,oBACA,CAQA,oBACE,uDAEJ,sDAGA,CAHA,cAGA,0BACE,oDAIA,oCACA,4BACA,sBAGA,cAEA,oFAGA,sBAEA,yDACE,CAIF,iBAJE,wBAIF,6CAHE,6CAKA,eACA,aACA,CADA,cACA,yCAGJ,kBACE,CAKA,iDAEA,CARF,aACE,4CAGA,kBAIA,wEAGA,wDAGA,kCAOA,iDAGA,CAPF,WAEE,sCAEA,CAJF,2CACE,CAMA,qCACA,+BARF,kBACE,qCAOA,iBAsBA,sBACE,CAvBF,WAKA,CACE,0DAIF,CALA,uDACE,CANF,sBAqBA,4CACA,CALA,gRAIA,YAEE,6CAEN,mCAEE,+CASA,6EAIA,4BChNA,SDmNA,qFCnNA,gDACA,sCAGA,qCACA,sDACA,CAKA,kDAGA,CARA,0CAQA,kBAGA,YACA,sBACA,iBAFA,gBADF,YACE,CAHA,SAKA,kBAEA,SAFA,iBAEA,uEAGA,CAEE,6CAFF,oCAgBI,CAdF,yBACE,qBACF,CAGF,oBACE,CAIF,WACE,CALA,2CAGA,uBACF,CACE,mFAGE,CALF,qBAEA,UAGE,gCAIF,sDAEA,CALE,oCAKF,yCC7CJ,oCACE,CD+CA,yXAQE,sCCrDJ,wCAGA,oCACE","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/variables/_layout.scss","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote, p\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto-light\n display: block\n\n @media (prefers-color-scheme: dark)\n .theme-toggle svg.theme-icon-when-auto-dark\n display: block\n .theme-toggle svg.theme-icon-when-auto-light\n display: none\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n --font-stack--headings: var(--font-stack);\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #6b6f76; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #0a4bff;\n --color-brand-content: #2757dd;\n --color-brand-visited: #872ee0;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n\n --color-api-added: #21632c;\n --color-api-added-border: #38a84d;\n --color-api-changed: #046172;\n --color-api-changed-border: #06a1bc;\n --color-api-deprecated: #605706;\n --color-api-deprecated-border: #f0d90f;\n --color-api-removed: #b30000;\n --color-api-removed-border: #ff5c5c;\n\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline--hover: var(--color-foreground-border);\n\n --color-link--visited: var(--color-brand-visited);\n --color-link-underline--visited: var(--color-background-border);\n --color-link--visited--hover: var(--color-brand-visited);\n --color-link-underline--visited--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #cfd0d0; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #3d94ff;\n --color-brand-content: #5ca5ff;\n --color-brand-visited: #b27aeb;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n --color-api-added: #3db854;\n --color-api-added-border: #267334;\n --color-api-changed: #09b0ce;\n --color-api-changed-border: #056d80;\n --color-api-deprecated: #b1a10b;\n --color-api-deprecated-border: #6e6407;\n --color-api-removed: #ff7575;\n --color-api-removed-border: #b03b3b;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-family: var(--font-stack--headings)\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:visited\n color: var(--color-link--visited)\n text-decoration-color: var(--color-link-underline--visited)\n &:hover\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &:visited\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n.skip-to-content\n position: fixed\n padding: 1rem\n border-radius: 1rem\n left: 0.25rem\n top: 0.25rem\n z-index: 40\n background: var(--color-background-primary)\n color: var(--color-foreground-primary)\n\n transform: translateY(-200%)\n transition: transform 300ms ease-in-out\n\n &:focus-within\n transform: translateY(0%)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n display: flex\n\n.theme-toggle\n display: flex\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n height: 1.25rem\n width: 1.25rem\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n display: flex\n align-items: center\n justify-content: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: 1.5rem\n width: 1.5rem\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page, .view-this-page\n svg\n color: inherit\n height: 1.25rem\n width: 1.25rem\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $content-padded-width + $sidebar-width)\n // Center the page\n .content\n margin-left: auto\n margin-right: auto\n padding: 0 $content-padding--small\n\n@media (max-width: $content-padded-width--small + $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon, .theme-toggle-header\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: 1.5rem\n width: 1.5rem\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: calc(var(--header-height) + 2.5rem)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n\n@media (max-width: $content-width + 2* $content-padding--small)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n article[role=main] aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","// Overall Layout Variables\n//\n// Because CSS variables can't be used in media queries. The fact that this\n// makes the layout non-user-configurable is a good thing.\n$content-padding: 3em;\n$content-padding--small: 1em;\n$content-width: 46em;\n$sidebar-width: 15em;\n$content-padded-width: $content-width + 2 * $content-padding;\n$content-padded-width--small: $content-width + 2 * $content-padding--small;\n$full-width: $content-padded-width + 2 * $sidebar-width;\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 4.25rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\ndiv.versionadded,\ndiv.versionchanged,\ndiv.deprecated,\ndiv.versionremoved\n border-left: 0.1875rem solid\n border-radius: 0.125rem\n\n padding-left: 0.75rem\n\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\ndiv.versionadded\n border-color: var(--color-api-added-border)\n .versionmodified\n color: var(--color-api-added)\n\ndiv.versionchanged\n border-color: var(--color-api-changed-border)\n .versionmodified\n color: var(--color-api-changed)\n\ndiv.deprecated\n border-color: var(--color-api-deprecated-border)\n .versionmodified\n color: var(--color-api-deprecated)\n\ndiv.versionremoved\n border-color: var(--color-api-removed-border)\n .versionmodified\n color: var(--color-api-removed)\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > *:not(span),\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n","[role=main] .table-wrapper.container\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 2.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(2.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(2.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n color: var(--color-sidebar-link-text)\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the