Intel® Rendering Toolkit Release Notes

ID 标签 763664
已更新 3/14/2024
版本 Latest
公共

author-image

作者

Intel® 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® Rendering Toolkit includes the following components:

Automatically installed components:

Components distributed elsewhere:

New for 2024.1

  • Intel OSPRay and Intel OSPRay Studio are feature equivalent on the CPU and GPU
  • Intel OSPRay Studio has reached the 1.0.0 release milestone
  • Performance improvements for multiple libraries
  • Running Intel Embree on Intel Data Center MAX Series GPU requires setting the environment variable: ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE
  • Use the Intel® oneAPI DPC++ Compiler and Runtimes to target compatible discrete Intel GPUs.

Where to Find the Release

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

Intel® Rendering Toolkit 2024.1

Component Name Version
Intel® Embree 4.3.1
Intel® OSPRay 3.1.0
Intel® Open Path Guiding Library (Intel® Open PGL) 0.6.0
Intel® Open Image Denoise 2.2.0
Intel® Open Volume Kernel Library 2.0.1
Intel® OSPRay Studio 1.0.0
Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.23.0
Intel® Rendering Toolkit Utilities 1.10
Intel® rkcommon C++ infrastructure library 1.13
Intel® oneTBB 2021.12

Intel® Embree 4.3.1

GPU

Use the Intel® oneAPI DPC++ Compiler and Runtimes 2024.1 from the Base Toolkit to target discrete GPUs with Intel Embree.

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

  • Intel® Arc™ A-Series Graphics (DG2)
  • Intel® Data Center GPU Flex Series (ATS-M), Intel® Data Center GPU Max Series (PVC)
    • Contact your OEM representative for access to the Intel Registration Center.

Embree 4.3.1 changes:

  • User defined thread count now takes precedence for internal task scheduler
  • Bug fix for adding EMBREE_GEOMETRY types to embree-config.cmake
  • Fixed static linking issue with ze_wrapper library
  • Patch to glfw source is not applied by default anymore.
  • Running Embree on Intel® Data Center GPU Max Series with 2 tiles requires setting the environment variable ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE.
  • Please use Apple Clang <= 14 on macOS. Embree build using Apple Clang 15 and ARM support (via the SEE2NEON library) may cause "EXEC_BAD_INSTRUCTION" runtime exceptions. 
  • Security updates

 

Intel® OSPRay 3.1.0

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

GPU usage

To target GPU with Intel OSPRay 3.0, only a C++17/C99 system compiler toolchain and Intel oneAPI DPC++ Runtimes are required. Building a client application with Intel oneAPI DPC++ Compiler is optional. The simplest way to get started is to install the compiler and runtimes from the Base Toolkit.

To try running your application on GPU see the Modules and Devices / GPU section of the documentation.

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

OSPRay 3.1.0 changes

  • OSPRay on CPU and GPU are feature equivalent
  • Principled and Luminous materials support emissive textures
  • Add native support for disc and oriented disc geometry
  • Add support for mirror repeat and clamp to edge texture wrap modes
  • GPU device now also supports motion blur
  • Improve noise in reflections of ThinGlass
  • Improve adaptive accumulation: working with GPU, fix correlations
  • Fix indirectly seen albedo and normal buffer
  • Fix artifacts when using specular texture for Principled
  • Fixes for PixelFilter
  • Parameter was ignored (always using the default Gaussian)
  • Avoid a shift/misalignment within the pixel for first sample
  • Fix empty image on Windows when `focusDistance=0`
  • Fix missing SDK headers for `ISPCDevice*`

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

