File OpenImageDenoise.changes of Package OpenImageDenoise
-------------------------------------------------------------------
Tue May 6 07:21:09 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Enable build on aarch64
-------------------------------------------------------------------
Sat Apr 5 21:34:02 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 2.3.3:
- Added NVIDIA Blackwell GPU support
- Added AMD RDNA4 GPU support
- Improved performance for AMD RDNA3 GPUs
- Added OIDN_DEPENDENTLOADFLAG CMake option for setting the
DEPENDENTLOADFLAG linker flag on Windows
- Added OIDN_LIBRARY_VERSIONED CMake option for toggling
versioning in the Open Image Denoise library files
- Known issue: performance regression for AMD RDNA2 GPUs
-------------------------------------------------------------------
Sat Apr 5 21:33:34 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 2.3.2:
- Improved performance for Intel Lunar Lake and Battlemage GPUs
- Added Intel Panther Lake GPU support
- Fixed compile error when building with OpenImageIO 3.x
-------------------------------------------------------------------
Sat Apr 5 21:32:16 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 2.3.1:
- Fixed corrupted output when in-place denoising high-resolution
(> 1080p) images where the input and output are stored in
different shared buffer objects (created with
oidnNewSharedBuffer*) that overlap in memory
- Fixed issues with cancellation through progress monitor
callbacks:
- Fixed cancellation requests not being fulfilled on CPU
devices since v2.3.0
- Fixed not calling the callback anymore after requesting
cancellation, while the operation is still being executed
- Added support for creating shared buffers on Metal devices
- Enabled accessing system allocated memory for CUDA devices
which support this feature (see systemMemorySupported device
parameter)
- Added LUID support for HIP devices. Importing DX12 and Vulkan
buffers is now functional when using recent AMD GPU drivers on
Windows
-------------------------------------------------------------------
Sat Apr 5 21:27:27 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
- Update to 2.3.0:
- Significantly improved image quality of the RT filter in high
quality mode for HDR denoising with prefiltering, i.e., the
following combinations of input features and parameters:
- HDR color + albedo + normal + cleanAux
- albedo
- normal
In these cases a much more complex filter is used, which
results in lower performance than before (about 2x). To revert
to the previous performance behavior, please switch to the
balanced quality mode.
- Added fast quality mode (OIDN_QUALITY_FAST) for even higher
performance (about 1.5-2x) interactive/real-time previews and
lower default memory usage at the cost of somewhat lower image
quality. Currently this is implemented for the RT filter except
prefiltering (albedo, normal). In other cases denoising
implicitly falls back to balanced mode.
- Added Intel Arrow Lake, Lunar Lake, and Battlemage GPU support
- Execute Async functions asynchronously on CPU devices as well
- Load/initialize device modules lazily (improves stability)
- Added oidnIsCPUDeviceSupported, oidnIsSYCLDeviceSupported,
oidnIsCUDADeviceSupported, oidnIsHIPDeviceSupported, and
oidnIsMetalDeviceSupported API functions for checking whether a
physical device of a particular type is supported
- Release the CUDA primary context when destroying the device
object if using the CUDA driver API
- Added OIDN_LIBRARY_NAME CMake option for setting the base name
of the Open Image Denoise library files
- Fixed device creation error with oidnNewDevice when the default
device of the specified type (e.g. CUDA) is not supported but
there are other supported non-default devices of that type in
the system
- Fixed CMake error when building with Metal support using
non-Apple Clang
- Fixed iOS build errors
- Added support for building with ROCm 6.x oidnNewCUDADevice and
oidnNewHIPDevice no longer accept negative device IDs. If the
goal is to use the current device, its actual ID needs to be
passed.
- Upgraded to oneTBB 2021.12.0 in the official binaries
- Training:
- Improved training performance on CUDA and MPS devices, added
--compile option
- Added --quality option (high, balanced, fast) for selecting
the size of the model to train, changed the default from
balanced to high
- Added new models to the --model option (unet_small,
unet_large, unet_xl)
- Added support for training with prefiltered auxiliary
features by passing --aux_results to preprocess.py and
train.py
- Added experimental support for depth (z)
-------------------------------------------------------------------
Tue Apr 30 20:52:47 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- split out the sub shared libraries to have a proper package
suffix
-------------------------------------------------------------------
Mon Apr 29 23:38:07 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- the cmake dir is versioned now
-------------------------------------------------------------------
Mon Apr 29 23:07:52 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to 2.2.2:
Fully fixed GPU memory leak when releasing SYCL, CUDA and HIP device objects
Fixed CUDA context error in some cases when using the CUDA driver API
Fixed crash on systems with an unsupported AMD Vega integrated GPU and old driver
Fixed memory leak when releasing SYCL, CUDA and HIP device objects
Fixed memory leak when initializing Metal filters
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
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 (DeviceRef, BufferRef,
FilterRef)
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
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_RESOURCE, D3D11_RESOURCE, D3D11_RESOURCE_KMT,
D3D11_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
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. 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 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
-------------------------------------------------------------------
Fri Apr 22 00:16:32 UTC 2022 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to 1.4.3:
+ Disabled VTune profiling support of oneDNN kernels
- Update to 1.4.2:
+ Added support for 16-bit half-precision floating-point images
+ Added oidnGetBufferData and oidnGetBufferSize functions
+ Fixed performance issue on x86 hybrid architecture CPUs
+ Fixed build error when using OpenImageIO 2.3 or later
-------------------------------------------------------------------
Sun Sep 26 16:03:56 UTC 2021 - Hans-Peter Jansen <hpj@urpla.net>
- Update to 1.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
- Update to 1.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 new cleanAux 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 and oidnRemoveFilterData
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 the
inputScale 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 and OIDN_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
- Update to 1.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
- Update to 1.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
- Update to 1.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
- Eliminate version from installed cmake directory
-------------------------------------------------------------------
Fri Aug 28 08:41:21 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- Update to 1.2.2:
* Fixed unhandled exception when canceling filter execution from the
progress monitor callback function
* Fixed tiling artifacts when in-place denoising (using one of the input
* Fixed ghosting/color bleeding artifacts in black regions when using
* 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
* Added neural network training code
* Added support for specifying user-trained models at runtime
* Slightly improved denoising quality
* Improved denoising speed by about 7-38% (mostly depending on the compiler)
* Added `OIDN_STATIC_RUNTIME` CMake option (for Windows only)
* Added support for OpenImageIO to the example apps (disabled by default)
* Added check for minimum supported TBB version
* Find debug versions of TBB
* Added testing
-------------------------------------------------------------------
Thu Jan 16 10:08:51 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Build only for x86_64 as it is the only supported platform
-------------------------------------------------------------------
Tue Dec 10 12:28:09 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- Add memory contraints: 8G
-------------------------------------------------------------------
Wed Nov 20 10:22:52 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- Version 1.1.0: initial build