Intel® oneAPI Rendering Toolkit Release Notes 2023

ID 792747
Updated 8/21/2023
Version Latest
Public

author-image

By

Intel® oneAPI Rendering Toolkit (Render Kit) contains a set of rendering and ray-tracing libraries. The libraries are designed to help you transform detailed or raw data into rich, realistic visuals. The libraries are optimized for the continuum of visualization needs. This page includes the release notes and issues associated with the toolkit. For software and hardware requirements, please refer to System Requirements page.

Intel® oneAPI Rendering Toolkit includes the following components:

Automatically installed components:

Components distributed elsewhere:

New for 2023.2.1

Intel® oneAPI Rendering Toolkit has fixed the Intel Open Image Denoise component from 2023.2.0 to include GPU support on Windows* and Linux* OS. Components have been rebuilt against the 2023.2.2 release of the Intel® oneAPI DPC++ Compiler.

  • All other components have been rebuilt against the 2023.2.2 release of the Intel® oneAPI DPC++ Compiler
  • Open Image Denoise Denoise functionality driven by Intel® OSPRay frame operations will denoise on GPU if a compatible device is detected.
  • Open Image Denoise can run on discrete Intel GPUs, recent integrated Intel GPUs, and non-Intel GPUs.
  • See 2023.2.0 for details.

Where to Find the Release

Please refer to the Intel® oneAPI Rendering Toolkit page for more information on how to acquire the package.

Intel® oneAPI Rendering Toolkit 2023.2.1

Intel® oneAPI Rendering Toolkit has fixed the Intel Open Image Denoise component from 2023.2.0 to include GPU support on Windows* and Linux* OS. Components have been rebuilt against the 2023.2.2 release of the Intel® oneAPI DPC++ Compiler.

  • All other components have been rebuilt against the 2023.2.2 release of the Intel® oneAPI DPC++ Compiler
  • Open Image Denoise Denoise functionality driven by Intel® OSPRay frame operations will denoise on GPU if a compatible device is detected.
  • Open Image Denoise can run on discrete Intel GPUs, recent integrated Intel GPUs, and non-Intel GPUs.
  • See 2023.2.0 for details.

Intel® oneAPI Rendering Toolkit 2023.2.0

Component Name Version
Intel® Embree 4.1.0-beta
Intel® OSPRay 2.12
Intel® Open Path Guiding Library (Intel® Open PGL) 0.5.0
Intel® Open Image Denoise 2.0
Intel® Open Volume Kernel Library 1.3.2
Intel® OSPRay Studio 0.12.1
Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.20.0
Intel® Rendering Toolkit Utilities 1.8.0
Intel® rkcommon C++ infrastructure library 1.11.0
Intel® oneTBB 2021.9

Intel® Embree 4.1.0-beta

  • For discrete GPU functionality, please install the Windows* or Linux* graphics driver for your device. 
  • Embree 4.x uses SYCL kernels to target discrete graphics devices. To build discrete GPU target Embree API programs, install the Intel® oneAPI DPC++/C++ Compiler from the Base Toolkit.
  • Added support for Intel® Data Center GPU Max Series.
  • Added ARM64 Linux support.
  • Added EMBREE_BACKFACE_CULLING_SPHERES cmake option. The new cmake option defaults to OFF.

Intel® OSPRay 2.12

If a supported discrete GPU device is detected, OSPRay will use that device when an Open Image Denoise image operation is enabled.

  • Support denoising on the GPU with OIDN 2.0, which is the new minimum
    version. The denoiser now uses HDR mode
  • New parameter maxScatteringEvents for the pathtracer which
    limits the number of non-specular (i.e., diffuse and glossy) bounces
  • Optimized dynamic load balancing for MPI devices
  • Fix crash when using small image resolution and many MPI ranks
  • Fix crash in pathtracer when lightSamples > 0
  • Fix transparent shadows with too high minContribution setting
  • The new minimum version for ISPC is v1.20.0
  • Release binaries on Linux are built on Rocky 8

