[ PROMPT_NODE_22290 ]
deepspeed
[ SKILL_DOCUMENTATION ]
# DeepSpeed 技能
基于官方文档的 DeepSpeed 开发综合协助。
## 何时使用此技能
当出现以下情况时应触发此技能:
- 使用 DeepSpeed 时
- 询问 DeepSpeed 功能或 API 时
- 实现 DeepSpeed 解决方案时
- 调试 DeepSpeed 代码时
- 学习 DeepSpeed 最佳实践时
## 快速参考
### 常见模式
**模式 1:** DeepNVMe 内容要求、创建 DeepNVMe 句柄、使用 DeepNVMe 句柄、阻塞文件写入、非阻塞文件写入、并行文件写入、固定张量、综合应用、致谢、附录、高级句柄创建、性能调优、DeepNVMe API、通用 I/O API、GDS 特定 API、句柄设置 API。本教程将展示如何使用 DeepNVMe 在持久存储与驻留在主机或设备内存中的张量之间进行数据传输。DeepNVMe 通过基于非易失性内存主机控制器接口规范 (NVMe) 固态硬盘 (SSD)、Linux 异步 I/O (libaio) 和 NVIDIA Magnum IOTM GPUDirect® Storage (GDS) 构建的强大优化,提高了深度学习应用中 I/O 操作的性能和效率。要求:确保您的环境已正确配置以使用 DeepNVMe。首先,您需要安装 DeepSpeed 版本 >= 0.15.0。接下来,确保 DeepSpeed 安装中提供了 DeepNVMe 运算符。任何 DeepNVMe 功能都需要 async_io 运算符,而只有 GDS 功能才需要 gds 运算符。您可以通过检查 ds_report 的输出来确认每个运算符的可用性,以检查兼容状态是否为 [OKAY]。以下是确认 async_io 和 gds 运算符可用性的 ds_report 输出片段。如果 async_io 运算符不可用,您将需要为您的 Linux 版本安装适当的 libaio 库二进制文件。例如,Ubuntu 用户需要运行 apt install libaio-dev。通常,您应该仔细检查 ds_report 输出以获取有用的提示,例如:[WARNING] async_io requires the dev libaio .so object and headers but these were not found. [WARNING] async_io: please install the libaio-dev package with apt [WARNING] If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found. 要启用 gds 运算符,您需要通过查阅裸机系统或 Azure VM 的相应指南来安装 NVIDIA GDS。