Conversation
|
Very nice - I think we've had similar issues in Umpire. |
|
The first choice for aligned allocation is currently posix_memalign. Since RAJA now requires C++ 17 should the first selection be std::aligned_alloc which is in C++17? Remove RAJA wrapper entirely and use standard directly since we have bumped to C++17? Or perhaps there are other reasons for the selection? |
|
@MrBurmark @artv3 will you please comment on @smithsg84 question above about removing the RAJA wrapper and going with C++ std library directly? |
rhornung67
left a comment
There was a problem hiding this comment.
Thanks @smithsg84 As you can see we've accumulated vestigial code over the years as we've evolved through C++ standard versions.
|
I would be inclined to use std::aligned_alloc and drop the others. |
|
I don't know of a performance reason to prefer one aligned allocation function over another. I'm in favor of using the std version. |
Symbol existence checks changed to use C++ compiler rather than the C compiler
check_symbol_exists use the C compiler for the symbol check, check_cxx_symbol_exists is the C++ variant. The C check was being used to check for a C++ symbol name (std::aligned_alloc) which was failing. Other checks were refactored to use C++ checks since use is in C++ code.