英伟达的GDS,即GPUDirect Storage,是英伟达开发的一种技术,它允许GPU直接访问存储设备,从而显著提高数据传输效率和性能。
以下是对英伟达GDS的详细介绍:
一、GDS技术的主要特点和优势
- 直接内存存取:GDS通过DMA引擎将数据直接从硬盘写入GPU显存,避免了传统方式中由CPU控制的数据传输和内存中的回弹缓存(Bounce Buffer)使用。
- 降低I/O延迟:由于减少了数据传输的中间环节,GDS显著降低了I/O延迟。
- 增加带宽:GDS提高了数据带宽,使得更多数据可以更快地传输到GPU。
- 减轻CPU负担:传统的数据传输方式中,CPU需要参与数据的拷贝和传输过程,而GDS则使CPU从这一任务中解脱出来,从而减轻了CPU的负担。
二、GDS技术的应用和收益
- 支持大规模计算集群:对于需要处理大规模数据集的计算集群来说,GDS技术能够更有效地满足其对存储系统的数据访问需求。
- 提升AI和数据科学工作性能:随着人工智能和高性能运算的数据集规模不断增加,GDS技术为这类应用提供了更高的数据传输效率和更低的延迟。
- 支持远程存储设备访问:由于高速RDMA网络的普及,GDS可以高效地直接访问远端存储设备,如NVMe的target方案和一些企业级分布式存储产品。
三、GDS技术的实现方式
英伟达提供了cuFile API来支持GDS功能。这套API为CUDA应用程序提供了对本地或分布式文件和块存储的性能访问。通过使用cuFile API,开发者可以更加容易地实现GPU与存储之间的直接通道,从而提高应用程序的性能。
四、总结
英伟达的GDS技术通过实现GPU与存储之间的直接内存存取方式,显著提高了数据传输效率和性能。对于需要处理大量数据的应用来说,GDS技术无疑是一个重要的提升性能的工具。
五、参考文献
1.焱融科技率先支持 NVIDIA GPUDirect Storage(GDS)充分
2.NVIDIA Magnum IO GPUDirect 存储概览指南
3.数据仓库服务关于GDS并行导出-数据仓库服务开发指南
4.安装gds_nvidia如何使用gds-CSDN博客