I cannot use the pathtraced renderer in the OV Replicator container ov-synthetic-data-generation:0.0.16-beta
.
I am using scripts that need to use the pathtraced rendereder as follows
import omni.replicator.core as rep
rep.settings.set_render_pathtraced(samples_per_pixel=64)
When I attempt to call rep.settings.set_render_pathtraced(samples_per_pixel=64)
or rep.settings.set_render_pathtraced()
I get the following Optix internal error.
[Error] [rtx.optixdenoising.plugin] [Optix] [DENOISER] Unable to load denoiser weights
[Error] [rtx.optixdenoising.plugin] optixDenoiserCreate(m_optixCtx, temporal ? OPTIX_DENOISER_MODEL_KIND_TEMPORAL_AOV : OPTIX_DENOISER_MODEL_KIND_AOV, &denoiserOptions, &denoiser) failed. Optix Error: OPTIX_ERROR_INTERNAL_ERROR.
Internal error
I expect these calls to work as this how they are described in the API doc and I am succefully using other methods of rep.settings.
My system:
Driver Version : 535.86.05
CUDA Version : 12.2
Bumping this, we need simulations with realistic lighting in the Replicator container. @dennis.lynch any ideas?
you need to map it from disk its a driver issue:
-v /usr/share/nvidia/nvoptix.bin:/usr/share/nvidia/nvoptix.bin
opened 02:33PM - 23 Oct 23 UTC
Enabling Optix denoise requires the `/usr/share/nvidia/nvoptix.bin` file which i… s installed as part of `libnvidia-gl-<ver>` package but not present in containers with nvidia ctk runtime.
Workaround for Holoscan: https://github.com/nvidia-holoscan/holohub/pull/112/files
## Content of libnvidia-gl-535
```bash
dpkg -L libnvidia-gl-535 | xargs -I % sh -c '[ -f "%" ] && echo "%"'
```
- x86_64:
```bash
/usr/bin/nvidia-ngx-updater
/usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.535.86.05
/usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.535.86.05
/usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.535.86.05
/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-api.so.1
/usr/lib/x86_64-linux-gnu/libnvidia-egl-gbm.so.1.1.0
/usr/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-glsi.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-ngx.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-rtcore.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-tls.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvidia-vulkan-producer.so.535.86.05
/usr/lib/x86_64-linux-gnu/libnvoptix.so.535.86.05
/usr/lib/x86_64-linux-gnu/nvidia/wine/_nvngx.dll
/usr/lib/x86_64-linux-gnu/nvidia/wine/nvngx.dll
/usr/lib/x86_64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so.535.86.05
/usr/share/doc/libnvidia-gl-535/changelog.Debian.gz
/usr/share/doc/libnvidia-gl-535/copyright
/usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json
/usr/share/glvnd/egl_vendor.d/10_nvidia.json
/usr/share/lintian/overrides/libnvidia-gl-535
/usr/share/nvidia/nvoptix.bin
/usr/share/vulkan/icd.d/nvidia_icd.json
/usr/share/vulkan/implicit_layer.d/nvidia_layers.json
/usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.0
/usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.1
/usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.2
/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
/usr/lib/x86_64-linux-gnu/libnvoptix.so.1
/usr/lib/x86_64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so
```
- aarch64:
```bash
/usr/lib/aarch64-linux-gnu/libEGL_nvidia.so.535.86.10
/usr/lib/aarch64-linux-gnu/libGLESv1_CM_nvidia.so.535.86.10
/usr/lib/aarch64-linux-gnu/libGLESv2_nvidia.so.535.86.10
/usr/lib/aarch64-linux-gnu/libGLX_nvidia.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-egl-gbm.so.1.1.0
/usr/lib/aarch64-linux-gnu/libnvidia-eglcore.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-glcore.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-glsi.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-glvkspirv.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-ngx.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-rtcore.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvidia-tls.so.535.86.10
/usr/lib/aarch64-linux-gnu/libnvoptix.so.535.86.10
/usr/lib/aarch64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so.535.86.10
/usr/share/doc/libnvidia-gl-535/changelog.Debian.gz
/usr/share/doc/libnvidia-gl-535/copyright
/usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json
/usr/share/glvnd/egl_vendor.d/10_nvidia.json
/usr/share/nvidia/nvoptix.bin
/usr/share/vulkan/icd.d/nvidia_icd.json
/usr/share/vulkan/icd.d/nvidia_layers.json
/usr/lib/aarch64-linux-gnu/libEGL_nvidia.so.0
/usr/lib/aarch64-linux-gnu/libGLESv1_CM_nvidia.so.1
/usr/lib/aarch64-linux-gnu/libGLESv2_nvidia.so.2
/usr/lib/aarch64-linux-gnu/libGLX_nvidia.so.0
/usr/lib/aarch64-linux-gnu/libnvidia-ngx.so.1
/usr/lib/aarch64-linux-gnu/libnvoptix.so.1
/usr/lib/aarch64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so
```
## Files not mounted with nvidia runtime
Run this command to test:
```bash
nv_gl_files=$(dpkg -L libnvidia-gl-535 | xargs -I % sh -c '[ -f "%" ] && echo "%"')
docker run -it --rm \
--runtime=nvidia -e NVIDIA_DRIVER_CAPABILITIES=all --gpus=all \
-e FILES="$nv_gl_files" \
ubuntu:22.04 \
bash -c '
for file in $FILES; do
[ ! -f "$file" ] && echo "Missing: $file"
done
'
```
- x86_64:
```bash
Missing: /usr/bin/nvidia-ngx-updater
Missing: /usr/lib/x86_64-linux-gnu/libnvidia-api.so.1
Missing: /usr/lib/x86_64-linux-gnu/libnvidia-vulkan-producer.so.535.86.05
Missing: /usr/lib/x86_64-linux-gnu/nvidia/wine/_nvngx.dll
Missing: /usr/lib/x86_64-linux-gnu/nvidia/wine/nvngx.dll
Missing: /usr/share/doc/libnvidia-gl-535/changelog.Debian.gz
Missing: /usr/share/doc/libnvidia-gl-535/copyright
Missing: /usr/share/lintian/overrides/libnvidia-gl-535
Missing: /usr/share/nvidia/nvoptix.bin
```
- aarch64:
```bash
Missing: /usr/lib/aarch64-linux-gnu/libnvidia-egl-gbm.so.1.1.0
Missing: /usr/share/doc/libnvidia-gl-535/changelog.Debian.gz
Missing: /usr/share/doc/libnvidia-gl-535/copyright
Missing: /usr/share/nvidia/nvoptix.bin
Missing: /usr/share/vulkan/icd.d/nvidia_layers.json
```
## Observations
1. Why `dll` files on x86_64? `/wine/nvngx.dll`. Interestingly, there is no `libnvidia-ngx.so.1` on x86_64 (vs aarch64).
1. The missing `nvidia-ngx-updater`, `libnvidia-api.so.1` and `libnvidia-vulkan-producer.so.535` only exist on x86_64. Expected ? Need mounting?
1. `libnvidia-egl-gbm.so` exist for both x86_64 and aarch64, but missing only in aarch64 containers.
1. `nvidia_layers.json` is in `icd.d` on aarch64, instead of `implicit_layer.d` in x86_64. The former isn't mounted, while the latter is.
Thank you @Turowicz - this fixed the issue!
Also you are using a SUPER obsolete container, go with nvcr.io/nvidia/isaac-sim:4.0.0
for replicator workflows.
system
Closed
August 1, 2024, 6:52am
7
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.