Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ устранСния ΡˆΡƒΠΌΠ° Π½Π° изобраТСниях Open Image Denoise 2.0

Компания Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° oidn 2.0 (Open Image Denoise), Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² для устранСния ΡˆΡƒΠΌΠΎΠ² Π½Π° изобраТСниях, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… с использованиСм систСм Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π½Π° основС трассировки Π»ΡƒΡ‡Π΅ΠΉ. Open Image Denoise развиваСтся ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° oneAPI Rendering Toolkit, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ срСдств ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчётов (SDVis (Software Defined Visualization), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ трассировки Π»ΡƒΡ‡Π΅ΠΉ Embree, систСму фоторСалистичной отрисовки GLuRay, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ распрСдСлённой трассировки Π»ΡƒΡ‡Π΅ΠΉ OSPRay ΠΈ систСму ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ растСризации OpenSWR. Код написан Π½Π° языкС Π‘++ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся прСдоставлСниС высококачСствСнных, эффСктивных ΠΈ простых Π² использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΡˆΡƒΠΌΠΎΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² трассировки Π»ΡƒΡ‡Π΅ΠΉ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π° основании Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° сокращённого Ρ†ΠΈΠΊΠ»Π° трассировки Π»ΡƒΡ‡Π΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ качСства, сопоставимый с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ процСсса Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°.

Open Image Denoise обСспСчиваСт отсСиваниС случайного ΡˆΡƒΠΌΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ трассировкС Π»ΡƒΡ‡Π΅ΠΉ Π½Π° основС числСнного интСгрирования ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠœΠΎΠ½Ρ‚Π΅-ΠšΠ°Ρ€Π»ΠΎ (MCRT). Для достиТСния высокого качСства Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ трассировки ΠΎΡ‡Π΅Π½ΡŒ большого числа Π»ΡƒΡ‡Π΅ΠΉ, ΠΈΠ½Π°Ρ‡Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ случайного ΡˆΡƒΠΌΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Open Image Denoise позволяСт Π½Π° нСсколько порядков ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… вычислСний ΠΏΡ€ΠΈ расчётС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля. Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°ΡˆΡƒΠΌΠ»Ρ‘Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ довСсти Π΅Π³ΠΎ Π΄ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ качСства ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ быстрых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² подавлСния ΡˆΡƒΠΌΠΎΠ². ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ оборудования ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ инструмСнтарий ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ трассировки Π»ΡƒΡ‡Π΅ΠΉ c устранСниСм ΡˆΡƒΠΌΠΎΠ² Π½Π° Π»Π΅Ρ‚Ρƒ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… классах устройств, ΠΎΡ‚ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² ΠΈ ПК, Π΄ΠΎ ΡƒΠ·Π»ΠΎΠ² Π² кластСрах. РСализация ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… классов 64-разрядных CPU Intel с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ инструкций SSE4, AVX2, AVX-512 ΠΈ XMX (Xe Matrix Extensions), Ρ‡ΠΈΠΏΠΎΠ² Apple Silicon ΠΈ систСм с GPU Intel Xe (сСрии Arc, Flex ΠΈ Max), NVIDIA (Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Volta, Turing, Ampere, Ada Lovelace ΠΈ Hopper) ΠΈ AMD (Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ RDNA2 (Navi 21) ΠΈ RDNA3 (Navi 3x)). Π’ качСствС минимального трСбования заявлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SSE4.1.

Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ устранСния ΡˆΡƒΠΌΠ° Π½Π° изобраТСниях Open Image Denoise 2.0
Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ устранСния ΡˆΡƒΠΌΠ° Π½Π° изобраТСниях Open Image Denoise 2.0

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния Π² выпускС Open Image Denoise 2.0:

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ускорСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ подавлСния ΡˆΡƒΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ GPU. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выноса вычислСний Π½Π° сторону GPU ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ систСм SYCL, CUDA ΠΈ HIP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с GPU Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Intel Xe, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace ΠΈ NVIDIA Hopper.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ API для управлСния Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с хоста ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшниС Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΈΠ· графичСских API, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Vulkan ΠΈ Direct3D 12.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° асинхронного Ρ€Π΅ΠΆΠΈΠΌΠ° выполнСния (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ oidnExecuteFilterAsync ΠΈ oidnSyncDevice).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ API для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π² систСмС физичСским устройствам.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция oidnNewDeviceByID для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ устройства Π½Π° основС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° физичСского устройства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, UUID ΠΈΠ»ΠΈ адрСса PCI.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ пСрСносимости с SYCL, CUDA ΠΈ HIP.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ устройств (systemMemorySupported, managedMemorySupported, externalMemoryTypes).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для задания уровня качСства Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