Intel® Open PGL 0.6.0 changes

  • Api changes:

    • Device added numThread parameter (default = 0) to the constructor to set the number of threads used by Open PGL during training. The default value of 0 uses all threads provided by TBB. If the renderer uses TBB as well and regulates the thread count this count is also used by Open PGL.
    • SurfaceSamplingDistribution and VolumeSamplingDistribution:
      • Added GetId function to return the unique id of the spatial structure used to query the sampling distriubtion.
    • Field and SampleStorage, added Compare function to check if the data stored in different instances (e.g., generated by two separate runs) are similar (i.e., same spatial subdivisions and directional distributions).
    • Field:
      • The constructor of the Field class now takes a FieldConfig instead of a PGLFieldArguments object. (BREAKING API CHANGE)
      • GetSurfaceStatistics and GetVolumeStatistics functions are added to query statistics about the surface and volume guiding field. The functions return a FieldStatistics object. Note, querying the statistics of a Field introduces a small overhead.
    • FieldStatistics:
      • This class store different statistics about a Field, such as, number and size of spatial nodes, statistics about the directional distributions, and the times spend for full and separate steps of the last Update step. The statistics can be queried as a full string (useful for logging) or as CSV strings (useful for analysis and plotting).
      • ToString: Returns a string printing all statistics.
      • HeaderCSVString: Returns the CSV header sting with the names of each statistic.
      • ToCSVString: Returns the CSV value sting of each statistic.
    • FieldConfig:
      • This class is added to replace the PGLFieldArguments struct when using the C++ API. -Init: the function initializes the parameters of the FieldConfig (i.e., similar to pglFieldArgumentsSetDefaults). Additional parameters (deterministic and maxSamplesPerLeaf) are introduced to enable deterministic behavior and to control the spatial subdivision granularity. -SetSpatialStructureArgMaxDepth: this function can be called after Init to the the maximum tree depth of the spatial structure.
    • pglFieldArgumentsSetDefaults: Adding two additional parameters deterministic and maxSamplesPerLeaf(BREAKING API CHANGE)

Intel® Open Image Denoise 2.2.0

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

GPU support:

  • 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

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

GPU usage

To target GPU with Intel OIDN 2.2.0, only a C++17/C99 system compiler toolchain and Intel oneAPI DPC++ Runtimes are required. Building a client application with Intel oneAPI DPC++ is optional. The simplest way to get started is to install the compiler and runtimes from the Base Toolkit.

Intel® Open Image Denoise 2.2.0 changes:

  • Improved denoising quality (better fine detail reconstruction)
  • Added Intel Meteor Lake GPU support (in Intel® Core™ Ultra Processors)
  • Added Metal device for Apple silicon GPUs (requires macOS Ventura or newer)
  • Added ARM64 (AArch64) CPU support on Windows and Linux (in addition to macOS)
  • Improved CPU performance
  • Significantly reduced overhead of committing filter changes
  • Switched to the CUDA driver API by default, added the OIDN_DEVICE_CUDA_API CMake option for manually selecting between the driver and runtime APIs
  • Fixed crash when releasing a buffer after releasing the device

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

GPU

Use the Intel® oneAPI DPC++ Compiler and Runtimes 2024.1 from the Base Toolkit to target discrete GPUs with Intel Open Volume Kernel Library.

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

  • Intel® Arc™ A-Series Graphics (DG2)
  • Intel® Data Center GPU Flex Series (ATS-M), Intel® Data Center GPU Max Series (PVC)
    • Contact your OEM representative for access to the Intel Registration Center.

Intel® Open VKL changes in v2.0.1:

  • Removed ISPC runtime dependency and level zero loader requirement
  • Add DEPENDENTLOADFLAG linker parameter for Windows binaries, restricting DLL loading behavior
  • Superbuild updates to latest versions of dependencies

Intel® OSPRay Studio 1.0.0

  • 1.0.0 release milestone

  • Features and Improvements

    • OSPRay v3.1.0 Compatibility:
      • Intel Xe GPU beta support: launch Studio with parameters --osp:load-modules=gpu --osp:device=gpu
    • Add support for new OSPRay functionality:
    • Principled and Luminous materials support emissive textures
    • Add native support for disc and oriented disc geometry
    • Add support for mirror repeat and clamp to edge texture wrap modes
      • OSPTextureWrapMode supported on all textures
      • glTF texture wrapping now fully supported
    • Support frame buffer denoise and tonemapper on non-float buffer format
    • Add more OSPRay material types to UI, supporting the rest of the OSPRay material types and their default values.

    • Support for both OpenEXR v2.x and v3.x APIs

    • Detection of asynchronous file modifications for automatic update HDRI and backplate textures.

    • Enable plugins to access MainWindow class, re-enabling plugins to access the ArcballCamera

    • Enable MPI distributed rendering in Batch mode allowing ospStudio to utilize OSPRay's MPI Distributed renderer in Batch mode

  • Cleanup and bug fixes:

    • For Windows builds, add dependent load for dll injection security
    • Graceful exit if command line parsing fails
    • Fix support for 2D measured light intensity distribution
    • Correctly set OBJ texture parameters in SciVis/AO and show OBJ colors in widget
    • Fixed a long-standing bug in OBJ material loader. kd and ks textures were loaded as linear format and not sRGB gamma encoded.
    • Fix value scaling when displaying depth buffer
    • Add helper code to enable loading of pre-OSPRayStudio v0.13 sg files
    • Fix incorrect texture flip on load in UDIM and reuse
  • Many 3rd party build time dependency updates

 

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

