Open nestor98 opened 5 months ago
Hello,
Were you able to find the underlying problem? Today I ran into the same problem, but in my case with the CUDA backend. I was trying to put multiple "radiencemeter" sensors into a "batch" sensor group to get them rendered efficiently.
Kind regards arwk
Hi @arwk, unfortunately I didn't manage to solve it. I didn't look into it very in depth after I realized the huge changes that are going on right now in drjit, as they could possibly remove the issue in the near future.
In the meantime, I just render the radiancemeters in a loop, which is quite slower but at least it works.
Best Nestor
Hi @nestor98
Sorry, I've somehow missed this entirely.
I'll try this out on the new upcoming Dr.JIT and report back :)
Hi @nestor98
Just wanted to share the workaround we came up with, which seems to work quite well. We are using an orthographic camera with a 1x1 pixel film, heavily scaled down to be almost point-like. This seems to approximate a radiencemeter quite well.
The following code defines such a sensor that is compatible with the batch-sensor-plugin
"approximated-radiencemeter": {
"type": "orthographic",
"to_world": mi.ScalarTransform4f.look_at(
origin=[0,0,3], target=[0, 0, 0], up=[0, 1, 0]
) @ mi.ScalarTransform4f.scale([.00001, .00001, 1]),
# Scale the 1x1 Pixel down, to mimic the radiencemeter
"film": {
"type": "hdrfilm",
"width": 1,
"height": 1,
"rfilter": {"type": "box"},
},
}
Summary
When using a batch sensor containing radiancemeters, drjit throws an exception in llvm_spectral and llvm_ad_spectral. This doesn't happen if I use the scalar_spectral variant, or if I use perspective sensors instead of radiancemeters. The error is:
System configuration
System information:
OS: Windows-11 CPU: Intel64 Family 6 Model 151 Stepping 2, GenuineIntel GPU: NVIDIA GeForce GTX 1660 SUPER Python: 3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)] NVidia driver: 536.25 CUDA: 12.2.91 LLVM: 16.0.0
Dr.Jit: 0.4.6 (DEBUG) Mitsuba: 3.5.2 (DEBUG) Is custom build? False Compiled with: MSVC 19.37.32822.0 Variants: scalar_rgb llvm_mono scalar_spectral llvm_ad_spectral llvm_spectral
Description
I have narrowed down the scene to a minimal example with a single radiancemeter in the batch sensor. This error also does not happen when using a perspective sensor. The error
seems to happen by the end of the sample_ray_differential function in batch.cpp, just after calling the radiancemeter sample:
Which is strange since it seems to finish executing the radiancemeter->sample_ray_differential function.
It may be some misconfiguration on my part, thanks for any help!
Steps to reproduce
This radiancemeter.xml scene will throw the error when executing
mitsuba -m llvm_ad_spectral radiancemeter.xml
ormitsuba -m llvm_spectral radiancemeter.xml
:Alternatives that do work
mitsuba -m scalar_spectral radiancemeter.xml