Intel® Open Path Guiding Library (Intel® Open PGL) 0.5.0

No change from Render Kit 2023.1.x

Intel® Open Image Denoise 2.0

Note: GPU support is disabled in this 2023.2.0 distribution of Open Image Denoise 2.0.0. If you wish to use GPU capability with Open Image Denoise, please use 2023.2.1. Alternatively, you may acquire a build from the repository releases page for Windows* or Linux* OS. Full release notes are included below for v2.0.0.

Please review the API for new API calls as major revisions may add or change API signatures and expectations.

GPU support added:

  • Intel devices:
    • Intel® Arc™ A-Series Graphics (DG2)
    • Intel® Data Center GPU Flex Series (ATS-M)
    • Intel® Data Center GPU Max Series (PVC)
    • Intel® Processor Graphics (Gen12)
    • Intel® Iris Xe MAX (codename DG1)
  • Non-Intel device types:
    • NVIDIA GPUs: 
      • Volta, Turing, Ampere, Ada Lovelace, and Hopper architectures

    • AMD GPUs:
      • RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architectures

Full changes:

  • Added SYCL device for Intel Xe architecture GPUs (Xe-LP, Xe-HPG and Xe-HPC)
  • Added CUDA device for NVIDIA Volta, Turing, Ampere, Ada Lovelace and Hopper architecture GPUs
  • Added HIP device for AMD RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architecture GPUs
  • Added new buffer API functions for specifying the storage type (host, device or managed), copying data to/from the host, and importing external buffers from graphics APIs (e.g. Vulkan, Direct3D 12)
  • Removed the oidnMapBuffer and oidnUnmapBuffer functions
  • Added support for asynchronous execution (e.g. oidnExecuteFilterAsyncoidnSyncDevice functions)
  • Added physical device API for querying the supported devices in the system
  • Added functions for creating a device from a physical device ID, UUID, LUID or PCI address (e.g. oidnNewDeviceByID)
  • Added SYCL, CUDA and HIP interoperability API functions (e.g. oidnNewSYCLDeviceoidnExecuteSYCLFilterAsync)
  • Added type device parameter for querying the device type
  • Added systemMemorySupported and managedMemorySupported device parameters for querying memory allocations supported by the device
  • Added externalMemoryTypes device parameter for querying the supported external memory handle types
  • Added quality filter parameter for setting the filtering quality mode (high or balanced quality)
  • Minor API changes with backward compatibility:
    • Added oidn(Get|Set)(Device|Filter)(Bool|Int|Float) functions and deprecated oidn(Get|Set)(Device|Filter)(1b|1i|1f) functions
    • Added oidnUnsetFilter(Image|Data) functions and deprecated oidnRemoveFilter(Image|Data) functions
    • Renamed alignment and overlap filter parameters to tileAlignment and tileOverlap but the old names remain supported
  • Removed OIDN_STATIC_LIB and OIDN_STATIC_RUNTIME CMake options due to technical limitations
  • Fixed over-conservative buffer bounds checking for images with custom strides
  • Upgraded to oneTBB 2021.9.0 in the official binaries

Note: 2.0.1 is available on the repository but it is not provided as part of the oneAPI distribution. If you need better AMD GPU stability, DirectX compatibility, or integrated GPU performance. Please build and deploy v2.0.1 or higher.

Intel® Open Volume Kernel Library (Intel® Open VKL) 1.3.2

No change from Render Kit 2023.1.x

