注意
RAFT 中的向量搜索和聚类算法正在迁移到一个专门用于向量搜索的新库,名为 cuVS。在此迁移过程中,我们将继续支持 RAFT 中的向量搜索算法,但在 RAPIDS 24.06(六月)版本后将不再更新它们。我们计划在 RAPIDS 24.10(十月)版本前完成迁移,并在 24.12(十二月)版本中将它们从 RAFT 中完全移除。
矩阵操作#
转置#
#include <raft/linalg/transpose.cuh>
namespace raft::linalg
-
template<typename T, typename IndexType, typename LayoutPolicy, typename AccessorPolicy>
std::enable_if_t<std::is_floating_point_v<T>, void> transpose(raft::resources const &handle, raft::mdspan<T, raft::matrix_extent<IndexType>, LayoutPolicy, AccessorPolicy> in, raft::mdspan<T, raft::matrix_extent<IndexType>, LayoutPolicy, AccessorPolicy> out)# 转置一个矩阵。输出的布局策略与输入相同。
- 模板参数:
T – 输入矩阵元素的数据类型。
IndexType – 矩阵范围的索引类型。
LayoutPolicy – 输入矩阵的布局类型。当布局为跨步式时,它可以是更大矩阵的子矩阵。不支持任意跨步。
AccessorPolicy – 输入和输出的访问器,必须是设备上的有效访问器。
- 参数:
handle – [in] 用于管理昂贵的 CUDA 资源的 raft handle。
in – [in] 输入矩阵。
out – [out] 输出矩阵,存储空间由调用者预先分配。