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.1.tar.gz (32.0 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.1-cp314-cp314-win_amd64.whl (314.2 kB view details)

Uploaded CPython 3.14Windows x86-64

pyoptix_contrib-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (654.1 kB view details)

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

pyoptix_contrib-0.1.1-cp313-cp313-win_amd64.whl (312.6 kB view details)

Uploaded CPython 3.13Windows x86-64

pyoptix_contrib-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (654.4 kB view details)

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

pyoptix_contrib-0.1.1-cp312-cp312-win_amd64.whl (312.5 kB view details)

Uploaded CPython 3.12Windows x86-64

pyoptix_contrib-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (654.2 kB view details)

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

pyoptix_contrib-0.1.1-cp311-cp311-win_amd64.whl (310.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pyoptix_contrib-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (653.4 kB view details)

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

pyoptix_contrib-0.1.1-cp310-cp310-win_amd64.whl (309.7 kB view details)

Uploaded CPython 3.10Windows x86-64

pyoptix_contrib-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (652.3 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.1.tar.gz.

File metadata

  • Download URL: pyoptix_contrib-0.1.1.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for pyoptix_contrib-0.1.1.tar.gz
Algorithm Hash digest
SHA256 06b2b88ae6638cfa42c6208c84a6b107cccfd5cf0fde3b3482a960b0fe65698a
MD5 e36ae65ded5a5032e3c80840064d668f
BLAKE2b-256 44c666e360a0d9cc021becc40361f9ac976014b0da2e848b244ef8d8841d39bf

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bd524777707c7b1e5d45dadf6b339819a0f48a6efb7876b71c2502d5a000d2f2
MD5 c1cbdc24647bdfb73a01676beb8f42d0
BLAKE2b-256 07fed1e176a25906e08192bea678f8cb3f1bf6fcd1d600814977584688cfdbcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68ceab58242a846fe7e9de66be3fb0cc7ee2b1d901e88644649ec4b5062d4a8c
MD5 07abd95164e0cd3a031fdcf8c3d2633b
BLAKE2b-256 044f4afd38d64f7043613dd60de5191b9ffedbcac0292f48ad3382b674070035

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c71d64d4e89d7cf22ae3f7b44eb37511382d4685742aaaa3bf7ab0919ca58f76
MD5 929ac3a4d9ed6c691849b9e8ad6bf771
BLAKE2b-256 c0afc850852b1921aa26de321390fa7f2b07c454c033cb5b287e707d8f37ac43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4f84d25e18b1aae4d4e8e454b27192e2f68ec4f2ba26f1a71f927135f197562
MD5 f96f92124baa92121de9dce1b68eb10d
BLAKE2b-256 b178b75c17551ca5f391497790e59b35393153096048dcf8914566858da3ccd4

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e51b154af3bd75f4204da6b4d44fd249e1b01a6148cfc6522fe8973ecd012df6
MD5 faad28bd4aad5e6d90e45a44027efcac
BLAKE2b-256 aaf2d87d98bec08e3f7ac65a98eb75f5d7ab44d875921a9882ec43a69565bf10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f135d6a7b5371c641293bee7a59fa2ee64a1be954dc35707a78233a09e6c0cb
MD5 4c39199974191cdd7ff929c3ae3b08c5
BLAKE2b-256 225cd26ca2f739525482c236e8f729ca72109e4622c7bfdb8b18a59791580556

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9eeb7ee04e1b08c47319a010dab636383a7430fc12c676f0024cb35ad9695690
MD5 1f8ee6dbd37c4f3a20c8b7224bc3420e
BLAKE2b-256 117ba13d60f781c98a1b6c5ada7c2044bdf57852048c8c63277080e1f769abad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c3817826485742d2ddc3e35bb11c4abc4880503e432e5fc1f4cec401e82075e
MD5 dd0489f08952655b5ba97347aa3ad366
BLAKE2b-256 a8f0292ff8277f06f3f3a4e801ea0e6d3756e0e08b62d72aecd7d4397ecda997

See more details on using hashes here.

File details

Details for the file pyoptix_contrib-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 07901e2d27267ed370c45b446c22a972c7ca0efa4a9db856082348a32d98ed9a
MD5 c5ef34403ca11decfb24fbe90b374c24
BLAKE2b-256 3c6f8f48b295c4a9e892659575f3602ba29597155cf483965d5a23101915c0df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyoptix_contrib-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a7d074826bc982cd70eecd95da1f16eef8c215e847ec99d1b7f525b5f929177
MD5 525e4408430a36554163975b560dfa0a
BLAKE2b-256 cc959c7ea6c942f7493654d2e88d3c5a981491aa3f115987ff1684989efe637a

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