ISPC is recommended to acheive optimized CPU performance on Intel® Embree applications. Use the ISPC compiler to compile client applications that efficiently use the SIMD capabilities of Intel® 64 CPU processors. There is no client usage model of Intel ISPC for neither Embree GPU, nor Open VKL GPU applications at this time.

 

Intel® ISPC v1.23.0 changes:

  • ISPC release with bug fixes and a few language improvements. The release is based on patched LLVM 16.0.6.
  • Language changes:
    • Improved `const` variables initialization:
    1. Variables with const qualifiers can be initialized using the values of previously initialized const variables including arithmetic operations above them.
    2. Enum values can be used as constants.
    • One can use the result of selection operator as lvalue now.
  • Compiler switches behavior:
    •  --dump-file=<dir> forces now to dump the whole IR modules after each pass.
  • ISPC Runtime improvements:
    • Added `ISPCRT_GPU_DRIVER` environment variable that allows to choose the specific driver. If more than one supported GPU is present in the system, they may be managed by several GPU drivers. The user can select the GPU driver using this variable.
  • Infrastructure/build changes:
    • Removed the build dependency from llvm-dis.
    • Lock the time zone to UTS to fix build reproducibility.
  • Bug fixes:
    • Fixed ABI compatibility of bool types returned to C/C++ code.
    • Fixed build error when bison emulates POSIX Yacc.
    • Fixed target definition for neon-i16x8, sse2-i32x8 and ps5.
    • Fixed ICE when generating unwind info for aarch64 code on Windows.

Intel® Rendering Toolkit Utilities (rkUtil) 1.10.0

All components updated to 2024.1 release components.

Intel® OSPRay rkcommon C++ infrastructure library 1.13.0

  • Support for GPU enabled data structures and use with Intel OSPRay, Intel Open VKL

Intel® oneTBB 2021.11

Release Notes

