Yu You

Results 8 issues of Yu You

* Pulls the mdspan reference implementation from branch "stable" of the kokkos repo, https://github.com/kokkos/mdspan, up to PR 172. * Uglified internal identifiers and made some naming convention updates.

Hi, I'm running some performance comparisons between OpenBLAS and MKL for LU and eigen routines. I see that OpenBLAS tests with, for example, `dgetrf` and `dsyevd`, are about 3 times...

Looks like the comparison operators of `layout_stride` don't work correctly when the extents are different but the strides are the same. See example for `operator==` here https://godbolt.org/z/Pc9o57xhq or below: ```...

bug

The check for `MDSPAN_HAS_CXX_20` is incorrect. Should be `#if !(MDSPAN_HAS_CXX_20)`.

In https://github.com/kokkos/mdspan/blob/stable/include/experimental/__p0009_bits/layout_stride.hpp, the line of ``` span_size = std::max(span_size, static_cast(extents().extent(r) * __strides_storage()[r]));` ``` should be ``` span_size += static_cast(extents().extent(r) - 1 ) * __strides_storage()[r]; ``` to be consistent with the...

The implementation of the comparison operator led to compilation errors when `-Werror=sign-compare` is on, if one index type is signed while the other is unsigned. @mhoemmen has suggested that: >...

In config.hpp there are these checks for using `[[no_unique_address]]` or using an emulation of it. ``` #if !defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) # if ((__has_cpp_attribute(no_unique_address) >= 201803L) && \ (!defined(__NVCC__) || MDSPAN_HAS_CXX_20) && \...

Per http://eel.is/c++draft/mdspan.layout.left.obs#5, should have > `constexpr index_type stride(rank_type i) const;` Constraints: `extents_­type​::​rank() > 0` is `true` But is not implemented, for example: https://github.com/kokkos/mdspan/blob/stable/include/experimental/__p0009_bits/layout_left.hpp#L206 `stride(0)` returns 1 for a 0-D mapping...