You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何支持RDMA的GPUDirect功能?

可以使用CUDA API中提供的函数实现RDMA的GPUDirect功能。具体实现代码如下:

// 创建内存区域
float* dev_ptr;
cudaMalloc((void**)&dev_ptr, sizeof(float) * num_elems);

// 获取所有设备的GPU ID
int num_gpus;
cudaGetDeviceCount(&num_gpus);

// 创建GPU Device指针
cudaIpcMemHandle_t ipc_handles[num_gpus];
cudaMemGetInfo(&free_mem, &total_mem);
curr_gpu_mem = free_mem;

// 分配设备内存
for (int i = 0; i < num_gpus; i++) {
    cudaSetDevice(i);
    cudaMalloc(&dev_ptrs[i], allocate_size);
    cudaIpcGetMemHandle(&ipc_handles[i], dev_ptrs[i]);
}

// 将GPU Device指针的IPC句柄发送到远程机器
for (int i = 0; i < num_gpus; i++) {
    std::string ipc_handle_string(sizeof(ipc_handles[i]), '\0');
    memcpy(&ipc_handle_string[0], &ipc_handles[i], sizeof(ipc_handles[i]));
    void* ptr;
    ssize_t length = asio::read(sock, asio::buffer(&ptr, sizeof(void*)));
    assert(length == sizeof(void*));
    length = asio::write(sock, asio::buffer(ipc_handle_string));
    assert(length == ipc_handle_string.size());
}

// 从远程机器接收GPU Device指针的IPC句柄
for (int i = 0; i < num_gpus; i++) {
    std::string ipc_handle_string(sizeof(cudaIpcMemHandle_t), '\0');
    ssize_t length = asio::read(sock, asio::buffer(&ipc_handle_string[0], ipc_handle_string.size()));
    assert(length == ipc_handle_string.size());
    cudaIpcMemHandle_t ipc_handle;
    memcpy(&ipc_handle, &ipc_handle_string[0], sizeof(ipc_handle));
    cudaSetDevice(i);

    // 通过IPC句柄打开内存
    cudaIpcOpenMemHandle((void**)&peer_dev_ptrs[i], ipc_handle, cudaIpcMemLazyEnablePeerAccess);
}
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

火山引擎大规模机器学习平台架构设计与应用实践

如何应以上这些挑战的呢?#### 专为 AI 优化的高性能计算集群大型模型的训练需要具备高性能与高可用性的计算集群支撑。因此我们搭建了火山引擎 AI 异构计算平台,提供面向 AI 场景优化的超算集群。- **超大算力池:** 搭载英伟达 Tesla A100 80GB/A30/V100/T4;2TB CPU Mem;单一集群 2000+ GPU 卡,提供 1 EFLOPS 算力。 - **超强网络性能:** 机内 600GBps 双向 NVLink 通道,800Gbps RDMA 网络高速互联,支持 GPU Direct Acc...

火山引擎大规模机器学习平台架构设计与应用实践

如何应以上这些挑战的呢?**专为 AI 优化的高性能计算集群**大型模型的训练需要具备高性能与高可用性的计算集群支撑。因此我们搭建了火山引擎 AI 异构计算平台,提供面向 AI 场景优化的超算集群。* **超大算力池**:搭载英伟达 Tesla A100 80GB/A30/V100/T4;2TB CPU Mem;单一集群 2000+ GPU 卡,提供 1 EFLOPS 算力。* **超强网络性能**:机内 600GBps 双向 NVLink 通道,800Gbps RDMA 网络高速互联,支持 GPU Direct Acces...

「跨越障碍,迈向新的征程」盘点一下2022年度我们开发团队对于云原生的技术体系的变革|社区征文

功能扩展,此版本尚且没有得到相关的修正且官方不支持修复,只能使用新版本了!2. **【安全问题,以及workaround的问题较多】** 其实新版本与旧版本区别主要在于应用了社区中经过cherrypick挑选出来的PR以及修复了安... DirectMemorySize的控制。以及定时执行System.gc()。![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d0fa7ea732fe495a8b3c13206105282f~tplv-k3u1fbpfcp-zoom-1.image)#### K8s探测Java进程与堆内存不...

ByteFUSE的演进与落地

