抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

Intel AVX

Intel AVX Intel® Intrinsics Guide is all you need. SSE: Streaming SIMD Extensions AVX: Advanced Vector Extensions flow(类似于GPU编程) 创建SIMD寄存器 加载数据到SIMD寄存器 使用SIMD指令 将SIMD寄存器中的数据存回内存 Terms 命名格式 ...

胶片

Cheatsheet https://wax8280.github.io/2017/09/22/%E5%85%B3%E4%BA%8E%E5%BA%95%E7%89%87%E7%9A%84%E5%86%B2%E6%B4%97/ https://i50mm.com/skills-%E6%8A%80%E5%B7%A7/%E5%85%B3%E4%BA%8E%E9%BB%91%E7%99%BD%E8%...

为什么MLA需要解耦一部分RoPE

为什么MLA需要解耦一部分RoPE 未拆分出head维度时, 从dim的视角看都是低秩投影 MHA = [d] = [d] x [g*d_kv], g=1 GQA = [d] = [d] x [gd_kv], g=X, gd_kv=d 而MLA是低秩投影后的工作 abs GQA本质也是一种低秩投影,只不过是简单的线性变化(拆分,复制) MLA使用更贴合学习的方式做低秩投影,提升模型性能,...

shfl, warp-level primitives

shfl: warp-level primitives一个warp有32个thread, warp内的线程称为通道(lanes), lane id的计算方法是threadid % 32, warp id的计算方法是threadid / 32。 线程束洗牌: warp-level原语 可以直接获取warp内的线程的寄存器值,直接使用寄存器交换 每次调用都会同步warp内的线程, sync m...

bank confict和冲突消解

bank confict和冲突消解 一个conflict的实例: 矩阵转置存储在smem中。 thr0~3读取gmem一行, 存储到smem的一列, 这时同一列的thr就发生列bank conflict bank conflict 4Byte一个bank 简单方法 ldmatrix swizzle GPU为了提升并行度,可以提供了同时访问share memory功能,多个线程访问s...

构建自己的数据集

Abstract1234567891011121314151617import pandas as pdimport torchfrom pathlib import Pathfrom dataclasses import dataclassfrom torch.utils.data import Datasetfrom PIL import Imagedata_path = Path("p...

Python setup.py和开发流程

Python setup.py和开发流程cheat sheet 1234567# setup.pyfrom setuptools import setup, find_packagessetup( name="pip_pkgs_name", # pip管理的包名, 如pip show pip_pkgs_name version="0.0.1", packages=["pkg...

Flash attention变长batching API使用

Flash attention变长batching API使用主要记录flash_attn.flash_attn_varlen_func这个接口的使用, 精髓在于理解函数签名和输入形状: 函数签名需要每个seq的offset, 输入形状需要(bs, seqlen)平坦化后的(total_num, nhead, headdim) 1from flash_attn import flash_at...

Label Words are Anchors An Information Flow Perspective for Understanding In-Context Learning深度解析

深入理解Label Words are Anchors: An Information Flow Perspective for Understanding In-Context Learningabs 只测试了GPT模型 探究了ICL(in context learning)如何学习上下文的机制 提出”Information Flow with Labels as Anchors”假说...

Mixtral MoE源码笔记

Cheat Sheet MLP: down(act(gate(x)) * up(x)) # 两个path矩阵乘,再过最后一个线性层 [B, L, D] -> [B, L, D] 每个token都取topk个专家和权重 [B, L, D] -> [B, L, topk, D] 每个专家会处理x个token x的个数可能不同 sorted_tokens, 让属于同一个专家...