์ธํ…”, Open Image Denoise 2.0 Image Denoise ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ณต๊ฐœ

Intel์€ ๊ด‘์„  ์ถ”์  ๋ Œ๋”๋ง ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค€๋น„๋œ ์ด๋ฏธ์ง€ ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ์šฉ ํ•„ํ„ฐ ์ปฌ๋ ‰์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” oidn 2.0(Open Image Denoise) ํ”„๋กœ์ ํŠธ์˜ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. Open Image Denoise๋Š” Embree ๊ด‘์„  ์ถ”์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, GLuRay ์‚ฌ์‹ค์  ๋ Œ๋”๋ง ์‹œ์Šคํ…œ, OSPRay ๋ถ„์‚ฐ ๊ด‘์„  ์ถ”์  ํ”Œ๋žซํผ์„ ํฌํ•จํ•œ ๊ณผํ•™ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ๊ฐํ™” ๋„๊ตฌ(SDVis(์†Œํ”„ํŠธ์›จ์–ด ์ •์˜ ์‹œ๊ฐํ™”)) ๊ฐœ๋ฐœ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋Œ€๊ทœ๋ชจ oneAPI ๋ Œ๋”๋ง ๋„๊ตฌ ํ‚คํŠธ ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ OpenSWR ์†Œํ”„ํŠธ์›จ์–ด ๋ž˜์Šคํ„ฐํ™” ์‹œ์Šคํ…œ ์ฝ”๋“œ๋Š” C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋Š” ๊ด‘์„  ์ถ”์  ๊ฒฐ๊ณผ์˜ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ํ’ˆ์งˆ์˜ ํšจ์œจ์ ์ด๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹จ์ถ•๋œ ๊ด‘์„  ์ถ”์  ์ฃผ๊ธฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณด๋‹ค ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ณ  ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋˜๋Š” ์„ธ๋ถ€ ๋ Œ๋”๋ง ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฐ๊ณผ์— ํ•„์ ํ•˜๋Š” ์ตœ์ข… ํ’ˆ์งˆ ์ˆ˜์ค€์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Open Image Denoise๋Š” MCRT(Monte Carlo Numerical Integration) ๊ด‘์„  ์ถ”์ ๊ณผ ๊ฐ™์€ ๋ฌด์ž‘์œ„ ๋…ธ์ด์ฆˆ๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๊ณ ํ’ˆ์งˆ ๋ Œ๋”๋ง์„ ์–ป์œผ๋ ค๋ฉด ๋งค์šฐ ๋งŽ์€ ์ˆ˜์˜ ๊ด‘์„ ์„ ์ถ”์ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€์— ๋ฌด์ž‘์œ„ ๋…ธ์ด์ฆˆ ํ˜•ํƒœ์˜ ๋ˆˆ์— ๋„๋Š” ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

Open Image Denoise๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ํ”ฝ์…€์„ ๊ณ„์‚ฐํ•  ๋•Œ ํ•„์š”ํ•œ ๊ณ„์‚ฐ ์ˆ˜๋ฅผ ๋ช‡ ๋ฐฐ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ดˆ๊ธฐ์— ๋…ธ์ด์ฆˆ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋น ๋ฅธ ๋…ธ์ด์ฆˆ ๊ฐ์†Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ํ’ˆ์งˆ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ์žฅ๋น„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ œ์•ˆ๋œ ๋„๊ตฌ๋ฅผ ์ฆ‰์‹œ ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ์™€ ํ•จ๊ป˜ ๋Œ€ํ™”ํ˜• ๊ด‘์„  ์ถ”์ ์— ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋žฉํ†ฑ ๋ฐ PC๋ถ€ํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์žฅ์น˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„์€ SSE64, AVX4, AVX-2 ๋ฐ XMX(Xe Matrix Extensions) ๋ช…๋ น์„ ์ง€์›ํ•˜๋Š” ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค์˜ 512๋น„ํŠธ Intel CPU, Apple Silicon ์นฉ ๋ฐ Intel Xe GPU(Arc, Flex ๋ฐ Max ์‹œ๋ฆฌ์ฆˆ)๊ฐ€ ํƒ‘์žฌ๋œ ์‹œ์Šคํ…œ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. NVIDIA(Volta, Turing, Ampere, Ada Lovelace ๋ฐ Hopper ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜) ๋ฐ AMD(RDNA2(Navi 21) ๋ฐ RDNA3(Navi 3x) ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜). SSE4.1์— ๋Œ€ํ•œ ์ง€์›์€ ์ตœ์†Œ ์š”๊ตฌ ์‚ฌํ•ญ์œผ๋กœ ์„ ์–ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ธํ…”, Open Image Denoise 2.0 Image Denoise ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ณต๊ฐœ
์ธํ…”, Open Image Denoise 2.0 Image Denoise ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ณต๊ฐœ

Open Image Denoise 2.0 ๋ฆด๋ฆฌ์Šค์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • GPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Œ ๊ฐ์†Œ ์ž‘์—… ๊ฐ€์†ํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Intel Xe ์•„ํ‚คํ…์ฒ˜, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace ๋ฐ NVIDIA Hopper ๊ธฐ๋ฐ˜ GPU์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” SYCL, CUDA ๋ฐ HIP ์‹œ์Šคํ…œ์„ ํ†ตํ•ด GPU ์˜คํ”„๋กœ๋”ฉ ์ง€์›์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ฒ„ํผ ๊ด€๋ฆฌ API๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•์„ ์„ ํƒํ•˜๊ณ , ํ˜ธ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , Vulkan ๋ฐ Direct3D 12์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”ฝ API์—์„œ ์™ธ๋ถ€ ๋ฒ„ํผ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„๋™๊ธฐ ์‹คํ–‰ ๋ชจ๋“œ(oidnExecuteFilterAsync ๋ฐ oidnSyncDevice ํ•จ์ˆ˜)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ์— ์žˆ๋Š” ๋ฌผ๋ฆฌ์  ์žฅ์น˜์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • UUID ๋˜๋Š” PCI ์ฃผ์†Œ์™€ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ์žฅ์น˜ ID๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ์žฅ์น˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” oidnNewDeviceByID ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • SYCL, CUDA ๋ฐ HIP๋ฅผ ํ†ตํ•œ ์ด์‹์„ฑ์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์žฅ์น˜ ๊ฒ€์ƒ‰ ์˜ต์…˜(systemMemorySupported, ManagedMemorySupported, externalMemoryTypes)์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ์˜ ํ’ˆ์งˆ ์ˆ˜์ค€์„ ์„ค์ •ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€