Remove use of std functions in dynamicsparsenumberbase.h#62
Remove use of std functions in dynamicsparsenumberbase.h#62lindsayad merged 7 commits intolibMesh:masterfrom
Conversation
This is for device portability. The implementations are based on the "posssible implementations" suggestions on the c++ reference wikipedia pages Refs roystgnr#86
This communicates to the compiler that we should use c++ even for this "odd" .K extension
|
Lol |
Co-authored-by: Codex <codex@openai.com>
|
How do these compare with std functions in terms of performance? |
|
They should have the same complexity. I need to see whether kokkos offers these algorithms and if so whether for more than just Views |
roystgnr
left a comment
There was a problem hiding this comment.
Would it be possible to stick the hand-coded algorithms inside #ifdef METAPHYSICL_KOKKOS_COMPILATION and just call the std:: versions in the #else block? If so, I'd prefer to do that; you never know when the std lib authors have done something like adding fancy SIMD options that are equivalent to but faster than the reference code. If not? I do want to riot about the fact that we need to work around our device compiler not yet supporting 30-year-old standards, but given that we need that, I'm pretty happy about the way this PR accomplishes it.
|
Not a part of this PR but what would you think about adding kokkos as an optional git submodule? |
They do, but it would not be the same API shape. Would need an execution policy. So I'm going to keep things as I originally had things in this PR when using Kokkos |
I'm generally in favor of just relying on autoconf detection for anything that's popular enough to likely be available via |
Closes roystgnr#86
My prediction is that @roystgnr will riot haha. fyi @NamjaeChoi