【快捷】通过指定CPU的分配解决A100服务器上多训练任务核心争抢导致的训练速度慢的问题

背景

最近,正赶上某一个DDL, 大家都在开足马力使用显卡疯狂跑实验,突然发现原先的实验配置在相同的4090机器上训练速度要慢2~3倍,一次实验的时长来到了9天,这有点难以接收。幸好有小伙伴帮忙搞到了一台4卡的A100资源,可以用。欣喜之余,也遇到了问题:如果我启一个任务,那么训练速度是正常的;如果在两张显卡上起分别起两个训练实验,则这两个训练实验的训练时长都会加倍,显然是两个实验出现了互相影响。也不能这么稀缺的显卡资源,每次只跑一个实验,感觉有种端着金饭碗要饿死的感觉。经过和AI的交流,4090的集群的训练问题还是无法解决;但是好在A100显卡上的实验速度恢复正常了。本文是对此次经历的一次记录。

现象描述

以每50个iteration的训练耗时来评判实验的训练速度,注意:下文中讲的实验A和B的配置可以立即为基本一致的同配置实验。

实验A和实验B:

复制代码
CUDA_VISIBLE_DEVICES=0 python tool/train.py config/a.py
CUDA_VISIBLE_DEVICES=1 python tool/train.py config/b.py
实验启动情况 训练速度
仅启动实验A或B中的一个 20s per 50 iterations
启动实验A和B 40s per 50 iteraions(分别)

解决方案

  1. 用一句话描述解决方案就是,为不同的实验手动分配指定的CPU核心,防止其互相发生抢占和切换。

    CUDA_VISIBLE_DEVICES=0 taskset -c 0-23 python tool/train.py config/a.py
    CUDA_VISIBLE_DEVICES=1 taskset -c 23-47 python tool/train.py config/b.py

  2. 如果我的实验已经跑起来了,不想将其停止下来,在训练指令中指定CPU核心。可以通过下面的指令来为你 正在 训练的任务指定CPU核心。

    -p 代表 PID,-c 代表核心列表

    taskset -cp 0-23 <老任务的PID>

  3. 如果我 已经指定cpu核心过了,但是过了一段时间我想查看之前我是如何指定的,或者不确定我是否指定了。可以通过下面的指令来查询。

    替换 为你的 python 进程号

    taskset -cp

  4. 如果你是一个追求极致的人,建议通过以下的指令,查看gpu和cpu核在本台机器上的物理硬件对应关系,最好是对应的gpu指定对应的cpu核索引(虽然我试了,不太有差异前后)

    nvidia-smi topo -m

后续

实验启动情况 训练速度
仅启动实验A或B中的一个 20s per 50 iterations
启动实验A和B 40s per 50 iteraions(分别)
启动实验A和B(指定cpu核后) 22s per iterations和24s per iterations

虽然,没有完全恢复到单个实验的那么快:20s,但是也是很知足了。有了大模型,真的好方便,其实本文中的指令也不用记忆,只要能思考 ,把自己的情形/问题能够抽象出prompt即可。另外就是在排查的时候,又看到一篇博客Making Deep Learning Go Brrrr From First Principles感觉蛮不错的,虽然还没看,是一位pytorch的核心贡献者写的,有机会可以看一看。

相关推荐
YFJ_mily3 小时前
11.10最终投稿截止|SPIC2026第四届信号处理与智能计算|连续两届EI&Scopus双检索 IEEE官方收录
人工智能·信号处理·智能计算·rdlink研发家·往届会议历史·沈阳理工大学主办·广东工业大学主办
土星云SaturnCloud3 小时前
土星云智慧服务区方案:AI视觉+边缘计算+视频存管一体化的全场景智能化落地解析
服务器·人工智能·ai·边缘计算
hsfxuebao4 小时前
Agent 可观测性基石:OpenTelemetry 学习与实践
人工智能
Python大数据分析@4 小时前
通过 MCP 实现 AI Agent自动化数据采集
运维·人工智能·爬虫·自动化
u1301304 小时前
GitHub 热榜项目:日榜(2026-10-15)
人工智能·github
商业白皮书4 小时前
人形机器人公司打算依托云端 GPU 资源扩充模型训练规模
人工智能·深度学习·机器人
hey you~4 小时前
2026年大模型语音机器人知识库导入与调优全指南:从切分到重排序的7个关键步骤
人工智能·机器人·语音识别·向量检索·rag·知识库导入·知识库调优
ch6234 小时前
《AI 辅助编程实战:从零跑通一个 Excel 报表生成脚本的踩坑与复盘》
人工智能·python
云边云科技_云网融合4 小时前
持续深化合作 | 云边云科技再次通过亚马逊云科技的能力认证
人工智能·科技
Joy T4 小时前
Agent 上线前怎么评测:从完成标准、离线测试集到 Trace 回归
人工智能·trace·eval·回归测试