Intel® OSPRay Studio 0.12.1

  • Compatible with OSPRay release v2.12.0

  • Cleanup and bug fixes:

    • Fix issues when running with 192+ MPI ranks
    • Cleanup clang compile warnings (upon re-build)
    • Expose python bindings for camera getZoomLevel/setZoomLevel.
    • Add light enable/disable property rather than relying on intensity=0
    • Optimize texture load caching
    • Batch mode camera fixes and improvments
    • UI and SearchWidget improvements
    • Additional display buffer channels in the Framebuffer menu
      (albdeo, normal, depth, ID buffers)
    • Added obj/mtl parsing of hexcode colors (#RGB or s#RGB)

Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.20.0

ISPC now uses the default oneTBB-based compute path instead of an OpenMP-based path. Thus, OpenMP* is no longer required with this release of ISPC.

ISPC release with compile time improvements, enhancements in the ISPC Runtime,
and a number of code generation fixes. The release is based on patched LLVM
15.0.7.

ISPC distribution changes:

ISPC binaries got faster and smaller. ISPC binaries got smaller approximately
by 1/3 and a few percent faster. The distribution macOS now includes x86_64,
arm64 and Universal Binaries. On Linux a snap package with the latest ISPC is
available.

ISPC Runtime:

  •  ispcrt was split under the hood into GPU and CPU parts, which are loaded dynamically. This means you don't need GPU dependencies when running CPU-only code using ispcrt.
  •  ispcrt got support for fences to enable CPU/GPU asynchronous computations.
  •  ispcrt does not depend on OpenMP runtime anymore, but requires TBB.

New targets:

For better fine-tuning when targeting old platforms, sse4 targets were split
into sse4.1 and sse4.2 targets. All changes are backward compatible - sse4 are
aliased to sse4.2 and multi-target compilation allows only one of sse4 target,
so build systems are not confused.

Intel® oneAPI Rendering Toolkit Utilities (rkUtil) 1.8.0

All components updated to 2023.2 release components.

Intel® OSPRay rkcommon C++ infrastructure library 1.11.0

No change from Render Kit 2023.1.x

Intel® oneTBB 2021.9

Release Notes

Intel® oneAPI Rendering Toolkit 2023.1.1

This release is an out-of-cycle bug fix release. Only Embree updates and OSPRay errata are notable in this release. All component libraries are unchanged.

Component Name Version
Intel® Embree 4.0.1-beta
Intel® OSPRay 2.11
Intel® Open Path Guiding Library (Intel® Open PGL) 0.5.0
Intel® Open Image Denoise 1.4.3
Intel® Open Volume Kernel Library 1.3.2
Intel® OSPRay Studio 0.12.0
Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.19.0
Intel® Rendering Toolkit Utilities 1.7.0
Intel® rkcommon C++ infrastructure library 1.11.0
Intel® oneTBB 2021.8

Intel® Embree 4.0.1-beta

This release corrects the CMake* file issues from 2023.1.0 originally described in this errata post. The Embree library itself is unchanged from Render Kit 2023.1.0.

Intel® OSPRay 2.11

Errata: On Linux, client applications of this OSPRay library distribution still need extra configuration for runtime dependency resolution. See this errata forum post for setup requirements. The OSPRay Library itself is unchanged from Render Kit 2023.1.0.

Intel® Open Path Guiding Library (Intel® Open PGL) 0.5.0

No change from Rneder Kit 2023.1.0.

Intel® Open Image Denoise 1.4.3

No change from Render Kit 2023.1.0.

Intel® Open Volume Kernel Library (Intel® Open VKL) 1.3.2

No change from Render Kit 2023.1.0.

Intel® OSPRay Studio 0.12.0

No change from Render Kit 2023.1.0.

Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.19.0

No change from Render Kit 2023.1.0.

Intel® oneAPI Rendering Toolkit Utilities (rkUtil) 1.7.0

No change from Render Kit 2023.1.0.

Intel® OSPRay rkcommon C++ infrastructure library 1.11.0

No change from Render Kit 2023.1.0.

Intel® oneTBB 2021.8

No change from Render Kit 2023.1.0.

Intel® oneAPI Rendering Toolkit 2023.1.0

Component Name Version
Intel® Embree 4.01-beta
Intel® OSPRay 2.11
Intel® Open Image Denoise 1.4.3
Intel® Open Volume Kernel Library 1.3.2
Intel® OSPRay Studio 0.12.0
Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.19.0
Intel® Rendering Toolkit Utilities 1.7.0
Intel® rkcommon C++ infrastructure library 1.11.0
Intel® oneTBB 2021.8

New in This Release

Intel® oneAPI Rendering Toolkit is updated with discrete GPU support for the first time with Intel® Embree 4. Use new hardware raytracing support with the Render Kit on these devices:

  • Intel® Arc™ A-Series Graphics
  • Intel® Data Center GPU Flex Series

The Intel® Open Path Guiding Library is now included as a pre-1.0 release.

Errata

1) Embree configuration files for CMake* included with the 2023.1.0 release of Rendering Toolkit yield errors when building client applications. See workaround details at the errata post. This issue is corrected in 2023.1.1.

