uci-rendering / psdr-cuda

Path-space differentiable renderer
BSD 3-Clause "New" or "Revised" License
155 stars 11 forks source link

Error when call "scene.load_file()" #33

Closed ChauChorHim closed 1 year ago

ChauChorHim commented 1 year ago

Hi, thanks for your work!

My environment and machine:

Ubuntu 20.04
python 3.8.13
NVIDIA driver version: 495.44
Optix version: NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64

The file tree of psdr-cuda/ext is:

(/cloud/psdr) ➜  ext git:(release) ✗ tree -L 2
.
├── enoki
│   ├── build
│   ├── CMakeLists.txt
│   ├── docs
│   ├── ext
│   ├── include
│   ├── LICENSE
│   ├── README.md
│   ├── resources
│   ├── src
│   └── tests
├── optix
│   ├── doc
│   ├── include
│   └── SDK
├── pybind11
│   ├── build
│   ├── CMakeLists.txt
│   ├── docs
│   ├── include
│   ├── LICENSE
│   ├── MANIFEST.in
│   ├── noxfile.py
│   ├── pybind11
│   ├── pyproject.toml
│   ├── README.rst
│   ├── setup.cfg
│   ├── setup.py
│   ├── tests
│   └── tools
└── README.md

After I built psdr-cuda, I can import enoki and psdr_cuda. However, when I load scene, it doesn't work with error message:

[Scene] AABB: [lower = [[-100, 0, -100]], upper = [[100, 200, 1000]]]
[Scene] (2914) primary edges initialized.
[Scene] 97677 secondary edges initialized.
Traceback (most recent call last):
  File "forward_rendering.py", line 9, in <module>
    scene.load_file('data/scenes/cbox_bunny.xml')
RuntimeError: OPTIX_ERROR_UNSUPPORTED_ABI_VERSION: Optix call 'optixInit()' failed: /home/xxx/psdr-cuda/include/psdr/scene/optix.h:79)

My code is just loading a scene in "examples/data/scenes/cbox_bunny.xml":

import sys
sys.path.append("/home/xxx/psdr-cuda/ext/enoki/build")
sys.path.append("/home/xxx/psdr-cuda/build/lib")
import enoki
import psdr_cuda
scene = psdr_cuda.Scene()
scene.load_file('data/scenes/cbox_bunny.xml')

Do I made some mistakes while compliling psdr-cuda?

ChauChorHim commented 1 year ago

Oh, I know what's the problem. I should use a lower optix version, like 7.3.0.