Compute fields at multiple frequencies in parallel in one ray tracing #538
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I have revised the frequency check in
scene.py
and the frequency update for all ITU materials‘ properties initu_material.py
using TensorFlow. The old code was implemented in raw Python and NumPy, which could not be used to construct the computation graph needed for parallel computation. This enhancement enables the computation of fields at multiple frequencies in parallel within a single ray tracing process. Specifically, we can first trace all paths, and then usetf.map_fn(process_freq, freq, dtype=tf.complex64)
to construct a parallel computation for field computation at multiple frequencies, where theprocess_freq
function updates the frequency and recomputes the field with the given traced paths.Additionally, I have added a Jupyter notebook as an example to illustrate this feature.
NA.
This feature allows for parallel computation of fields at multiple frequencies during ray tracing, enhancing computation efficiency. I think this is a good update for the discussion: #527
No API changes.
Checklist