-
Notifications
You must be signed in to change notification settings - Fork 3
CUDA support #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
It seems nice. I'd also like to try to improve this project after I finish my master's degree. Current project mainly provides bindings to the raw C API. Those 'pythonic APIs' still expose too much underlying concept such as buffers, devices, and are still not elegant. We just want it to denoise images from path-tracers. I think it's a good idea to make a very simple interface: def denoise(image : Union[np.ndarray, PIL.Image, torch.tensor], **maybe_some_options): ... This could handle 99% situations... |
There are some annoying issues with CUDA support. CUDA kernels can not run on GPUs with incompatible compute capability(e.g. kernels compiled for compute capability 7.5 can not run on 8.6 devies such Nvidia A100). Old version of precompiled binaries from https://github.com/RenderKit/oidn/releases may not ensure compatibility on newest GPU. Possible Solutions:
|
I used the edited CUDA version to try realtime-ish denoising in my toy pathtracer project. In my tests I wonder if But for non-real-time scenarios, even a more straightforward approach like the |
Thank you for the nice wrapper. I managed to use the CUDA support with these steps if anyone else wants to do it as well:
pip install -e .
)OpenImageDenoise_device_cuda.dll
as well.__init__.py
, add CUDA dll as wellGetDeviceError
function (it was raising astruct
related error on my end.)Buffer.create
function, change the tensor creation function to the current arguments:If I can find time I can just open a PR as well.
The text was updated successfully, but these errors were encountered: