
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
第一次看 catlass 源码的时候,以为它是 CUTLASS 的翻版。CUTLASS 是 NVIDIA 的 GEMM 模板库,用 C++ 模板元编程生成高性能的矩阵乘 kernel。catlass 名字里也有 “c” + “atlass”,很容易让人以为它是昇腾版的 CUTLASS。CUTLASS 是通用的 GEMM 模板库,目标是生成各种形状的矩阵乘 kernel。它生成的不是某一个算子,而是

第一次看 catlass 源码的时候,以为它是 CUTLASS 的翻版。CUTLASS 是 NVIDIA 的 GEMM 模板库,用 C++ 模板元编程生成高性能的矩阵乘 kernel。catlass 名字里也有 “c” + “atlass”,很容易让人以为它是昇腾版的 CUTLASS。CUTLASS 是通用的 GEMM 模板库,目标是生成各种形状的矩阵乘 kernel。它生成的不是某一个算子,而是

CUTLASS 是 NVIDIA 的 GEMM 模板库,用 C++ 模板元编程生成高性能的矩阵乘 kernel。catlass 名字里也有 “c” + “atlass”,很容易让人以为它是昇腾版的 CUTLASS。CUTLASS 是通用的 GEMM 模板库,目标是生成各种形状的矩阵乘 kernel。它生成的不是某一个算子,而是一族算子的实现模板。这个区分很重要。理解了这一点,你才能看懂 catla

CUTLASS 是 NVIDIA 的 GEMM 模板库,用 C++ 模板元编程生成高性能的矩阵乘 kernel。catlass 名字里也有 “c” + “atlass”,很容易让人以为它是昇腾版的 CUTLASS。CUTLASS 是通用的 GEMM 模板库,目标是生成各种形状的矩阵乘 kernel。它生成的不是某一个算子,而是一族算子的实现模板。这个区分很重要。理解了这一点,你才能看懂 catla

昇腾NPU上的算子是怎么跑起来的?有人说"runtime就是负责跑kernel的",有人说"runtime管内存分配",还有人说"runtime就是CUDA runtime的对应物"。这些答案都有对的地方,但都没说到根子上。这个区分很重要。如果你的理解停留在"runtime负责调度kernel",那你永远调不好性能,也看不懂为什么同一个算子在不同batch size下延迟差了3倍。从FlashAt

昇腾NPU上的算子是怎么跑起来的?有人说"runtime就是负责跑kernel的",有人说"runtime管内存分配",还有人说"runtime就是CUDA runtime的对应物"。这些答案都有对的地方,但都没说到根子上。这个区分很重要。如果你的理解停留在"runtime负责调度kernel",那你永远调不好性能,也看不懂为什么同一个算子在不同batch size下延迟差了3倍。从FlashAt

第一次跑Llama 3 70B推理的时候,序列长度拉到8192就OOM了。查了一圈发现不是模型权重太大——权重本身才14GB——吃显存的是注意力机制的中间矩阵。每个transformer层都要存一个N×N的注意力分数矩阵,12层叠起来,光这个中间结果就占了好几个GB。FlashAttention解决的正是这个问题。这个区分很重要。FlashAttention不是"算得更快"——昇腾NPU的Cube

第一次跑Llama 3 70B推理的时候,序列长度拉到8192就OOM了。查了一圈发现不是模型权重太大——权重本身才14GB——吃显存的是注意力机制的中间矩阵。每个transformer层都要存一个N×N的注意力分数矩阵,12层叠起来,光这个中间结果就占了好几个GB。FlashAttention解决的正是这个问题。这个区分很重要。FlashAttention不是"算得更快"——昇腾NPU的Cube

第一次跑Llama 3 70B推理的时候,序列长度拉到8192就OOM了。查了一圈发现不是模型权重太大——权重本身才14GB——吃显存的是注意力机制的中间矩阵。每个transformer层都要存一个N×N的注意力分数矩阵,12层叠起来,光这个中间结果就占了好几个GB。FlashAttention解决的正是这个问题。这个区分很重要。FlashAttention不是"算得更快"——昇腾NPU的Cube

MoE(Mixture of Experts)是大模型里常用的架构,Llama 3、Mixtral、DeepSeek都在用。它的计算流程看起来不复杂,但如果每个步骤单独调用算子,中间结果来回搬运,性能会非常差。这篇文章会拆解ops-transformer仓库里的MoE融合算子,看它是怎么把routing、gating、expert计算、结果聚合串成一条流水线的。我会把关键Ascend C代码展开讲








