CXL漫谈--为什么需要CXL

本文探讨了GPU和CPU之间的数据交互问题,指出CXL(Compute Express Link)通过改进PCIe协议,提供了更高效的数据传输路径,减少了中间过程,尤其在AI和FPGA等场景下提升性能。CXL主要在Transaction Layer和Link Layer进行调整,保留并扩展了PCIe功能,以实现设备间内存一致性与高速通信。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

信息来进行后续的技术说明。博主现在是在牙膏厂里,部分技术和细节不方便讨论,仅就公开资料和网上可以获取的

回到我们问题上来,为什么是CXL。

1. GPU和CPU 数据交互

简单例子,我们只关心GPU和CPU之间的数据交互是什么样的。

这里可以看到:

CPU有多个core, 这里举例两个;

Core和Cache连接起来, ring形状的内部总线是传统连接的一种方式,现在有更多的方式,比如Mesh总线连接。

CPU 处理结束数据,数据从CPU->Cach->Memory,如果数据要送给插在PCIe卡槽上的GPU处理,可能还需要送到Nvmem或者其它的Storage.

然后通过PCIe的通道,送到GPU里面,GPU 内部会把数据送到GPU-memory 里,然后送到GPU-DATA Cache. GPU的计算UNIT 会获取到数据,送给不同的Thread去计算处理。

这里看到了吗,如果CPU 处理好的数据暂存在CPU-Cache里,如果能直接通过PCIe或者送到其它通道,送到GPU-Cache,是不是省去了很多中间过程。

或者多点中间处理过程,CPU-Memory 数据直接通过PCIe送到GPU-Memory呢?

传统处理上可能不需要这样的快速通道,但是AI, FPGA 等外围Device和CPU 之间频繁交互最新数据,性能要求就很高了。

那么可以做到我们假设的情况吗?涉及到MEMORY 管理怎么办,设计到CPU 对应的Cache的一致性怎么办。

好了,Intel 大手一挥,简单啊,我来定些语法吧,只要你们GPU 等Device遵守,就能做到MEMORY 统一处理,Cache 和CPU 保持一致性。而且定义的

Cache 是最简化的公开的MESI 一致性要求哦,实现起来很简单

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值