Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigating performance degradation with some QuantLib tests #19

Open
xcelerit-squad opened this issue Jun 13, 2024 · 0 comments
Open

Comments

@xcelerit-squad
Copy link
Contributor

xcelerit-squad commented Jun 13, 2024

While the overall QuantLib test suite comparison between XAD and no-XAD shows a 1.73x performance impact (using GCC 13 on Ubuntu with an Intel(R) Xeon(R) W-2295 CPU @ 3.00GHz), some tests, such as testPathwiseGreeks, exhibit up to a 4x performance hit. These discrepancies need to be investigated to understand the root cause of the larger-than-expected performance degradation.

For context, XAD employs operator overloading with expression templates, which can significantly strain the compiler. This stress varies based on the compiler choice, the application of compiler flags, and other factors. Addressing these challenges requires a multifaceted approach:

  1. Profiling: Conduct detailed profiling to identify specific performance bottlenecks. This step is crucial as it may reveal that the AD version suffers due to the compiler's inability to optimise certain expression templates effectively.
  2. Optimising Expressions: Performance can often be improved by carefully rewriting expressions and adjusting loop structures. These optimisations should not compromise the performance of standard double-precision calculations.
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

No branches or pull requests

1 participant