Skip to main content

Community-maintained Python bindings for NVIDIA OptiX (fork of otk-pyoptix with OptiX 9.1 support)

Project description

pyoptix-contrib

Community-maintained Python bindings for NVIDIA OptiX, forked from NVIDIA/otk-pyoptix.

This fork adds support for OptiX 9.1 features including cluster acceleration structures and cooperative vectors.

Requirements

Installation

export OptiX_INSTALL_DIR=/path/to/OptiX-SDK
pip install pyoptix-contrib

On Windows (PowerShell):

$env:OptiX_INSTALL_DIR = 'C:\ProgramData\NVIDIA Corporation\OptiX SDK 9.1.0'
pip install pyoptix-contrib

The package builds from source via CMake, so the OptiX SDK must be available at install time.

For additional CMake arguments, use the PYOPTIX_CMAKE_ARGS environment variable.

Usage

import optix

# Create a device context
ctx = optix.deviceContextCreate(cuda_context, optix.DeviceContextOptions())

# Query device properties
rtcore_version = optix.deviceContextGetProperty(
    ctx, optix.DeviceProperty.DEVICE_PROPERTY_RTCORE_VERSION
)

See the examples directory for complete samples including triangle rendering, curves, denoising, and motion blur.

What's New in This Fork

  • OptiX 9.1 support: Conditional compilation via IF_OPTIX91 macro
  • Cluster acceleration structures: Enums, structs, and host functions (clusterAccelComputeMemoryUsage, clusterAccelBuild)
  • Cooperative vectors: Element types, matrix layouts, and description structs
  • New primitive types: ROCAPS curve variants and associated flags
  • allowClusteredGeometry pipeline compile option
  • New device properties: COOP_VEC, CLUSTER_ACCEL, max cluster vertices/triangles/SBT index/clusters-per-GAS

Windows: CUDA DLL Loading (Python 3.8+)

Python 3.8+ on Windows no longer uses PATH to find DLLs. PyOptiX will auto-detect CUDA from the CUDA_PATH environment variable. If auto-detection fails, set CUDA_BIN_DIR:

$env:CUDA_BIN_DIR = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\bin'

License

BSD 3-Clause. See LICENSE.txt.

Acknowledgments

Original work by Keith Morley and NVIDIA Corporation (NVIDIA/otk-pyoptix).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyoptix_contrib-0.1.2.tar.gz (32.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyoptix_contrib-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (662.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyoptix_contrib-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (662.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyoptix_contrib-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (661.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyoptix_contrib-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (660.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyoptix_contrib-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (659.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file pyoptix_contrib-0.1.2.tar.gz.

File metadata

  • Download URL: pyoptix_contrib-0.1.2.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyoptix_contrib-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3595491ba85b94a5a63e4cdeee5636aaba0d7b8376e309bc241b72e26fe3e5a2
MD5 3a28181b6c0c2d6018882b5127e08fdf
BLAKE2b-256 a2e4f16b5b7b22d661fd6aa68b3996a477a9b1803ecbb62b8af161e4d4df8b42

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a8548e760ec84b1b612a7acc3608dabdd8e84fee28ce1de8752c5a6de9c8c290
MD5 9a6a311d190a3471e7e7116eb45013c8
BLAKE2b-256 8370e1da35f17b24aa0826cf243276b790baf28cfb5d4e1fcd6a995dad902598

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3412235b09210bebccbbdeeb2d844ebcf2400e1bb47a7ecae7760fb0d8e155a4
MD5 e07a72cf613be0e0c47192c14381baec
BLAKE2b-256 a195164f7ae3b1556259678138b24f52218e4eff78900902bc0b9ca897889127

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a822b3934277cf2e806bb86fe1ee9dd704237a5ffbfa21949427e847c904293
MD5 6d256fe5de59ea9b14223c4992d2bfcf
BLAKE2b-256 3c7bd5457918e29d045c6c844e8acae1ba27ae4a19d3b181ab2ca5efd8e0fac3

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b085efa475d87caaed63caf6ac1f580623c9043ae687655bf71a0f88a3627db2
MD5 c67e576dc53cda0ccda03d1974941d2c
BLAKE2b-256 0c60778500a00400127d7ffa1570a00816a8b486080d2c838e87af877ea4b1f3

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f128f18d05ec806e7f4fe67ffba53342124271bf443f5b9b2dffc48ea1fd3d2
MD5 79754498d9700b0a0dd8586b1875215b
BLAKE2b-256 22de9620f221ea48b563b608a23218952a053c258d538f5b2ccda0cca8d43f38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page