Cycles: Adding OIDN support for CUDA and OptiX devices #115828

Merged
Stefan Werner merged 5 commits from Stefan_Werner/blender:oidn_cuda into main 2024-01-24 08:19:49 +01:00
Member

No response

_No response_
Stefan Werner added 1 commit 2023-12-06 10:20:00 +01:00
Author
Member

Currently being held back by licensing issues with the CUDA runtime. To the best of my knowledge, the GPL allows users to create their own Blender builds with this patch, but the resulting binaries cannot be redistributed.

Currently being held back by licensing issues with the CUDA runtime. To the best of my knowledge, the GPL allows users to create their own Blender builds with this patch, but the resulting binaries cannot be redistributed.
Stefan Werner requested review from Brecht Van Lommel 2023-12-06 10:25:16 +01:00
Stefan Werner added 1 commit 2023-12-06 17:13:29 +01:00
Stefan Werner added 1 commit 2023-12-07 14:43:10 +01:00

Any specific instructions for trying this on AMD? Other than moving the code to the HIP device

Any specific instructions for trying this on AMD? Other than moving the code to the HIP device
Author
Member

See my other PR:
#115854

See my other PR: https://projects.blender.org/blender/blender/pulls/115854
Member

I know CUDA/OptiX OIDN support in Blender/Cycles is currently unsupported due to licensing issues, but instructions/advice for anyone that wishes to use this pull request locally would be nice.

I've tried to use this pull request to add CUDA/OptiX OIDN support to my local build of Blender, but I keep encountering issues. I can provide the exact details of the issues I'm experiencing if someone wishes to volunteer their time in providing guidance.


Asking for guidance on this issue on a pull request probably isn't the best. So if you or someone else would prefer the discussion is shifted else where (E.G. Blender chat or devtalk), just say.

I also fully understand that since this setup is not going to be officially supported in Blender/Cycles, that guidance on how to use this pull request may not be worth giving.

I know CUDA/OptiX OIDN support in Blender/Cycles is currently unsupported due to licensing issues, but instructions/advice for anyone that wishes to use this pull request locally would be nice. I've tried to use this pull request to add CUDA/OptiX OIDN support to my local build of Blender, but I keep encountering issues. I can provide the exact details of the issues I'm experiencing if someone wishes to volunteer their time in providing guidance. --- Asking for guidance on this issue on a pull request probably isn't the best. So if you or someone else would prefer the discussion is shifted else where (E.G. Blender chat or devtalk), just say. I also fully understand that since this setup is not going to be officially supported in Blender/Cycles, that guidance on how to use this pull request may not be worth giving.

To try this, you would need to build the OpenImageDenoise library with CUDA support, and somehow bundle the CUDA runtime along with the other library dependencies.

To try this, you would need to build the OpenImageDenoise library with CUDA support, and somehow bundle the CUDA runtime along with the other library dependencies.
Brecht Van Lommel reviewed 2024-01-11 15:29:35 +01:00
@ -140,6 +142,11 @@ void device_cuda_info(vector<DeviceInfo> &devices)
info.has_nanovdb = true;
info.denoisers = 0;
# if defined(WITH_OPENIMAGEDENOISE)

This will need to be moved similar to #117006.

This will need to be moved similar to #117006.
Stefan Werner added 1 commit 2024-01-23 08:47:03 +01:00
Brecht Van Lommel requested changes 2024-01-23 20:27:50 +01:00
Brecht Van Lommel left a comment
Owner

Marking as request changes, since the mentioned code still needs to be moved so that info.id is initialized in time.

Marking as request changes, since the mentioned code still needs to be moved so that `info.id` is initialized in time.
Stefan Werner added 1 commit 2024-01-23 22:55:31 +01:00
Stefan Werner requested review from Brecht Van Lommel 2024-01-23 23:04:29 +01:00
Brecht Van Lommel approved these changes 2024-01-23 23:13:53 +01:00
Stefan Werner changed title from WIP: Cycles: Adding OIDN support for CUDA and OptiX devices to Cycles: Adding OIDN support for CUDA and OptiX devices 2024-01-24 00:48:39 +01:00
Stefan Werner merged commit d16d2bbd3a into main 2024-01-24 08:19:49 +01:00
Stefan Werner deleted branch oidn_cuda 2024-01-24 08:19:52 +01:00
Sign in to join this conversation.
No reviewers
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#115828
No description provided.