New for 2024.0

  • In addition to CPU support, the Intel® Rendering Toolkit libraries (Intel® Embree, Intel® Open Image Denoise, Intel® Open Volume Kernel Library, Intel® OSPRay and Intel® OSPRay Studio now support Intel Xe architecture-based GPUs (Intel® Arc™ and Data Center GPU Flex and Max Series).
  • Intel® Embree delivers production-level ray-traced hardware acceleration to Intel® Arc graphics, Intel® Data Center GPU Flex Series and newly added Intel® Data Center GPU Max Series in addition to its award-winning ray tracing support on CPU.
  • Intel® Open Image Denoise brings state of the art denoising to Intel® Arc graphics, Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max Series in addition to CPU support.
  • Use the Intel® oneAPI DPC++ Compiler and Runtimes to target discrete GPUs.

Where to Find the Release

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

Intel® Rendering Toolkit 2024.0

Component Name Version
Intel® Embree 4.3
Intel® OSPRay 3.0-Beta
Intel® Open Path Guiding Library (Intel® Open PGL) 0.5.0
Intel® Open Image Denoise 2.1
Intel® Open Volume Kernel Library 2.0.0-Beta
Intel® OSPRay Studio 0.13
Intel® Implicit SPMD Program Compiler (Intel® ISPC) 1.21.0
Intel® Rendering Toolkit Utilities 1.9
Intel® rkcommon C++ infrastructure library 1.12
Intel® oneTBB 2021.11

Intel® Embree 4.3

GPU

Use the Intel® oneAPI DPC++ Compiler and Runtimes 2024.0 from the Base Toolkit to target discrete GPUs with Intel Embree.

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

  • Intel® Arc™ A-Series Graphics (DG2)
  • Intel® Data Center GPU Flex Series (ATS-M), Intel® Data Center GPU Max Series (PVC)
    • Contact your OEM representative for access to the Intel Registration Center.

Embree 4.3 changes

  • Added instance array primitive for reducing memony requirements in scenes with large amounts of similar instances.
  • Properly checks driver if L0 RTAS extension can get loaded.
  • Added varying version of rtcGetGeometryTransform for ISPC.
  • Fixed signature of RTCMemoryMonitorFunction for ISPC.
  • Add support for ARM64 Windows platform in CMake.

Embree 4.2 changes

  • SYCL version of Embree with GPU support is no longer in beta phase.
  • Improved BVH build performance on many core machines for applications that oversubscribe threads.
  • Added rtcGetGeometryTransformFromScene API function that can get used inside SYCL kernels.
  • No longer linking to ze_loader in SYCL mode to avoid Intel(R) oneAPI Level Zero dependency for CPU rendering.
  • Releasing test package to test Embree.

Intel® OSPRay 3.0

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

GPU usage

To target GPU with Intel OSPRay 3.0, only a C++17/C99 system compiler toolchain and Intel oneAPI DPC++ Runtimes are required. Building a client application with Intel oneAPI DPC++ is optional. The simplest way to get started is to install the compiler and runtimes from the Base Toolkit.

To try running your application on GPU see the Modules and Devices / GPU section of the documentation. Note Intel OSPRay 3.0 GPU support is at Beta level so not all features are supported.

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

OSPRay 3.0 changes

  • Beta support for Intel Xe GPUs (Intel Arc™ GPUs a Intel Data Center GPU Flex and Max Series), exploiting ray tracing hardware support. Implementation is based on the SYCL cross-platform programming language implemented by Intel oneAPI Data Parallel C++ (DPC++).
    Note that the following features are not implemented yet or are not working correctly on the new gpu device:
    • Multiple volumes in the scene
    • Clipping
    • Motion blur
    • Subdivision surfaces
    • Progress reporting via ospGetProgress or canceling the frame via ospCancel
    • Picking via ospPick
    • Adaptive accumulation via OSP_FB_VARIANCE and varianceThreshold
    • Framebuffer channels OSP_FB_ID_* (id buffers)
    • Experimental support for shared device-only data, works only for structuredRegular volume
    • Further known issues
      • Some delay on start-up or when changing the scene, because kernel code is JIT compiled and specialized. JIT compilation can be cached by setting environment variable SYCL_CACHE_PERSISTENT=1, then consecutive starts or rendering the same scene configuration is without delay
      • For some combination of compiler, GPU driver and scene the rendered images might show artifacts (e.g., vertical lines or small blocks)
      • Multidevice does not support OSPImageOperations for denoising or tone mapping
  • Add implicit indexing for mesh geometry
  • Add support for transferring ownership of temporary buffers: ospNewSharedData accepts an optional deleter callback
  • Optimizations for MPI module, supported by new integrated performance tracing framework
  • Optimize scivis gradient shading
  • Main thread does not set FTZ/DAZ anymore for denormals handling
  • Compute intersection epsilon for Mesh to avoid rendering artifacts due to self-intersection
  • Fix energy conservation of Pricipled material under certain parameter combinations
  • Fix denoiser to not wipe the alpha channel
  • Fix crash in HDRI light
  • Fix link order for Debug build on Windows
  • The new minimum versions of dependencies:
    • Embree v4.3.0
    • Open VKL v2.0.0
    • Open Image Denoise v2.1.0
    • ISPC v1.21.1
    • rkcommon v1.12.0
  • Breaking API changes
    • Renamed OSP_TEXTURE_FILTER_BILINEAR to OSP_TEXTURE_FILTER_LINEAR  and OSP_VOLUME_FILTER_TRI[LINEAR|CUBIC] to OSP_VOLUME_FILTER_[LINEAR|CUBIC]
    • Most enums now use storage type uint32
    • gridSpacing of spherical regular volume defaults to full sphere
    • Remove deprecated parameters and API calls
      • error callback signatures without user pointer
      • first argument of ospNewMaterial
      • module name ispc; use cpu
      • volume texture and isosurface geometry: volumetricModel; use OSPVolume volume
      • Transfer function vec2f valueRange; use box1f value
      • hdri and sun-sky lights: intensityQuantity OSP_INTENSITY_QUANTITY_RADIANCE
      • spot light with intensityDistributionintensityQuantity other than OSP_INTENSITY_QUANTITY_SCALE

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

No change from Render Kit 2023.x

Intel® Open Image Denoise 2.1

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

GPU support:

  • 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

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

GPU usage

To target GPU with Intel OIDN 2.1, only a C++17/C99 system compiler toolchain and Intel oneAPI DPC++ Runtimes are required. Building a client application with Intel oneAPI DPC++ is optional. The simplest way to get started is to install the compiler and runtimes from the Base Toolkit.

Changes in v2.1.0

  • Added support for denoising 1-channel (e.g. alpha) and 2-channel images
  • Added support for arbitrary combinations of input image data types (e.g. OIDN_FORMAT_FLOAT3 for color but OIDN_FORMAT_HALF3 for albedo)
  • Improved performance for most dedicated GPU architectures
  • Re-added OIDN_STATIC_LIB CMake option which enables building as a static (CPU support only) or a hybrid static/shared (GPU support as well) library
  • Added release() method to C++ API objects (DeviceRefBufferRefFilterRef)
  • Fixed possible crash when releasing GPU devices, buffers or filters
  • Fixed possible crash at process exit for some SYCL runtime versions
  • Fixed image quality inconsistency on Intel integrated GPUs, but at the cost of some performance loss
  • Fixed future Windows driver compatibility for Intel integrated GPUs
  • Fixed rare output corruption on AMD RDNA2 GPUs
  • Fixed device detection on Windows when the path to the library has non-ANSI characters
  • Added support for Intel® oneAPI DPC++/C++ Compiler 2024.0 and compatible open source compiler versions
  • Upgraded to oneTBB 2021.10.0 in the official binaries
  • Improved detection of old oneTBB versions

Changes in v2.0.1

  • Fixed performance issue for Intel integrated GPUs using recent Linux drivers
  • Fixed crash on systems with both dedicated and integrated AMD GPUs
  • Fixed importing D3D12_RESOURCED3D11_RESOURCED3D11_RESOURCE_KMTD3D11_TEXTURE and D3D11_TEXTURE_KMT external memory types on CUDA and HIP devices
  • Fixed the macOS deployment target of the official x86 binaries (lowered from 11.0 to 10.11)
  • Minor improvements to verbose output

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

GPU

Use the Intel® oneAPI DPC++ Compiler and Runtimes 2024.0 from the Base Toolkit to target discrete GPUs with Intel Embree.

GPU - Linux* OS

Updates to OS and driver support for discrete GPU are occurring rapidly. Please see https://dgpu-docs.intel.com/ for OS support updates. To target discrete GPU, a compatible discrete GPU device is currently required both at client program build-time and at run-time.

GPU - Windows* OS

To install the driver follow the directions in the article appropriate for your device

  • Intel® Arc™ A-Series Graphics (DG2)
  • Intel® Data Center GPU Flex Series (ATS-M), Intel® Data Center GPU Max Series (PVC)
    • Contact your OEM representative for access to the Intel Registration Center.

Changes in v2.0.0

  • This Open VKL release adds support for Intel® Arc™ GPUs, Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max Series through SYCL.
    • The SYCL support of Open VKL is in beta phase. Current functionality, quality, and GPU performance may not reflect that of the final product.
    • Open VKL CPU support in this release remains at Gold level, incorporating the same quality and performance as previous releases.
  • API changes:
    • Handle types are now passed by pointer in the following APIs:
      • vklComputeSample*()
      • vklComputeGradient*()
      • vklGet*IteratorSize*()
      • vklInit*Iterator*()
      • vklIterate*()
    • vklLoadModule() has been removed; compile-time linkage to an Open VKL device implementation (cpu or gpu) is now required
    • Added vklInit() API, which must be called to initialize the library
    • VKL_FILTER_[TRILINEAR,TRICUBIC] are renamed to VKL_FILTER_[LINEAR,CUBIC]
    • VKLAMRMethod enum is now uint32_t
    • structuredSpherical volumes: the gridSpacing default now results in the volume occupying a full sphere
  • Added new examples demonstrating GPU usage: vklExamplesGPU and vklTutorialGPU
  • Superbuild updates to latest versions of dependencies

Intel® OSPRay Studio 0.13

  • Compatible with OSPRay release v3.0

  • Features and Improvements

    • OSPRay v3 Compatibility:
      • Intel Xe GPU beta support: launch Studio with parameters --osp:load-modules=gpu --osp:device=gpu
      • Add OSPRay v3 enum compatibility, tightened type-checking on all enum usage
      • Add OSPRay v3 enum type comprehension to json for .sg files
        (Note: This change will break existing .sg files. The most common parameter is "intensityQuantity", which previously had a subType of "uchar" and needs to change to "OSPIntensityQuantity".)
    • Texture Formats: Support for .exr and .tiff image formats by default though inclusion of tinyexr and tinydng 3rd party header-only libraries. OpenImageIO is still available as a build option.
    • Convert glTF light intensity from lux to watts. glTF specifies intensity in lux, OSPRay in watts. Convert to watts for compatibility with glTF exporters.
    • Add default HDRI map, used when no other map is present. OSPRay used to crash when removing HDRI map from light or when texture would fail to load. Automatically switches to this default map now.
    • Fix UI "pick focus distance"
      • Left-Shift+left-mouse sets pick-point to center-of-screen, center-of-arcball
      • Left-Crl-Shift+left-mouse sets pick-point to focus distance without moving center of arcball
    • More intuitive behavior around Search All actions vs selected actions
    • Transform editor now enables traversing selected node's parents
    • Minor cleanup/refactor of GenerateImGuiWidgets
    • Prevent filename widget collisions: If there were multiple filename widgets visible, they would all receive the file list returned by fileBrowser.
    • Enable OpenImageDenoise in python bindings and python tutorial scripts
    • Add ability to reload Assets rather than just instance
    • Cameras loaded by assets now add to scene cameras rather than replacing
    • Expose selectCamera to StudioContext, callable by plugins
    • Enable parsing of general texture.transform in mtl files, was limited to individual rotation, scale and translation
  • Cleanup and bug fixes:

    • Prevent nullptr dereference on deleted importer assets
    • Fix sporadic crash SearchWidget when search term had no match
    • Use custom deleter for pre-C++17 compatability
    • Resolve incorrect delete usage in Texture2D
    • Fix addLight to update existing light parameters. If addLight is called with an existing light, it was returning immediately. It should update the light parameters with that of the new light.
    • Be more careful about adding unique names in glTF importer. When a node, light, or camera name is unclear a unique number is added to the name. Importer was accidentally doing this twice or adding unique number to already unique names.

Changes in OSPRay Studio v0.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
    • 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.21

ISPC is recommended to acheive optimized CPU performance on Intel® Embree applications. Use the ISPC compiler to compile client applications that efficiently use the SIMD capabilities of Intel® 64 CPU processors. There is no client usage model of Intel ISPC for Embree GPU nor Open VKL GPU applications at this time.

 

v1.21.0 Changes

ISPC release with template function specializations support; changed rules for signed integer overflow, which match
C/C++ behavior and lead to more aggressive optimizations; an enhanced ISPC Runtime; multiple stability and performance
fixes and more. The release is based on patched LLVM 15.0.7.

Language changes:

 - Added support for function template specializations with explicit template arguments.
   For more details please refer to Function Templates section of documentation.

 - Modified behavior for signed integer overflow.
   Now, in case of signed integer overflow, ispc will assume undefined behavior similar to C and C++. This change may
   cause compatibility issues. You can manage this behavior by using the --[no-]wrap-signed-int compiler switch. The default
   behavior (before version 1.21.0) can be preserved by using --wrap-signed-int, which maintains defined wraparound
   behavior for signed integers, though it may limit some compiler optimizations.

New hardware support:

Added support of Intel Meteor Lake Xe-LPG graphics:

 - Added two new ISPC targets: xelpg-x16 and xelpg-x8
 - Added two new device names: mtl-m and mtl-p

Infrastructure changes:

 - ISPC now uses LLVM's new pass manager. Optimization pipeline was modified by introducing early LoopFullUnrollPass
   which matches ISPC unrolled loops with manually unrolled loops in many cases.
 - Introduced ISPC superbuild, which facilitates building ISPC with Xe dependencies (LLVM, L0, vc-intrinsics,
   SPIRV-Translator). It can generate an archive with dependencies or consume a pre-built archive to build ISPC only.
   It also enables generating LTO or LTO+PGO enabled builds of LLVM and ISPC.
 - Supported building ISPC with LLVM 16.

New compiler switches:

 - --mcmodel switch, which accepts small and large values. The definition is similar to gcc/clang. When large
   model is used, it enables programs larger than 2Gb.
 - --opt=disable-gathers and --opt=disable-scatters options, which disable generation of gathers and scatters
   instructions on platforms that support them (for performance experiments).
 - --[no-]wrap-signed-int switches, which [does not] preserve(s) wrap-around behavior on signed integer overflow.

ISPC Runtime improvements:

 - Added ispcrtSetTaskingCallbacks to the ISPCRT API, allowing the override of default implementations of
   ISPCLaunch, ISPCAlloc, and ISPCSync.
 - Removed compile-time Level Zero dependency from ISPCRT, no longer necessary after the ISPCRT split into CPU and GPU
   parts.

Intel® Rendering Toolkit Utilities (rkUtil) 1.9.0

All components updated to 2024.0 release components.

Intel® OSPRay rkcommon C++ infrastructure library 1.12.0

  • Support for GPU enabled data structures and use with Intel OSPRay, Intel Open VKL

Intel® oneTBB 2021.11

Release Notes

Previous Releases

2023.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.