2) On Linux, client applications of this OSPRay library distribution still need extra configuration for runtime. See this errata forum post for setup requirements.

Intel® Embree 4.0.1-beta

Try Intel® GPU devices

  • Embree library GPU support is at BETA release status while existing CPU support remains at GOLD release status.
  • Write discrete GPU targeted ray tracing programs with Embree API function calls within your SYCL* kernel source code. Embree API calls within SYCL* kernels target discrete GPU only at this time.
  • Introductory source code has been added to the oneAPI samples repository. See the RenderingToolkit/GettingStarted and RenderingToolkit/Tutorial/IntroToRayTracingWithEmbree sample programs.

API Changes

Major version revisions are a chance to improve API definitions with new calls and deprecations. Make sure to new API provisions, especially the RTCIntersectArguments and rtcInitIntersectArguments(...) API call pair in the API manual. This replaces RTCIntersectContext and rtcInitIntersectContext(...).

Errata/Troubleshoot *Important*

Embree configuration files for CMake* included with the 2023.1.0 release of Rendering Toolkit yield errors when building client applications. Please update to 2023.1.1.

Details

Embree 4.0.1

  • Improved performance for Tiger Lake, Comet Lake, Cannon Lake, Kaby Lake, and Skylake client CPUs by using 256 bit SIMD instructions by default.
  • Fixed broken motion blur of RTC_GEOMETRY_TYPE_ROUND_LINEAR_CURVE geometry type.
  • Fixed bvh build retry issue for TBB 2020.3
  • Added support for Intel® Data Center GPU Flex Series
  • Fixed issue on systems without a SYCL platform.

included from Embree 4.0.0

  • This Embree release adds support for Intel® Arc™ GPUs through SYCL.
  • The SYCL support of Embree is in beta phase. Current functionality, quality, and GPU performance may not reflect that of the final product. Please read the documentation section "Embree SYCL Known Issues" for known limitations.
  • Embree CPU support in this release as at Gold level, incorporating the same quality and performance as previous releases.
  • A small number of API changes were required to get optimal experience and performance on the CPU and GPU. See documentation section "Upgrading from Embree 3 to Embree 4" for details.
  • rtcIntersect and rtcOccluded function arguments changed slightly.
  • RTCIntersectContext is renamed to RTCRayQuery context and most members moved to new RTCIntersectArguments and RTCOccludedArguments structures.
  • rtcFilterIntersection and rtcFilterOcclusion API calls got replaced by rtcInvokeIntersectFilterFromGeometry and rtcInvokeOccludedFilterFromGeometry API calls.
  • rtcSetGeometryEnableFilterFunctionFromArguments enables argument filter functions for some geometry.
  • RTC_RAY_QUERY_FLAG_INVOKE_ARGUMENT_FILTER ray query flag enables argument filter functions for each geometry.
  • User geometry callbacks have to return if a valid hit was found.
  • Ray masking is enabled by default now as required by most users.
  • The default ray mask for geometries got changed from 0xFFFFFFFF to 0x1.
  • Removed ray stream API as rarely used with minimal performance benefits over packet tracing.
  • Introduced rtcForwardIntersect/rtcForwardOccluded API calls to trace tail recursive rays from user geometry callback.
  • The rtcGetGeometryUserDataFromScene API call got added to be used in SYCL code.
  • Added support for user geometry callback function pointer passed through ray query context
  • Feature flags enable reducing code complexity for optimal performance on the GPU.
  • Fixed compilation issues for ARM AArch64 processor under Linux.
  • Setting default frequency level to SIMD256 for ARM on all platforms. This allows using double pumped NEON execution by enabling EMBREE_ISA_NEON2X in cmake under Linux.
  • Fixed missing end caps of motion blurred line segments.
  • EMBREE_ISPC_SUPPORT is turned OFF by default.
  • Embree drops support of the deprecated Intel(R) Compiler. It is replaced by the Intel(R) oneAPI DPC++/C++ Compiler on Windows and Linux and the Intel(R) C++ Classic Compiler on MacOS (latest tested versions is 2023.0.0).

 

