BlasOptions#
-
class nvmath.
device. BlasOptions( - size,
- precision,
- data_type,
- *,
- code_type=None,
- block_size=None,
- block_dim=None,
- leading_dimension=None,
- transpose_mode=('non_transposed', 'non_transposed'),
- function='MM',
- execution='Block',
一个封装了部分 BLAS 设备功能的类。可以查询部分设备函数,以获取某些旋钮(例如
leading_dimension
或block_dim
)的可用或最佳值。在通过create()
完成最终确定之前,它不包含已编译的、可直接使用的设备函数。- 参数:
size – 一个整数序列,表示矩阵乘法问题的三个维度
(m, n, k)
。precision – 计算精度,指定为 numpy 浮点数据类型,目前支持
numpy.float16
、numpy.float32
和numpy.float64
。data_type – 输入矩阵的数据类型,可以是
'real'
或'complex'
。code_type (CodeType) – 目标 GPU 代码和计算能力。
block_size (int) – 总块大小,可选。如果未提供或设置为
'suggested'
,则将设置为 1D 块维度的建议值。block_dim (Dim3) – 用于启动 CUDA 内核的块维度,可选。如果未提供或设置为
'suggested'
,则将设置为建议值。当显式指定block_size
时,不能使用。leading_dimension (LeadingDimension) – 输入矩阵的前导维度,可选。如果未提供,则将设置为匹配矩阵的行/列维度。或者,如果作为
'suggested'
提供,则将设置为获得最佳性能的建议值。transpose_mode (TransposeMode) – 所有输入矩阵的转置模式。 如果未提供,则默认不进行转置。
function (str) – 指定函数名称的字符串。目前支持
'MM'
(默认) 用于矩阵乘法。execution (str) – 指定执行方法的字符串,可以是
'Block'
或'Thread'
。
另请参阅
此类的属性提供与 CUDA C++ cuBLASDx API 的 1:1 映射。有关更多详细信息,请参阅 cuBLASDx 文档。
方法
- __init__(
- size,
- precision,
- data_type,
- *,
- code_type=None,
- block_size=None,
- block_dim=None,
- leading_dimension=None,
- transpose_mode=('non_transposed', 'non_transposed'),
- function='MM',
- execution='Block',
属性
- block_dim#
- block_size#
- code_type#
- data_type#
- execution#
- function#
- leading_dimension#
- precision#
- size#
- transpose_mode#