Reflect via indices outside boundaries #3
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.
This PR adds
HighDimPDE_reflect_outs
, another implementation ofHighDimPDE._reflect
/HighDimPDE._reflect_GPU
, which computesout
(out1
andout2
) along withrtemp
/rmin
exclusively from indices ofb
where it "lies outside the boundary of[s,e]^d
".One should be able to reuse these indices in the while loop, but repeated reflections along a given dimension are slightly trickier to handle. These repeated reflections appear to be relatively uncommon, so a workaround would be to recompute
out1
,out2
andout
only for these cases in a given iteration._swap_boundary_outs!
doesn't seem to work as expected, but the idea was to avoid recomputingout1
andout2
within the while loop.I added some benchmarks, comparing the
reflect
methods ford
-dimensional trajectories. Note that this is done withbatch_size=1
, see added code inprofiling/reflect.jl
.Click to view benchmark results