Intel® Open Image Denoise 1.4.3

No change

Intel® Open Volume Kernel Library (Intel® Open VKL) 1.3.2

  • Move to and require latest versions of RenderKit dependencies: Embree v4.0.0 and rkcommon v1.11.0
  • ARM support: expose ISPC neon-i32x8 target via OPENVKL_ISA_NEON2X CMake option
  • Superbuild updates to latest versions of dependencies

Intel® OSPRay 2.11

Errata: On Linux, client applications of this OSPRay library distribution still need extra configuration for runtime. See this errata forum post for setup requirements. 

Changes in v2.11.0 from v2.10.0:

  • Support single ISPC target on Windows
  • OSPRay's superbuild can now be provided a CMake toolchain file for cross-compilation
  • Add support for double pumped NEON instruction on ARM64
  • Reduce the memory overhead of the mpiOffload device and resolve memory and MPI_Comm handle leaks
  • Support for volume rendering (and thus the dependency to Open VKL) can now be compile-time controlled via CMake variable OSPRAY_ENABLE_VOLUMES
  • OSPRay's MPI modules have been split up and renamed, the mpiOffload device is now in the mpi_offload module, while the mpiDistributed device is now in the mpi_distributed_cpu module
  • Add native support for spheres via Embree, which requires the positions and radius of the spheres to be interleaved in memory; if this is not the case, OSPRay will internally create a copy of the data
  • Fix dynamicScene flag on World and Group to influence BVH quality again: default is now "high", which should improve rendering performance, depending on the scene; and "low" when dynamicScene is enabled (improving BVH build performance)
  • Fix a crash in pathtracer when there are no lights
  • Fix a data corruption bug when setting string parameters for objects in the mpiOffload device
  • Various documentation fixes
  • OSPRay now has a new dependency, which is ISPC Run Time (ISPCRT) in minimum 1.19.0 version.
    • On Linux* OS the oneAPI release will depend on OpenMP* runtime library availability. See the 'Configure Your System' guide for more details. 
  • Adapt to Embree v4.0.0 API changes, which is thus the new minimum version; additionally, the new minimum version for Open VKL is v1.3.2 and for ISPC v1.19.0
  • Removed support of MSVC14.0 (Visual Studio 2015) and the second generation Intel Xeon Phi processor (codename Knights Landing)

Intel® Open Path Guiding Library (Intel® Open PGL) 0.5.0

