Skip to content

Conversation

@Xaver-01
Copy link
Contributor

Reorders threads in the ray generation loop to reduce warp divergence.
Significant speedups possible (almost 3x in ViennaPS 3D holeEtching example).
Further reordering based on materialID of hit primitive has to be tested.

Only available for Ada Lovelace Architecture (RTX 40 series) GPUs and newer.
On older GPUs optixReorder() results in a zero overhead no-op.

https://raytracing-docs.nvidia.com/optix8/guide/index.html#shader_execution_reordering#shader-execution-reordering

@tobre1
Copy link
Member

tobre1 commented Nov 30, 2025

This is great! Thanks for testing this. I will take a closer look at it next week.

@Xaver-01 Xaver-01 requested a review from tobre1 November 30, 2025 12:39
@tobre1 tobre1 merged commit de29293 into ViennaTools:main Nov 30, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants