Composable Kernel vector template utilities#
Composable Kernel includes template utilities for creating vector types with customizable widths. These template utilities also flatten nested vector types into a single, wider vector, preventing the creation of vectors of vectors.
Vectors composed of supported scalar and custom types can be created with the ck::vector_type
template.
For example, ck::vector_type<float, 4>
creates a vector composed of four floats and ck::vector_type<ck::half_t, 8>
creates a vector composed of eight half-precision scalars.
For vector operations to be valid, the underlying types must be either a supported scalar type or a custom type that implements the required operations.