【技术实现步骤摘要】
一种在TVM中实现TensorCore卷积计算的方法及系统
本申请涉及
,特别是涉及一种在TVM(深度学习编译器)中实现TensorCore(CUDA中的一种矩阵乘计算方法)卷积计算的方法及系统。
技术介绍
随着人工智能在语音识别、图像识别、智能控制以及复杂计算等领域的迅速发展,相应地,人工智能在算法、算力以及算料方面取得了巨大的进步。尤其在图像识别领域,在卷积神经网络中利用TensorCore技术,能够有效提高图像处理速度。而TVM是一种AI编译软件,主要作用于人工智能深度学习系统的编译器堆栈。其针对不同的深度学习框架和硬件平台实现了统一的软件栈,以尽可能高效的方式,将不同框架下的深度学习模型部署到硬件平台上。因此,如何在TVM中实现TensorCore卷积计算,是个重要的技术问题。目前在TVM中实现TensorCore卷积计算的方法,通常是对输入精度为float16(浮点数据类型16位)的数据进行计算,也就是目前TVM仅支持GPU上CUDA(ComputeUnifiedDeviceArchitecture, ...
【技术保护点】
1.一种在TVM中实现TensorCore卷积计算的方法,其特征在于,所述方法包括:/n获取TensorCore卷积输入数据的数据布局和卷积核的数据布局;/n判断所述输入数据的数据布局和卷积核的数据布局是否满足:内部矩阵M、N、K维度上的大小是(16,16,16),(8,32,16)或者(32,8,16)的倍数;/n如果是,判断所述输入数据的数据类型是否一致,且均为int8或uint8;/n如果输入数据与卷积核的数据类型一致,且均为int8或uint8,定义Tensorcore int8的卷积计算规则;/n否则,按照float16数据类型进行卷积计算规则定义;/n对int8 ...
【技术特征摘要】
1.一种在TVM中实现TensorCore卷积计算的方法,其特征在于,所述方法包括:
获取TensorCore卷积输入数据的数据布局和卷积核的数据布局;
判断所述输入数据的数据布局和卷积核的数据布局是否满足:内部矩阵M、N、K维度上的大小是(16,16,16),(8,32,16)或者(32,8,16)的倍数;
如果是,判断所述输入数据的数据类型是否一致,且均为int8或uint8;
如果输入数据与卷积核的数据类型一致,且均为int8或uint8,定义Tensorcoreint8的卷积计算规则;
否则,按照float16数据类型进行卷积计算规则定义;
对int8的卷积计算规则定义之后,执行调度优化设计;
根据调度优化设计的结果,进行int8的TensorCore卷积计算。
2.根据权利要求1所述的一种在TVM中实现TensorCore卷积计算的方法,其特征在于,所述对int8的卷积规则进行定义,具体为:
根据卷积神经网络的卷积计算过程,利用公式N=(w-f+2p)/s+1,计算卷积层的输出布局,其中,w为输入图片的大小,f为卷积核的大小,p为填充的大小,s为步长。
3.根据权利要求1所述的一种在TVM中实现TensorCore卷积计算的方法,其特征在于,所述进行调度优化设计,包括:
将输入数据的数据布局和卷积核的数据布局进行划分;
根据输入数据的数据布局和卷积核的数据布局的划分结果,利用CUDA设计数据存储层次。
4.根据权利要求3所述的一种在TVM中实现TensorCore卷积计算的方法,其特征在于,所述将输入数据的数据布局和卷积核的数据布局进行划分,包括:
确定输入数据的数据布局(N,H,W,IC),卷积核的数据布局(kh,kw,IC,OC);
按照卷积计算规则进行转换,将外层循环设置为(H,W,N,OC),内层循环设置为(kh,kw,IC);
根据外层循环和内存循环的设置结果,将输出图片的N,OC维度最内部的划分满足tensorcore计算部分的三个维度,外部剩余的维度绑定线程;
根据输出图片的维度,将卷积过程转换为矩阵乘形式[H,W,kh*kw*(N,IC)x(IC,OC)];
将矩阵计算部分的数据转换为设定格式的矩阵乘法,所述设定格式包括:16x16x16,8x32x16或32x8x16;
根据kh和kw,在IC维度进行Tensorcore矩阵乘法的累加。
5.根据权利要求3所述的一种在TVM中实现TensorCore卷积计算的方法,其特征在于,所述根据输入数据的数据布局和卷积核的数据布局的划分结果,利用CUDA设计数据存储层次,包括:
将一个block块内的输入数据和卷积核从全局内存读入共享内存;
利用TensorCore的wmma指令,将所述输入数据和卷积核从共享内存加载至寄存器;
在所述寄存器内,利用TensorCore指令进行进行矩阵乘法累加计算,获取计算结果;
根据所获取的wmma指令,将所述计算结果从寄存器写回共享内存;
将所述计算结果从共享内存写回全局内存。
6.一种在TVM中实现TensorCore卷积计算的系统,其特征在于...
【专利技术属性】
技术研发人员:刘文川,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。