Initial oneAPI release! Changes from 0.4.x:

  • Api changes:

    • PathSegmentStorage:

      • Removed support for splatting training samples due to the fact that knn-lookups have proven to be better. Therefore, the function attributes splatSamples and sampler have been removed from the PrepareSamples function.

      • Added PropagateSamples method prepare and push samples to the SampleStorage The goal is to replace PrepareSamplesGetSamples and AddSamples.

    • Sampler:

      • Removed since it is not used/needed anymore.
    • SurfaceSamplingDistribution and VolumeSamplingDistribution:

      • The usage of parallax-compensation is now connected to the guiding distribution type. Therefore the explicit useParallaxCompensation parameter is removed from the Init functions of the SamplingDistributions.
      • Added IncomingRadiancePDF function that returns an approximation of the incoming radiance distribution. This PDF does not need to be related to the actual sampling PDF but can be used for Resampled Importance Sampling (RIS).
    • Field:

      • Adding UpdateSurface and UpdateVolume function to update/train the surface and volume field separately.
    • SampleStorage:

      • Adding ClearSurface and ClearVolume function to clear the surface and volume samples separately. This allows to wait until a specific number of samples is collected for the surface or volume cache before updating/fitting the Field.
  • Deactivating/removing OMP threading support since it would still have a dependency on TBB

  • Bugfixes:

    • Fixing bug causing crash during Field::Update when in previous iterations no volume or surface samples were present.

Intel® OSPRay Studio 0.12.0

  • Bug Fixes
  • New functionality for Tiny OpenEXR*, Tiny DNG* (TIFF format support), and OpenImageIO* 

Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.19.0

  • New targets were added:
    • avx512spr-x4, avx512spr-x8, avx512spr-x16, avx512spr-x32, avx512spr-x64 for 4th generation Intel® Xeon® Scalable (codename Sapphire Rapids) CPUs. A macro ISPC_TARGET_AVX512SPR was added.
    • xehpc-x16 and xehpc-x32 for Intel® Data Center GPU Max (codename Ponte Vecchio).
  • Function templates were introduces to the langauge, please refer to Function Templates section for more details. Two new keywords were introduced: template and typename.
  • ISPC_FP16_SUPPORTED macro was introduced for the targets supporting FP16.

Intel® oneAPI Rendering Toolkit Utilities (rkUtil) 1.7.0

  • All component references updated for 2023.1.
  • Please note Linux* and macOS* errata, the folder name is ${ONEAPI_ROOT}/rkutil-1.7.0 . and not ${ONEAPI_ROOT}/rkutil . Still, use the script as you would other wise.

Intel® OSPRay rkcommon C++ infrastructure library 1.11.0

  • Bug fixes

Intel® oneTBB 2021.8

  • All dependent tools run with Intel® oneTBB 2021.8 release (included)

Deprecated in this Release

  • Supported platforms for oneAPI often change quarterly to match developer ecosystem needs and validation priorities. Please see the software system requirements for operating systems both added and removed.

Errata

2023.1.0 toolkit release of Embree

Configuration files for CMake* included with the 2023.1.0 release of Rendering Toolkit yield errors when building client applications.

  • See workaround details at the errata post
  • Alternatively, use precompiled standalone packages for Embree from the Github* repository:
    • embree-4.0.1-beta.sycl.x64.windows.zip
    • embree-4.0.1-beta.sycl.x86_64.linux.tar.gz
    • embree-4.0.1.x86_64.macosx.zip
       

Linux* and macOS*

The superbuild script in the rkutil directory is itself versioned: ${ONEAPI_ROOT}/rkutil-1.7.0 . and not ${ONEAPI_ROOT}/rkutil . Still, use the script as you would other wise.

Intel® oneAPI Rendering Toolkit 2023.0

New in This Release

Intel® oneAPI Rendering Toolkit remains unchanged from the most recent 2022.3.1 release.  Stay tuned for an exciting, upcoming release in early 2023.

 

Deprecated in this Release

  • Supported platforms for oneAPI often change quarterly to match developer ecosystem needs and validation priorities. Please see the software system requirements for operating systems both added and removed.

Workarounds/Troubleshoot

macOS*

oneTBB dynamic runtime errors while using XCode*

Users may see issues in an XCode* IDE developer environment when setting up dynamic runtime search paths. Apple* System Integrity Protection may purge these paths.

 

Previous oneAPI Releases

2022.x

Notices and Disclaimers

Intel technologies may require enabled hardware, software or service activation.

No product or component can be absolutely secure.

Your costs and results may vary.

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.