Replies: 2 comments
-
Hi @Sina7474, Would you have a reproducer code snippet for this issue? |
Beta Was this translation helpful? Give feedback.
-
Hello @jhoydis I resolved this issue by modifying the tf.linalg.svd computation in the source code. Specifically, in the solver_cm.py script, I replaced the following line: e, v, _ = tf.linalg.svd(q_r) with the following code: eps = tf.cast(1e-12, q_r.dtype)
q_r_safe = tf.where(tf.math.is_finite(q_r), q_r, tf.zeros_like(q_r))
q_r_safe += eps * tf.eye(3, batch_shape=tf.shape(q_r)[:1], dtype=q_r.dtype)
e, v, _ = tf.linalg.svd(q_r_safe, full_matrices=False) The issue arises when using RIS in Sionna: in certain cases, computing 1/curvature results in inf or nan, which causes the SVD to fail. This fix adds a small regularization term and handles non-finite values to ensure numerical stability. Thanks again for your response and for your efforts in addressing the issue! Best, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I am working with Sionna ray tracing (both versions 0.19.0 and 0.19.2), specifically using the Coverage Map function along with the RIS module. I have developed a code to compute coverage maps for specific tiles while deploying an RIS. The code runs on the GPU of a Linux machine.
However, I encountered a strange issue. When using an RIS with a large number of elements (e.g., 100×100 or even 20×20), and enabling scattering or reflection in the Coverage Map function, I get the following error:
This error only occurs when running the simulation on the GPU. If I run it on the CPU, the problem does not appear. Also, if I disable reflection, the simulation works correctly, even on the GPU.
Could you please advise me on how to solve or work around this problem?
Beta Was this translation helpful? Give feedback.
All reactions