hgemm_mma_m16n8k16_mma2x4_warp4x4_kernel 详解
本文档详细解析 HGEMM MMA Kernel 的实现原理,包括数据布局、线程组织、数据加载、MMA 计算和结果存储的完整流程。
代码链接:HGEMM/kernels/hgemm/mma/hgemm_mma.cu at eee72be829545bd6bd115a4b252b5068c9f61597 ·...
hgemm_mma_m16n8k16_naive_kernel详解
仓库链接:xlite-dev/HGEMM at eee72be829545bd6bd115a4b252b5068c9f61597
代码链接:HGEMM/kernels/hgemm/mma/hgemm_mma.cu at eee72be829545bd6bd115a4b252b5068c9f61597 · xlite-dev/...
hgemm_naive_kernel详解
仓库链接:xlite-dev/HGEMM at eee72be829545bd6bd115a4b252b5068c9f61597
代码链接:HGEMM/kernels/hgemm/naive/hgemm.cu at eee72be829545bd6bd115a4b252b5068c9f61597 · xlite-dev/HGEMM
CUDA HGE...
前置知识:KDA算法公式、triton、
1 TVM算子融合介绍
1.1 图级优化
TVM图级优化按照优化范围,可分为局部优化和全局优化
局部优化是TVM图级优化的重点,其中算子融合是AI编译器必不可少的优化方法。
算子融合核心思想就是**将多个算子合并成一个内核,因而无需将中间结果写回全局内存,减少了中间变量的分配,也减少了片上缓存和片外存储之间的数据传输,**从而节省计算时间。
全...
仓库链接:bytedance/matxscript: A high-performance, extensible Python AOT compiler.
概述
matxscript运行时系统的核心基础是其基于引用计数的对象模型。该模型提供了自动内存管理、类型安全和面向对象特性支持,为整个运行时环境奠定了坚实的基础。对象模型主要由三个核心组件构成:
Object类:作为所有对象容器的基...
仓库链接:bytedance/matxscript: A high-performance, extensible Python AOT compiler.
概述
matxscript运行时系统的内存管理机制负责高效地分配和回收运行时环境中所有对象的内存。该系统基于MemoryPoolAllocator分配器实现,结合对象模型中的引用计数机制,实现了自动垃圾回收。系统支持在不同设备上进行内...
仓库链接:bytedance/matxscript: A high-performance, extensible Python AOT compiler.
1 概述
线程池系统是matxscript运行时的重要组成部分,负责提供并发执行能力。该系统实现了基于锁和无锁两种线程池模式,通过统一的执行器(ThreadPoolExecutor)对外暴露接口,支持任务并行处理、异步调用等功能。
线...
1 填充
在此之前,先补充一些卷积层前向过程中的一个步骤:填充(padding);首先引出问题,例如现在有一个卷积运算具体参数如下:
卷积的输入 X 宽高都是28,卷积核 W 的宽高是5,取步长 S 为1,那么输出 A 宽高就是24
因为卷积运输的计算方式决定了输出的长度总是小于输入(长度为1的卷积核除外),这样有时会碰到一些问题,例如输入边缘的信息很重要,但是卷积计算对输入的边缘采样不...
1 直接卷积
在直接卷积中,卷积核(滤波器)通过在输入图像上滑动并与图像的每个位置进行逐元素相乘,然后将所有乘积相加得到输出的单个像素值。这个过程可以看作是在输入图像上进行的一种滑动窗口操作,其中卷积核的大小决定了窗口的大小。下图所示为一个输入进行卷积的过程,如果为批量输入,则结果也多个。维度变化为:
其中:
12345678910111213141516/*不考虑输出的pa...