Releases: RenderKit/oidn
Releases · RenderKit/oidn
Open Image Denoise v2.0.0
- 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 deprecated
oidnRemoveFilter(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
Open Image Denoise v1.4.3
- Fixed hardcoded library paths in installed macOS binaries
- Disabled VTune profiling support of oneDNN kernels by default, can be
enabled using CMake options if required (DNNL_ENABLE_JIT_PROFILING
and
DNNL_ENABLE_ITT_TASKS
) - Upgraded to oneTBB 2021.5.0 in the official binaries
Open Image Denoise v1.4.2
- Added support for 16-bit half-precision floating-point images
- Added
oidnGetBufferData
andoidnGetBufferSize
functions - Fixed performance issue on x86 hybrid architecture CPUs (e.g. Alder Lake)
- Fixed build error when using OpenImageIO 2.3 or later
- Upgraded to oneTBB 2021.4.0 in the official binaries
Open Image Denoise v1.4.1
- Fixed crash when in-place denoising images with certain unusual resolutions
- Fixed compile error when building for Apple Silicon using some unofficial
builds of ISPC
Open Image Denoise v1.4.0
- Improved fine detail preservation
- Added the
cleanAux
filter parameter for further improving quality when the
auxiliary feature (albedo, normal) images are noise-free - Added support for denoising auxiliary feature images, which can be used
together with the newcleanAux
parameter for improving quality when the
auxiliary images are noisy (recommended for final frame denoising) - Normals are expected to be in the [-1, 1] range (but still do not have to
be normalized) - Added the
oidnUpdateFilterData
function which must be called when the
contents of an opaque data parameter bound to a filter (e.g.weights
) has
been changed after committing the filter - Added the
oidnRemoveFilterImage
andoidnRemoveFilterData
functions for
removing previously set image and opaque data parameters of filters - Reduced the overhead of
oidnCommitFilter
to zero in some cases (e.g. when
changing already set image buffers/pointers or theinputScale
parameter) - Reduced filter memory consumption by about 35%
- Reduced total memory consumption significantly when using multiple filters
that belong to the same device - Reduced the default maximum memory consumption to 3000 MB
- Added the
OIDN_FILTER_RT
andOIDN_FILTER_RTLIGHTMAP
CMake options for
excluding the trained filter weights from the build to significantly
decrease its size - Fixed detection of static TBB builds on Windows
- Fixed compile error when using future glibc versions
- Added
oidnBenchmark
option for setting custom resolutions - Upgraded to oneTBB 2021.2.0 in the official binaries
Open Image Denoise v1.3.0
- Improved denoising quality
- Improved sharpness of fine details / less blurriness
- Fewer noisy artifacts
- Slightly improved performance and lowered memory consumption
- Added directional (e.g. spherical harmonics) lightmap denoising to the
RTLightmap
filter - Added
inputScale
filter parameter which generalizes the existing
(and thus now deprecated)hdrScale
parameter for non-HDR images - Added native support for Apple Silicon and the BNNS library on macOS
(currently requires rebuilding from source) - Added
OIDN_NEURAL_RUNTIME
CMake option for setting the neural network
runtime library - Reduced the size of the library binary
- Fixed compile error on some older macOS versions
- Upgraded release builds to use oneTBB 2021.1.1
- Removed tbbmalloc dependency
- Appended the library version to the name of the directory containing the
installed CMake files - Training:
- Faster training performance
- Added mixed precision training (enabled by default)
- Added efficient data-parallel training on multiple GPUs
- Enabled preprocessing datasets multiple times with possibly different
options - Minor bugfixes
Open Image Denoise v1.2.4
- Added OIDN_API_NAMESPACE CMake option that allows to put all API functions
inside a user-defined namespace - Fixed bug when TBB_USE_GLIBCXX_VERSION is defined
- Fixed compile error when using an old compiler which does not support
OpenMP SIMD - Added compatibility with oneTBB 2021
- Export only necessary symbols on Linux and macOS
Open Image Denoise v1.2.3
- Fixed incorrect detection of AVX-512 on macOS (sometimes causing a crash)
- Fixed inconsistent performance and costly initialization for AVX-512
- Fixed JIT'ed AVX-512 kernels not showing up correctly in VTune
Open Image Denoise v1.2.2
- Fixed unhandled exception when canceling filter execution from the
progress monitor callback function
Open Image Denoise v1.2.1
- Fixed tiling artifacts when in-place denoising (using one of the input
images as the output) high-resolution (> 1080p) images - Fixed ghosting/color bleeding artifacts in black regions when using
albedo/normal buffers - Fixed error when building as a static library (
OIDN_STATIC_LIB
option) - Fixed compile error for ISPC 1.13 and later
- Fixed minor TBB detection issues
- Fixed crash on pre-SSE4 CPUs when using some recent compilers (e.g. GCC 10)
- Link C/C++ runtime library dynamically on Windows too by default
- Renamed example apps (
oidnDenoise
,oidnTest
) - Added benchmark app (
oidnBenchmark
) - Fixed random data augmentation seeding in training
- Fixed training warning with PyTorch 1.5 and later