NVPL Sparse 类型参考#
nvpl_sparse_data_type_t#
本节介绍 NVPL Sparse 中使用的类型。nvpl_sparse_data_type_t
类型是一个枚举器,用于指定数据精度。当数据引用本身不携带类型时(例如 void*
),会使用它。例如,它在例程 nvpl_sparse_spmv()
中使用。
值 |
含义 |
数据类型 |
头文件 |
---|---|---|---|
|
数据类型为 32 位 IEEE-754 浮点型 |
|
|
|
数据类型为 32 位复数 IEEE-754 浮点型 |
|
complex.h |
|
数据类型为 64 位 IEEE-754 浮点型 |
|
|
|
数据类型为 64 位复数 IEEE-754 浮点型 |
|
complex.h |
|
数据类型为 8 位整数 |
|
stdint.h |
|
数据类型为 32 位整数 |
|
stdint.h |
对于 C++ 代码,可以使用 std::complex<float>
和 std::complex<double>
,它们在 <complex>
中。
nvpl_sparse_status_t#
此数据类型表示库函数返回的状态,它可以具有以下值
值 |
描述 |
---|---|
|
操作已成功完成 |
|
NVPL_SPARSE 库未初始化。 纠正方法: 在函数调用之前调用 此错误也适用于通用 API ( 通用 API 参考),用于指示矩阵/向量描述符未初始化 |
|
NVPL_SPARSE 库内部资源分配失败。这通常是由主机内存分配失败引起的 纠正方法: 在函数调用之前,尽可能释放先前分配的内存 |
|
向函数传递了不支持的值或参数(例如,负向量大小) 纠正方法: 确保传递的所有参数都具有有效值 |
|
该函数需要处理器架构中不存在的特性 纠正方法: 在具有适当计算能力的处理器上编译并运行应用程序 |
|
程序执行失败。 纠正方法: 检查硬件和 NVPL_SPARSE 库是否已正确安装 |
|
NVPL_SPARSE 内部操作失败 纠正方法: 检查硬件和 NVPL_SPARSE 库是否已正确安装。 此外,检查作为参数传递给例程的内存是否在例程完成之前被释放 |
|
此函数不支持矩阵类型。这通常是由于向函数传递了无效的矩阵描述符引起的 纠正方法: 检查 |
|
该函数目前不支持此操作或数据类型组合 |
|
用于计算的资源(如内存)不足以完成操作。此错误也可能指示当前计算模式(例如,稀疏矩阵索引的位大小)不允许处理给定的输入 |
nvpl_sparse_handle_t#
这是一种指向不透明 NVPL Sparse 上下文的指针类型,用户必须在调用任何其他库函数之前通过调用 nvpl_sparse_create()
来初始化它。由 nvpl_sparse_create()
创建和返回的句柄必须传递给每个 NVPL Sparse 函数。
nvpl_sparse_operation_t#
此类型指示应用于相关输入(例如,稀疏矩阵或向量)的操作。
值 |
含义 |
---|---|
|
选择了非转置操作。 |
|
选择了转置操作。 |
|
选择了共轭转置操作。 |
nvpl_sparse_diag_type_t#
此类型指示矩阵对角线元素是否为单位值。始终假定对角线元素存在,但是如果将 NVPL_SPARSE_DIAG_TYPE_UNIT
传递给 API 例程,则该例程假定所有对角线元素均为单位值,并且不会读取或修改这些元素。请注意,在这种情况下,例程假定对角线元素等于 1,而不管这些元素在内存中实际设置为何值。
值 |
含义 |
---|---|
|
矩阵对角线具有非单位元素。 |
|
矩阵对角线具有单位元素。 |
nvpl_sparse_fill_mode_t#
此类型指示矩阵的下三角部分或上三角部分是否存储在稀疏存储中。
值 |
含义 |
---|---|
|
存储了下三角部分。 |
|
存储了上三角部分。 |
nvpl_sparse_index_base_t#
此类型指示矩阵索引的基数是零还是壹。
值 |
含义 |
---|---|
|
基索引为零(C 兼容性)。 |
|
基索引为壹(Fortran 兼容性)。 |