分类目录归档:GPU

Apple统一内存适合运行LLM?理想很丰满,现实很骨感

自从大语言模型开始流行以来,一直在AI领域深耕细作的NVIDIA直接获得了大量订单,导致产品供不应求,人们也一直在寻找更便宜的方案。这给了我们评估许多其它方案的机会,例如我前些时尝试搭建的W7900方案就是一个可行的替代。

碰巧的是,Apple刚好在LLM大火的时间点前后接连发布M1 / M2 Ultra,最大带来了128 / 192 GB且带宽高达800 GB/s的内存。考虑到本地运行LLM最大的瓶颈是显存容量和显存带宽,两者似乎是一拍即合,在数码媒体的渲染下创造了多个类似“Mac Studio > 6 * RTX 4090”的名场面。

事实真的是如此吗?经过实际测试,我发现尽管Apple Silicon可以将超大显存装进常规轻薄笔记本电脑,但在运行LLM方面存在各种妥协,使得苹果平台并没有比NVIDIA方案的性价比更高。

devil’s in the details

本文我们使用一组实测数据来介绍目前的现状。 继续阅读

测量GPU的跨核心同步延迟

前阵子在测试Strix Point与Lunar Lake等平台的CPU时,我偶然发现本代处理器在核间延迟这一指标上的一些变化。众所周知同步与互斥是现代复杂多线程软件高度依赖的原语之一,对其进行性能优化也是多线程编程的一大难点。多核处理器在硬件层面高效率地设计并实现同步,在工程上也是一个不小的挑战。

事实上,同步延迟这一概念不仅是对于CPU,其对于GPU也是一个重要的指标。在理想世界里,GPU可以以极高的吞吐并行处理大量毫不相关的数据。但现实是随着GPU规模的不断扩大,在一部分例如Gaming的领域的GPU应用已经出现了非常严重的并行度瓶颈,小规模数据的计算之间互相依赖导致不同层级的交互延迟成为瓶颈。

与CPU核心相对应,在GPU上处于类似层级的结构是SM (NVIDIA) / CU (OpenCL | AMD GCN)等等,一些厂商如Intel和Apple也将其直接称为GPU核心。而家用GPU的SM/CU核心数量远远超过普通家用CPU (144/96 vs 24),数据中心GPU更是如此(160/304 vs 32-128),这意味着为这些处理器核心的缓存一致性互联设计也会更加具有挑战性。

本文以我手边可用的一些硬件,搭配ROCm/HIP编程环境讲解如何使用类似测试CPU的手段来测量GPU的跨核心同步延迟,并提供一些大致的数据参考。

继续阅读

(水) 2x W7900 Dual Slot 的 LLM 初步体验

早些时还在装7970X TR机器的时候我就在物色各种大显存显卡想拿来本地跑70B LLM,奈何一直没有合适又便宜的解决方案:正经的A/N计算卡或者48G VRAM的NVIDIA GPU太贵,闲鱼上便宜的数据中心拆机卡(L20等)需要折腾散热,原版W7900又是三槽卡,跟我机箱主板合不来。

相比之下新发布的W7900DS不仅可以完美适应我的需求,甚至官方标价比原版W7900还便宜500刀。因此发布后不久我就找AMD的熟人问了一些门路,在国内到货的第一时间买到了这两张售价相对比较便宜的黑色高级显卡。

继续阅读

4096的卧龙凤雏:Arc A770 16G与RX 7600对比测试

大概是一年之前,我发了一条想法:想看DG2-512EU vs Navi33

当时我还没有玩到Arc A380,Arc旗舰卡还在对标3070;RDNA3还在PPT上秀+50%能耗比,并且在传闻中相比RDNA2拥有2.5倍的性能;Ada Lovelace也还有不少人在传>2x 3090性能。而我只是单纯好奇,同样是拥有4096个FP32 ALU的两个完全不同微架构的GPU,放在一起对比会是怎样的表现。

虽然到了年底这三个说法最后都成了笑话:Arc旗舰卡一路推迟到4090发布才发售,而且沦落到性能对标3060;RDNA3的频率与功耗表现严重不及预期;Ada Lovelace以1.6倍的实际游戏性能提升成为最接近传闻的那个。

但是好奇心还是在这里,自己挖的坑还是得填,该做的测试还是要做。本文从GPU规格、理论性能与GPGPU测试、3D游戏实测、光线追踪游戏测试、上采样测试等方面来对比大半年前发布的Arc A770 16G限量版与刚发布不久的Radeon RX 7600。同时部分测试会加入上一代的W6600、RX 6950 XT和同代旗舰RX 7900 XTX进行对比。

本文所有测试GPU、测试平台均为自费购买,无利益相关。

继续阅读