通过与几所大学的合作,NVIDIA和IBM创建了一个专用于GPU的新架构。
加速应用程序并提供对大量数据存储的快速“细粒度访问”。所谓的“大加速器内存”旨在扩展GPU。
内存容量,有效提升存储访问带宽,并为GPU线程提供高级抽象层,以便按需、细粒度地轻松访问扩展内存层中的海量数据结构。
传统的以CPU为中心的模型示例
显然,这项技术将惠及人工智能、分析和机器学习与训练等更多领域。作为BaM团队中的重量级选手,NVIDIA将把其广泛的资源投入到创新项目中。
比如允许NVIDIA GPU不依赖CPU直接采集数据。
执行虚拟地址转换、基于页面的按需数据加载以及内存和外部存储器的其他海量数据管理工作。
对于普通用户来说,我们只需要看到BaM的两个优点。第一,基于软件管理的GPU缓存,数据存储和显卡之间的信息传输和分发将交给GPU。
线程在核心上进行管理。
BaM允许GPU通过使用RDMA、PCI Express接口和自定义Linux内核驱动程序直接读写SSD数据。
BaM模型示例
其次,通过开放NVMe SSD的数据通信请求,BaM只会在特定数据不在软件管理的缓存区时才会让GPU。
线程准备引用执行驱动程序命令。
基于此,在图形处理器上运行的工作负载较重的算法将能够针对特定数据优化访问例程,从而实现对重要信息的高效访问。
显然,以CPU为中心的策略会导致过多的CPU-GPU同步开销(以及I/O流量放大),从而拖累细粒度的数据相关访问模式3354。
图形和数据分析、推荐系统和图形神经网络等新兴应用的存储网络带宽效率。
因此,研究人员在BaM模型的GPU内存中提供了一个基于高并发NVMe的提交/完成队列的用户级库,使得没有从软件缓存中丢失的GPU得以保存。
线程,可以高效地以高吞吐量访问存储。
BaM设计的逻辑视图
此外,该方案在每次存储访问中的软件成本极低,并且支持高并发线程。而在Linux中基于BaM设计标准的GPU NVMe SSD
在原型测试平台上进行的相关实验也取得了相当可喜的成果。
目前,作为基于CPU管理所有事务的传统解决方案的可行替代方案,研究表明存储访问可以同时工作,消除同步限制和I/O
带宽效率的显著提高也使得应用程序的性能大相径庭。
此外,领导斯坦福大学计算机科学系的英伟达首席科学家比尔戴利(Bill Dally)指出,多亏了软件缓存,BaM
独立于虚拟内存地址转换,它本质上不受序列化事件(如TLB未命中)的影响。
最后,三方将开放BaM设计的新细节,让更多的企业投入软硬件的优化,自己创造类似的设计。有趣的是,AMD,它把闪存放到了GPU之外。
镭龙固态显卡也采用了类似的功能设计理念。