Christian Trott
Christian Trott
It turns out that it used to be numa aware, and I think some of the latest OpenMP implementations (in particular intels) should be too. What we used to do...
# Submdspan Recap `submdspan` lets you take subsets of a an `mdspan` An example: ```c++ // Some data representing 2x3 matrices double data[6] = { 11, 12, 13, 21, 22,...
GodBolt example of custom layout/accessor in combo with submdspan: https://godbolt.org/z/EhMrYvTfo
I don't think that `mdspan` -> `std::array` makes sense. `mdspan` is non-owning, `std::array` isn't. You can't convert `std::string_view` to `std::string` or construct a `std::array` from a `std::span` either.
In either case: if you want this we need to propose `std::span` -> `std::array` first, and considering that we don't even have `std::mdspan` -> `std::span` that thing also should come...
Basically either we do it or we don't. We could have an IMPL option to turn it off in case we get complaints, but there is no reason for us...
Idea for unifying mandates and preconditions further: - have exposition only functions which check compile time and runtime extent compatibility respectively: - each version has a mandates and a precondition...
hm interesting. @nliber do you have any idea what this could be? I think it is potentially the jitting of stuff where we would have inline static things inside header...
@kaschau do you feel you could take this experiment on, i.e. make a branch of Kokkos Core go through all these variables and see if we can get this fixed...
and pointer and data() is still fine in that case as members since std::ranges::data() produces a dereferencable thing.