Auto-TensorCore代码生成优化matmul
发布时间
阅读量:
阅读量
本节将展示如何借助TVM Auto TensorCore CodeGen工具,在Volta及Turing架构的GPU上实现高效矩阵乘法(matmul)的调度方案。该方法提供了一种透明的解决方案,能够自动生成在IR转换过程中完成的大部分TensorCore内核代码。同时,用户也可以通过编写带有tensorize操作的调度策略,手动生成TensorCore代码。两种方式均依赖于相同的TensorCore内部函数。如需进一步了解,可参考关于如何利用TensorCores优化卷积运算的相关文档。
准备工作与算法说明
当前方案支持两种输入数据类型:float16和int8。针对float16类型,累加器采用float32;而对于int8类型,则使用int32作为累加器。在数据布局方面,“N”代表不进行转置操作,“T”表示需要转置。
import logging
import sys
import numpy as np
import tvm
from tvm import te
from tvm import autotvm
from tvm.contrib import nvcc
def matmul_nn(A, B, L, dtype="float16", layout="NN"):
k = te.reduce_axis((0, L)
全部评论 (0)
还没有任何评论哟~
