[geom] Added optional persistence for TGeoTessellated optimization#21707
[geom] Added optional persistence for TGeoTessellated optimization#21707agheata wants to merge 3 commits intoroot-project:masterfrom
Conversation
Persistence capability of the bvh::v2::Bvh data structure is now enabled. It can be controlled by TGeoTessellated::fgStreamOptimization, which is set to false (not streaming) by default, because although there is a gain in speed, it is still fast to create the optimization on the fly even for complex cases (1M facets).
Test Results 4 files 4 suites 11h 31m 45s ⏱️ Results for commit 970b15e. ♻️ This comment has been updated with latest results. |
|
The changes seem to have triggered a problem in the creation of the precompiled modules. A proposal to move forward could be to
Does it make sense? |
The simplification of the template is not an option, as this optimization package is meant to remain an opaque external implementation for BVH. @pcanal is looking into this. If it really does not work, I think we will drop the persistence because the creation of the data structure on the fly is quite fast, so persistence would only benefit setups with a very large number of complex tessellations. |
|
@aaronj0 The PR fails during the generation of the The stack trace is below. The Do you know how we can solve this issue? |
Persistence capability of the
bvh::v2::Bvhdata structure is now enabled. It can be controlled byTGeoTessellated::fgStreamOptimization, which is set to false (not streaming) by default, because although there is a gain in speed (2-3x faster), it is still fast to create the optimization on the fly, even for complex cases (1M facets).co-authored by @pcanal
This Pull request:
Changes or fixes:
Optionally enables persistence for the tessellated acceleration structure
Checklist:
This PR fixes #