OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT root cause?

Is there a general assumption how much bigger they are? Would that about compensate the vertex / thickness / index data?

I have no measurements about how that affects curve primitives. It’s interesting that adding the OPTIX_BUILD_FLAG_ALLOW_RANDOM_VERTEX_ACCESS doesn’t change the compacted curve GAS size on your system configuration.

That was more a comment about built-in triangles where that is also affected by the underlying hardware. RTX GPUs will show differences for those. Your Pascal GPU will behave differently for built-in triangles.

I’m also especially not using OPTIX_BUILD_FLAG_ALLOW_RANDOM_VERTEX_ACCESS and OPTIX_BUILD_FLAG_PREFER_FAST_TRACE flags in my multi-GPU examples when sharing GAS across NVLINK bridges because the GAS size affects the performance more then.

Note that the geometry acceleration structure size is mainly affected by the different AS optimization settings.
That also includes curve primitives: https://raytracing-docs.nvidia.com/optix7/guide/index.html#curves#splitting-curve-segments
You’re using OPTIX_BUILD_FLAG_PREFER_FAST_TRACE which usually results in bigger AS sizes.

The same advice for AS comparisons as in this post apply for each different GPU architecture:
https://forums.developer.nvidia.com/t/build-time-and-bvh-size-for-different-primitive-types/251639/7

1 Like