0%

一、Hardware

1.1 SM

采用我两年半前写下的博文开篇:“GPU 是一个由多个 SIMD 处理器组成的 MIMD 处理器。”

这句话的意思是说,GPU 是一个多核系统,它这里说的“核”,指的是像多核 CPU 中的 core,它对应的不是 CUDA Core,而是 SM。而 SM 本身是一个 SIMD 处理器,也就是说,SM 是一个 SIMD 处理器。CUDA Core 其实对应的是一个 ALU 。一个 SM 中有多个 CUDA Core,所以它可以用一条指令进行多个标量的计算(送入不同的 CUDA Core)。

人们常常将 CPU 比作一个无所不知的教授,GPU 比喻成成百上千个小学生。而实际上,GPU 更像是一组长着很多只不协调的手的大学生。这个比喻中,SM 对应“大学生”,而 CUDA Core 等 SM 中的计算单元对应“手”。

Read more »

一、总论

在形形色色的系统设计中,无论是嵌入式系统、个人桌面系统、分布式系统还是 LLM 推理引擎系统,通常有一些非常恒定的指标,或者说追求的目标。而且为了达到这些指标,采用的方法论甚至都是类似的。

image-20250102194609112

我想在这篇文章,去记录一下系统中涉及的那些指标,以及常见的方法论,进而分析一下这些指标的本质。


Read more »

这么多人我不知道还算不算流浪,

可是从沙茶汤上刮起的风只掠过了我。

我急匆匆走过地图上标记的每一个浪漫角落,

自己却永远走不出地图。

我还记得凤凰花别在你耳朵上的样子。

所以现在你的波希米亚长裙去了哪里?

一、感受

这次出游是实验室组织的团体活动,我有幸担任了旅游的组长。但是因为组长的缘故,在景点和美食的选择上并不能随心所欲,而是更要考虑大家的需求。不过这也并不是什么坏事情,如果由着我的性子,我一定会在宾馆躺三天。

厦门文旅给人的最直观印象就是“浪漫”。宣传里的十里长堤、海上列车、曾厝垵和鼓浪屿,是这座城市的浪漫名片。不过我倒没有明显感觉出很浪漫的地方,这里的浪漫似乎因为旅游开发的缘故,显得有些模式化。更感慨的是,沙坡尾,明明在小红书中被形容成“漫画感”,在我看来,十分萧条落寞:那些本应鲜艳的油漆,在离开了镜头后,显得斑驳和衰老。

但是那又如何呢?我相信它是浪漫的,不是因为那些景点,而是因为它在我的脑海里本来就是浪漫的。我相信那里每个姑娘都穿着各式各样的波西米亚长裙,海风会将裙摆轻轻吹起。凤凰花会像火红的瀑布一样,溢满整个巷子。

Read more »

Attention Engine 可以被理解成“Attetion 算子库 + Attention 运行时”。有以下设计:

  • 可拆分的 Attention 算子:提高了 GPU 内存带宽利用率
  • 新的 KV Cache 管理抽象 CBSR:兼具 PagedAttention 和 RadixAttention 的优点,更 general
  • 宏观上动态、微观上静态的调度运行时:动态的同时不损害静态抽象和收益
  • 可定制的 Attention 算子框架、JIT:一些工程特性

FlashInfer 这篇工作在 2023 年就提出了,据作者所言,那个时候只有 FlashAttention1,还没有 FA2&3,FlashDecode 等工作,但是这些工作论文发得更早。

一、Background

FlashAttention

传统的 Attention 运算需要扫描 3 遍 GPU Memory 中的 Attention Logits 矩阵(len, len),计算密度低。

FlashAttention 提出了 1-pass 的 attention 算法,提高了计算密度,缓解了 GPU Memory 到 GPU Cache 的 IO 瓶颈:

Read more »

一、Kuromi & Melody

Kuromi 是 AJ 送我的第一个礼物,好像是在五道口地下一层买的,当时我们好像还没有正式确立关系,在回去之前,她走进商店买了 Kuromi,然后挂在了我书包的后面。后面很多的日子里我背上书包,都感觉似乎有一只手在牵着我。

Melody 是后来我送给 AJ 的,琢磨着可以凑一对。

嗷对了,AJ 还不相信我能把挂着玩偶的链子解开后再挂到书包上去。

2024-03-16_22-14-46_Kuromi&Melody

Read more »

一、总论

这是一篇记录我配置新电脑,在新电脑上配置系统的过程。

之所以取名叫作“没有银弹”,是因为我被挑选硬件、软件的过程折磨的精疲力竭。“没有银弹”虽然是一个老生常谈的话题,但是发现它出现在非软件工程领域,还是非常让人意外的。

没有一个笔记本、可以兼具 PC 的量大管饱和 Macbook 的高续航和漂亮屏幕;没有一个操作系统,可以兼具 Linux 的开发环境相似性、Windows 的普世和 MacOS 的闭合生态;没有一个发行版,可以兼具 ArchLinux 的高可控性和及时性,NixOS 的可复现性,Ubuntu 的稳定性;没有一个图形服务器兼具 Xorg 的适配性和 Wayland 的高性能;甚至没有一个编辑器,可以兼具 Emacs 的键盘操作和 VSCode 的 Remote 功能!

在我各种权衡利弊下,我得到了一个低续航、很沉、没有独显、甚至还不便宜的笔记本;上面装着的操作系统,无法驱动触摸板、声卡和蓝牙;软件包管理形式依然是 pacman,只要我开始更新,我就要一直更新;依然是老旧的 Xorg,每使用一天就是在向死亡奔赴一天;都 2025 了,我甚至还要被 Emacs 的沉没成本绑架以至于无法使用 VSCode。

Read more »