-
Notifications
You must be signed in to change notification settings - Fork 273
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
UMFPACK: Display timer function used by SuiteSparse_config in report #823
UMFPACK: Display timer function used by SuiteSparse_config in report #823
Conversation
Oops. What I wrote is probably not entirely correct. I was assuming that all libraries would be using Additionally, the proposed change doesn't do what I thought it would because Should |
I added a second commit that should be fixing the issues described in the previous comment. |
It looks like the changes from this PR triggered a test error on the runner using I'll try to look into that soon. (But that will likely result in a different PR.) |
Converted to draft for now to wait for #824 and rebase. |
UMFPACK is built without OpenMP. (It doesn't use it directly.) Hence, `_OPENMP` is not defined when the UMFPACK libraries are built. Get the information about the used timer function directly from SuiteSparse_config.h instead. Fixes DrTimothyAldenDavis#822.
Record in "SuiteSparse_config.h" if working timer functions are available in libsuitesparse_config. Always indirect to `SuiteSparse_time` when dependent libraries use `SUITESPARSE_TIME`. Add new preprocessor macro `SUITESPARSE_CONFIG_TIMER` which records the function that is used by libsuitesparse_config for its timer functions. Use that new preprocessor macro in the reports of UMFPACK.
This seems to be working now. It looks like GitHub is in the process of updating MSVC from 19.39 to 19.40 on their runners. And the CUDA version that we are installing isn't compatible with that newer version of MSVC. |
Avoid indirection through the library if the compilation unit including `SuiteSparse_config.h` happens to use OpenMP.
ae25b9b
into
DrTimothyAldenDavis:dev2
UMFPACK is built without OpenMP. (It doesn't use it directly.) Hence,
_OPENMP
is not defined when the UMFPACK libraries are built.Get the information about the used timer function directly from SuiteSparse_config.h instead.
Fixes #822.
I used the following reference for the "stringification" of the preprocessor macro:
https://gcc.gnu.org/onlinedocs/cpp/Stringizing.html