自动将来自该Client的请求Redirect到新的活着的Proxy,该机制对客户端是完全透明的。但是使用TTGW具有以下缺点:- **无法支持大吞吐场景;** 用户的吞吐不仅受限于TTGW集群本身吞吐的限制,而且受限于NFS协议单次读... 功能扩展以及性能优化都会变得非常方便。用户使用ByteFUSE和NFS两种协议访问ByteNAS的流程如下图所示:![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/c70970757850478a94e8...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

如何支持RDMA的GPUDirect功能? -优选内容

通过 RDMA 网络加速训练
RDMA(Remote Direct Memory Access)是新一代的网络传输技术,其诞生主要是为了解决网络传输中服务器端数据处理的延迟。在大规模的分布式训练任务中通过使用 RDMA 技术可以获得高吞吐、低延迟的网络通信,提升训练效率。本文将介绍如何在机器学习平台上基于 RDMA 高性能 GPU 实例进行分布式训练。 相关概念 实例规格 NCCL 使用前提 拥有 >= 1 个专有资源组的使用权限。 队列中包含至少 2 台支持 RDMA 高性能 GPU 实例。 参考验证...
VKE 集群中使用 RDMA 资源
本文为您介绍 VKE 集群如何使用 RDMA 资源。 说明 【邀测·申请试用】:VKE 集群中使用 RDMA 资源 与其依赖的 kubelet 自定义参数 功能均处于邀测阶段,如需使用,请提交申请。 背景信息RDMA (Remote Direct Memroy ... shared-multi 模式不建议与 GPU 一起使用。 RDMA 设备仅支持在 VPC-CNI 容器网络模型场景中使用,且集群网络组件vpc-cni要求使用 v1.7.1 及以上版本。 集群 Kubernetes 版本要求 v1.24.15-vke.12 及以上的 1.2...
HPC-基于LLaMA的RDMA配置指南
本文以Ubuntu 20.04的hpcpni2实例为例,介绍在LLaMA多机训练时如何配置RDMA网络,充分发挥GPU算力和RDMA高速网络性能。 背景信息LLaMA(Large Language Model Meta AI )是Meta于2023年2月推出的大型语言模型系统(Large Language Model, LLM),目前提供有70亿、130亿、330亿和650亿四种参数规模,且仅使用完全公开的数据集进行训练,其训练原理是将一系列单词作为“输入”并预测下一个单词以递归生成文本,旨在帮助研究人员推进研究工作。...
RDMA网络监控(hpcpni2)
创建 高性能计算GPU型hpcpni2 实例后,您可在实例内部手动安装RDMA网络观测性增强插件,用于监控RDMA网络的健康状况。 操作场景使用公共镜像创建的未开启“RDMA网络观测性增强”的 高性能计算GPU型hpcpni2 实例。“R... rdma_monitor.sh)" 查看安装结果。反馈如下信息则安装成功,等待3-5分钟后插件即可正常采集监控数据。 rdma-monitor installed rdma-monitor.service start 卸载RDMA网络增强如果您不再需要RDMA网络观测性增强功能,...

如何支持RDMA的GPUDirect功能? -相关内容

RDMA 网络监控

容器服务支持通过组件使用 RDMA 资源,以消除传统网络通信带给计算任务的瓶颈。同时,支持RDMA 网络进行监控。本文为您介绍如何配置和查看 RDMA 网络的监控信息。 说明 【邀测·申请试用】:该功能目前处于 邀测 阶段,如需使用,请提交申请。 使用限制仅支持 NVIDIA GPU 模式下,采集节点和 Pod 的 RDMA 指标。不支持 mGPU 模式。 共享(shared)模式下,仅上报节点的 RDMA 指标。 独占(exclusive)模式下,仅上报 Pod 的 RDMA 指标。 ...

高性能计算GPU型实例监控新增RDMA相关指标

高性能计算GPU型实例监控新增RDMA相关指标,您可以直接通过云监控服务实时监控RDMA CNP、ECN和QP等相关指标数据,通过自定义指标阈值和告警通知,能够及时知晓高性能计算实例规格中RDMA网卡CNP、ECN和QP等指标超出阈值的情况,及时发现异常指标,确保业务的稳定运行。 可以参考以下内容配置高性能计算GPU型实例的监控告警能力: 高性能计算GPU实例监控指标 配置告警策略 应用场景业务使用高性能计算GPU型实例,希望实时监控RDMA网络情...

高性能计算GPU型实例监控新增RDMA指标

在使用高性能计算GPU型实例进行多机训练时,用户希望能对RDMA性能进行实时监控,并根据相关指标判断网络状态。 本次高性能计算GPU型实例监控新增RDMA相关6个指标,您可以直接通过云监控服务实时监控RDMA网络接收/发送包数量、RDMA网络入/出方向暂停包数量和RDMA网络入/出方向流量暂停时间,如果发现业务运行速度变慢可参考此指标分析是否存在网络拥塞。 说明:此指标和模型算法、网络配置等多种因素有关,建议仅作为观测指标辅助业务分...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

RDMA 拓扑感知调度

本文主要介绍使用 RDMA 拓扑感知调度的方法以及使用限制等。 说明 【邀测·申请试用】:该功能目前处于邀测阶段,如需使用,请提交申请。 背景信息在大模型训练等 AI 场景中,经常会出现一个 Job 中的多个 Pod 并行执行训练任务的情况,这些 Pod 在运行过程中需要频繁地相互交换参数、梯度值等数据。为了保障网络通讯开销不成为训练任务的性能瓶颈,通常使用 RDMA 网络在 GPU 之间直接传输数据。而在数据中心当中,一台交换机可以连接的...

高性能计算GPU

概述高性能计算GPU型规格在原有GPU型规格的基础上,加入RDMA网络,可大幅提升网络性能,提高大规模集群加速比,适用于高性能计算、人工智能、机器学习等业务场景。 说明 您可以在价格计算器页面,查看实例的价格及其配置项(系统盘、数据盘、公网IP等)费用。价格计算器为参考价格,具体请以云服务器控制台实际下单结果为准。 高性能计算GPU型实例不支持变更实例规格。 高性能计算GPU型规格提供的显卡特点如下: 规格名称 显卡类型 特点 ...

高性能计算GPU

概述高性能计算GPU型规格在原有GPU型规格的基础上,加入RDMA网络,可大幅提升网络性能,提高大规模集群加速比,适用于高性能计算、人工智能、机器学习等业务场景。 说明 您可以在价格计算器页面,查看实例的价格及其配置项(系统盘、数据盘、公网IP等)费用。价格计算器为参考价格,具体请以云服务器控制台实际下单结果为准。 高性能计算GPU型实例不支持变更实例规格。 规格名称 显卡类型 特点 高性能计算GPU型ebmhpcpni2l A800 搭载NV...

查看实例GPU/RDMA监控数据

针对GPU云服务器,火山引擎为您提供了其特有的GPU监控及RDMA监控,可帮助您快速了解实例显卡、RDMA网络信息。 使用说明暂仅支持GPU云服务器使用,规格详情可查看异构计算。 您还可根据创建告警策略指引,配置GPU卡、RDMA卡指标数据异常告警。说明 “告警对象”请选择“弹性计算 > 云服务器”。 “维度”请选择“GPU卡”或“RDMA卡”。 操作步骤登录云服务器控制台。 在顶部导航栏选择目标实例所属的项目和地域。 在左侧导航树,选择...

购买高性能计算GPU型实例

当前默认RDMA设备IP地址为固定的198.x.x.x/33.x.x.x网段,您可以使用该网段在多个具有RDMA网卡的高性能GPU实例之间进行RDMA网络通信。 RDMA网卡和GPU实例绑定后,不支持挂载、卸载RDMA网卡。 RDMA网卡和VPC网络之间... 参考RDMA网络监控手动安装插件。 请不要在插件安装过程中停止或重启实例,导致安装失败,实例重新启动后不再继续安装。 若您使用开启了“RDMA网络观测性增强”功能的hpcpni2实例创建自定义镜像,则该镜像中包含RDMA监...

HPC-单机&多机点对点RDMA网络性能测试

本文以Ubuntu 20.04的ecs.hpcpni2.28xlarge实例为例,介绍如何使用InfiniBand在单台实例内或两台实例间测试RDMA网络性能。 背景信息HPC实例是在原有GPU实例的基础上,加入了RDMA网络,可大幅提升网络性能,提高大规模集群加速比,适用于高性能计算、人工智能、机器学习等业务场景。 InfiniBand是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。 检查RDMA网卡速率登录Linu...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询