triton.language.dot
- triton.language.dot(input, other, acc=None, input_precision=None, allow_tf32=None, max_num_imprecise_acc=None, out_dtype=triton.language.float32, _semantic=None)
返回两个块的矩阵乘积。
这两个块必须均为二维或三维,且具有兼容的内部维度。对于三维块,tl.dot 执行批量矩阵乘积,其中每个块的第一维代表批次维度。
警告
当使用 TF32 精度时,float32 输入可能会在没有舍入的情况下被截断为 TF32 格式(19 位浮点数),这可能会导致结果产生偏差。为了获得最佳结果,必须显式进行 TF32 舍入,或使用带有 round_f32_to_tf32=True 的 TensorDescriptor 加载数据。
- 参数:
input (标量类型为 {
int8,float8_e5m2,float16,bfloat16,float32} 的 2D 或 3D 张量) – 第一个相乘的张量。other (标量类型为 {
int8,float8_e5m2,float16,bfloat16,float32} 的 2D 或 3D 张量) – 第二个相乘的张量。acc (标量类型为 {
float16,float32,int32} 的 2D 或 3D 张量) – 累加器张量。如果不是 None,则结果将加到该张量中。input_precision (字符串。Nvidia 可用选项:
"tf32","tf32x3","ieee"。默认值:"tf32"。AMD 可用选项:"ieee",(仅限 CDNA3)"tf32"。) – 如何针对 f32 x f32 使用张量核心(Tensor Cores)。如果设备没有张量核心或输入不是 f32 数据类型,则此选项将被忽略。对于确实拥有张量核心的设备,默认精度为 tf32。allow_tf32 – 已弃用。 如果为真,则将 input_precision 设置为 “tf32”。
input_precision和allow_tf32只能指定一个(即至少有一个必须为None)。