标签归档:GPU

测量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的熟人问了一些门路,在国内到货的第一时间买到了这两张售价相对比较便宜的黑色高级显卡。

继续阅读