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:
- Intel® Embree
- Intel® Open Image Denoise (OIDN)
- Intel® Open Volume Kernel Library (Intel® Open VKL)
- Intel® OSPRay
- Intel® Open Path Guiding Library (Intel® Open PGL)
- Intel® OSPRay Studio
- Intel® Implicit SPMD Program Compiler (Intel® ISPC)
- ISPCRT Runtime
- Intel® oneAPI Rendering Toolkit Utilities (rkUtil)
- rkUtil superbuild CMake script
Automatically installed components:
- Intel® OSPRay rkcommon C++ infrastructure library
- Intel® oneTBB
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. Thedenoiser
now uses HDR mode - New parameter
maxScatteringEvents
for thepathtracer
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
whenlightSamples > 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
- NVIDIA GPUs:
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
andoidnUnmapBuffer
functions - Added support for asynchronous execution (e.g.
oidnExecuteFilterAsync
,oidnSyncDevice
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.
oidnNewSYCLDevice
,oidnExecuteSYCLFilterAsync
) - Added
type
device parameter for querying the device type - Added
systemMemorySupported
andmanagedMemorySupported
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 deprecatedoidn(Get|Set)(Device|Filter)(1b|1i|1f)
functions - Added
oidnUnsetFilter(Image|Data)
functions and deprecatedoidnRemoveFilter(Image|Data)
functions - Renamed
alignment
andoverlap
filter parameters totileAlignment
andtileOverlap
but the old names remain supported
- Added
- Removed
OIDN_STATIC_LIB
andOIDN_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
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 andMPI_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 thempi_offload
module, while thempiDistributed
device is now in thempi_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" whendynamicScene
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
andsampler
have been removed from thePrepareSamples
function. -
Added
PropagateSamples
method prepare and push samples to theSampleStorage
The goal is to replacePrepareSamples
,GetSamples
andAddSamples
.
-
-
Sampler
:- Removed since it is not used/needed anymore.
-
SurfaceSamplingDistribution
andVolumeSamplingDistribution
:- The usage of parallax-compensation is now connected to the guiding distribution type. Therefore the explicit
useParallaxCompensation
parameter is removed from theInit
functions of theSamplingDistributions
. - 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).
- The usage of parallax-compensation is now connected to the guiding distribution type. Therefore the explicit
-
Field
:- Adding
UpdateSurface
andUpdateVolume
function to update/train the surface and volume field separately.
- Adding
-
SampleStorage
:- Adding
ClearSurface
andClearVolume
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 theField
.
- Adding
-
-
Deactivating/removing
OMP
threading support since it would still have a dependency onTBB
-
Bugfixes:
- Fixing bug causing crash during
Field::Update
when in previous iterations no volume or surface samples were present.
- Fixing bug causing crash during
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.
- Please see the XCode* running the executable article as provided with Intel® oneAPI Base Toolkit (Base Kit) guidance for mitigation help.
- Apple System Integrity Protection Guide
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.