Conversation
|
@jmaack24 Bill suggested I ping you on this PR. This is a pretty large PR, so please let me know if I've messed something up. |
|
A few tests failing here that didn't fail on my hardware. Looks like the debug ones are duration; that's expected due to the slow performance of GLM in debug mode. The release ones are failing from uninitialization, which I thought I had fixed, but I'll get that fixed up soon enough. |
- Fix unconditional embree include - Fix broken merge - Update CI to remove Debug
Also, optimizations.
This could still fail for very fast machines
|
Struggling to get coverage to succeed. Getting weird negative counts. |
Bill and I both ran into this. Something to do with the multi-threading (even though that's not supposed to be a problem). After trying to fix it, we eventually just turned off the multi-threaded tests in coverage. Ignoring them is a good way to go for now. Maybe we can try to fix this after the beta release. |
|
Looks like it worked this time. I think this is ready for review; I don't have permissions to add reviewers, however. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 106 out of 107 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
google-tests/unit-tests/simulation_runner/optix_runner/gpu_tower_demo.cpp
Outdated
Show resolved
Hide resolved
|
Excellent. Looks like we are all good to go. |
This hefty PR strips out the custom linear algebra library and replaces it with GLM, a fairly popular and high performance library. This is the first step toward using quaternions instead of a vector and rotation for user-facing simulation_data classes, as discussed with @qualand (Bill).
Aside from allowing some more traditional syntax, GLM improves the performance by around 10% on my machines, and opens the door to using AVX instructions explicitly for additional gains. However: debug builds perform slower, in some cases twice as slow due to the indirection GLM needs to provide platform specific optimizations.
This is a draft as the Optix test is crashing, but I'm not yet sure if it's my fault or not.
Changes:
Notes:
variable = a * v + b * yis_infaster; this could be done for all apertures