Christian Trott
Christian Trott
I fixed the biggest wrongness in it. I will also schedule some time to develop a proper tutorial for the entirety of mdspan, but it will take a little bit.
there is a related issue that it doesn't construct from a std::array of any integer type ...
This seems like a good extension. We can't change the current proposal to add stuff like this in time for C++23 however since the design approval cutoff is basically here....
Yeah definitely conversion. In fact the proposal has a conversion operator. However that will not trigger for ```c++ template void foo(mdspan a) {} ``` since it can't deduce the template...
It is actually not quite clear-cut that it is a good idea to remove the explicit conversion. Say you index into something like this: ```c++ mdspan a(ptr, 4000, 1000, 1000);...
Just to elaborate: currently mdspan just requires that the arguments to its access operator are convertible to size_type. Furthermore the requirements table for mapping says that the i... it takes...
Note we are writing a change request against mdspan to address the size_t issue. Effectively we would add another template parameter to extents which sets the size_type which then is...
Note that we got now cartesian product on its way. As a first step you can create a cartesion product of iota_views of the extents. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2374r1.html
Time on kokkos-dev-2: ``` [crtrott@kokkos-dev-2 compiletime]$ time mpicxx main.cpp real 0m0.803s user 0m0.214s sys 0m0.188s [crtrott@kokkos-dev-2 compiletime]$ time nvcc -x cu main.cpp real 0m1.148s user 0m0.804s sys 0m0.337s [crtrott@kokkos-dev-2 compiletime]$...