Layouts and Extents

View as Markdown

RAFT layout and extent types make array shape and memory layout explicit in NVIDIA cuVS public signatures.

raft::row_major

Source header: raft/core/mdspan_types.hpp

Matrix layout tag for row-major storage.

1using cuda::std::layout_right;
2using row_major = layout_right;

raft::col_major

Source header: raft/core/mdspan_types.hpp

Matrix layout tag for column-major storage.

1using cuda::std::layout_left;
2using col_major = layout_left;

raft::layout_c_contiguous

Source header: raft/core/mdspan_types.hpp

Layout tag for C-contiguous memory.

1using cuda::std::layout_right;
2using layout_c_contiguous = layout_right;

raft::layout_f_contiguous

Source header: raft/core/mdspan_types.hpp

Layout tag for Fortran-contiguous memory.

1using cuda::std::layout_left;
2using layout_f_contiguous = layout_left;

raft::layout_stride

Source header: raft/core/mdspan_types.hpp

Layout tag for strided memory.

1using cuda::std::layout_stride;

raft::scalar_extent

Source header: raft/core/mdspan_types.hpp

Convenience extent alias for zero-dimensional scalar values.

1template <typename IndexType>
2using scalar_extent = cuda::std::extents<IndexType, 1>;

raft::matrix_extent

Source header: raft/core/mdspan_types.hpp

Convenience extent alias for two-dimensional matrices.

1template <typename IndexType>
2using matrix_extent = cuda::std::extents<IndexType,
3 raft::dynamic_extent,
4 raft::dynamic_extent>;

raft::vector_extent

Source header: raft/core/mdspan_types.hpp

Convenience extent alias for one-dimensional vectors.

1template <typename IndexType>
2using vector_extent = cuda::std::extents<IndexType,
3 raft::dynamic_extent>;

raft::extents

Source header: raft/core/mdspan_types.hpp

Generic extent descriptor for static and dynamic dimensions.

1using cuda::std::extents;

raft::dynamic_extent

Source header: raft/core/mdspan_types.hpp

Sentinel used for dimensions whose size is known at runtime.

1using cuda::std::dynamic_extent;