OptiX Changelog

What's new in OptiX 3.0.1

Aug 16, 2013
  • Optimized all kernel launch times by approximately two ms.
  • Optimizations for certain recompilation cases.
  • Fixed ocean and collision samples to help them compile in the released SDK.
  • Fixed liboptix's Mac rpath to pick up the cudart lib which is installed alongside liboptix because cudart is not binary compatible between versions.
  • Constrained exported symbols on Mac and Linux to just the OptiX API calls. Relinking might be necessary.
  • Fixed bugs with changing the set of devices being used and changing between GPUs of different compute
  • capabilities.
  • Fixed bug with propagating global/const initializers when inlining.
  • Fixed out of memory errors with paging.
  • Fixed bug with material indices being clear to zero when using the clustered triangles primiticve.
  • Mark Acceleration dirty when rtAccelerationSetData fails.

New in OptiX 3.0.0 (Feb 2, 2013)

  • Callable Programs:
  • Enables the assignment of arbitrary CUDA functions to OptiX variables enabling shade trees, referenced procedurals, and a far more diverse set of shading and rendering algorithms.
  • OptiX-CUDA Interop:
  • Allows efficient sharing of data between OptiX and other CUDA applications.
  • Bindless Textures:
  • Textures now have indirect access by using CUDA RT_TEXTURE and storing this handle within OptiX variables and buffers.
  • Improved Performance:
  • Better performance when using GL interop input buffers with multiple GPUs.
  • Far Faster Times for SBVH - our highest Performance acceleration Structure Type:
  • The build times for SBVH are now far faster for assemblies, and general compile times are over 2X faster.
  • Better Multi-GPU Load Balancing:
  • The algorithm for partitioning work across multiple GPUs has improved, increasing multi-GPU scalability.
  • More Efficient Compilation:
  • The need to compile when the scene changes is far less frequent than in previous releases.
  • Expanded Out of Core support:
  • NVIDIA GTX class products can now page to system RAM when exceed on-board GPU memory.
  • New Texture Wrap Modes:
  • For RT_WRAP_MIRROR and RT_WRAP_CLAMP_TO_BORDER
  • TCC Driver Support:
  • OptiX is now compatible with NVIDIA Tesla boards using the TCC driver for either single or multiple GPU usage, allowing OptiX applications to be fully compatible with NVIDIA Maximus system configurations.
  • New SDK Source Examples:
  • Demonstrating: Callable Programs, Multiple Importance Sampling, Ray Differentials and CUDA Interop

New in OptiX 2.6 (Feb 2, 2013)

  • Kepler GPU Support
  • CUDA LLVM Optimizations
  • CUDA 4.2 Support

New in OptiX 2.5.1 (Feb 2, 2013)

  • Out-of-Core Memory Paging
  • Unlimited textures
  • Ultra-Fast Acceleration Structure building
  • Increased performance on divergent rays by up to +80%
  • Visual Studio 2010 support

New in OptiX 2.1.1 (Feb 2, 2013)

  • Fixed known issues when targeting sm_20.
  • Fixed several bugs related to using Transforms in user CUDA programs.
  • Fixed some compilation issues when using double precision in user CUDA programs.
  • Fixed optixpp_namespace.h compile error when using SelectorObj::getChild(), GroupObj::getChild(), and TransformObj::getChild().

New in OptiX 2.1 (Feb 2, 2013)

  • Performance improvements of up to +70% for many heavy workloads over previous OptiX versions.
  • 64-bit device code compilation, allowing access to the full 6GB of Quadro 6000 and Tesla 2070 solutions
  • CUDA 3.1, CUDA 3.2 and CUDA 4.0 B2 support
  • Universal binary (i386 + x86_64) support for Mac OptiX libraries
  • New rtuTraversal API for easily computing batches of ray intersections with geometry without the need to setup an OptiX pipeline - an optimal means for operations like light baking, occlusion culling, and collision detection.
  • CPU fallback for the new Traversal API.