【亲测免费】 NVIDIA's GDRCopy 开源项目下载与安装教程
1. 项目介绍
GDRCopy 是一个基于 NVIDIA GPUDirect RDMA 技术设计的快速GPU内存复制库,专为追求低延迟需求而生。通过利用GPUDirect RDMA的功能,该库能够创建用户空间上的GPU内存映射,让这些映射后的内存仿佛普通主机内存一样被操作(虽然存在一些注意事项)。GDRCopy的特点是极低的开销,因为它是CPU驱动的,通常情况下,cudaMemcpy可能产生约6-7微秒的开销。此外,它支持高速H到D(Host到Device)数据传输,速率可达6-8GB/s(依赖于Ivy Bridge Xeon处理器,并受NUMA效应影响),但D到H(Device到Host)相对较慢,由于GPU BAR无法预读,导致不能生成突发读取事务。
2. 项目下载位置
项目托管在GitHub上,你可以直接访问以下链接进行下载:
[GitHub - NVIDIA/gdrcopy](https://github.com/NVIDIA/gdrcopy.git)
要克隆此项目到本地,可以使用Git命令行工具执行:
git clone https://github.com/NVIDIA/gdrcopy.git
3. 项目安装环境配置
环境要求:
- 硬件: 需要NVIDIA数据中心GPU或RTX GPU(基于Kepler或更新架构)。
- 操作系统: 支持Linux x86_64, ppc64le, arm64架构,推荐RHEL8、RHEL9、Ubuntu20.04、Ubuntu22.04、SLE-15等。
- 软件: 必须有CUDA >= 6.0,GPU驱动 >= 418.40(ppc64le)或 >= 331.14(其他平台),DKMS用于动态内核模块,以及必要的编译工具链。
示例图片配置:
由于Markdown文本格式限制,无法直接插入图片,但实际操作中,你应该配置好如下的开发环境:
- 安装
dkms,build-essential,cuda等包的屏幕截图; - 确认CUDA版本和GPU驱动正确安装的终端输出示例;
手动步骤包括:
- 安装必要软件包 (
sudo apt-get install cuda dkms build-essential ...) 或在RHEL/SLES使用相应的包管理器安装。 - 确保CUDA和驱动已安装 (
nvidia-smi命令输出验证)。
4. 项目安装方式
从源代码安装
-
获取源码: 已在步骤2中完成。
-
环境设置: 根据系统类型,配置CUDA路径并准备编译环境。
-
编译与安装: 执行以下命令以编译和安装GDRCopy(替换
<install-to-this-location>和<cuda-install-top-dir>为实际路径):make prefix=<install-to-this-location> CUDA=<cuda-install-top-dir> all install -
加载模块: 使用提供的脚本加载内核模块:
sudo ./insmod.sh
通过RPM或DEB包安装
对于Red Hat系和Debian系系统,可参照项目文档构建并安装对应的RPM或DEB包。
5. 项目处理脚本
GDRCopy提供了多个测试脚本和应用程序来评估性能和正确性,例如:
- gdrcopy_sanity: 运行单元测试和基本功能验证。
- gdrcopy_copybw: 计算特定缓冲区大小的读写带宽。
- gdrcopy_copylat: 测量不同大小缓冲区的读写复制延迟。
- 更多应用可以在安装后通过运行对应的脚本进行测试。
为了运行这些脚本,你需要确保GDRCopy已经正确安装,并且系统中环境配置无误。例如,执行单元测试的命令是:
./gdrcopy_sanity
以上步骤指导你完成NVIDIA GDRCopy的下载、环境配置及安装过程。记得根据自己的操作系统和具体环境调整相应指令。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0194- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00