news 2026/10/20 2:19:44

PyTorch 高配CPU跑深度学习反而更慢(线程爆炸)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyTorch 高配CPU跑深度学习反而更慢(线程爆炸)

PyTorch 高配CPU跑深度学习反而更慢(线程爆炸)

在Pytorch中,默认的算子内并行线程数(torch.set_num_threads)是根据系统的物理核心数而非超线程后的逻辑核心数来设置的。例如64个物理核心的CPU,PyTorch默认的算子内并行线程数就是64。

现象

同一个数据集、同一个算法在除了CPU物理核心数之外无差异的两台机器上训练或者推理时,64核机器比4核机器要慢了十倍以上。

4核64核
训练耗时150s3600s

问题原因

“高配CPU跑深度学习反而更慢”,这种现象在行业内被称为“超额订阅或线程爆炸”。

在核心数很多的处理器(如64核、128核的服务器级的CPU)上,如果不对PyTorch线程进行手动限制,主要会因为以下两个致命原因导致性能暴跌:

  1. 线程上下文切换开销(Context Switching )
    当PyTorch 默认启动64或128个线程去处理一个矩阵运算时,操作系统需要不断地在这些线程之间切换,分配CPU时间片。

结果:CPU的大量算力并没有用来算模型,而是全部浪费在了“管理和切换这些线程”的内部消耗上。核心越多,这种所谓的内耗就呈指数级上升。

  1. 内存带宽与缓存瓶颈(Cache Thrashing )
    深度学习是极其消耗内存带宽的。当几百个线程同时试图从CPU的三级缓存(L3 Cache)或系统内存中读取权重和张量时,会导致严重的内存通道拥堵。

结果:线程都在“排队”等待数据跑,CPU核心大部分时间在原地“踏步”(CPU Stalling),导致实际计算效率反而不如只有4核或8核的普通处理器。

特别要注意,如果是部署在k8s上的服务,即使在deployment限制了CPU数为4核心,在Pod里面获取到的CPU数量仍然是节点主机的CPU数量64核。

解决方法

importtorch torch.set_num_threads(2)torch.set_num_interop_threads(1)

注意:在导入torch之后立即进行设置,否则后续设置可能会不生效。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 2:18:43

腾讯下场,推出股票分析智能体

最近一周AI科技圈又发生了啥新鲜事? Manifold AI推出WorldScape RSI机器人自我改进框架 通过内外两层智能体协作,WorldScape RSI将任务执行、经验复盘、技能修订与动作模型训练连接起来,并在RoboDojo机器人学习基准的Agent赛道登顶。内层根据…

作者头像 李华
网站建设 2026/10/20 2:18:07

PS教程初中高158节:图层蒙版+通道抠图+人像精修+3D文字全套

资源概览 这套Photoshop教程资源是一套结构清晰的系统性学习材料,按照初级、中级、高级三个阶段进行划分,共计158个mp4格式的教学视频,并附带了完整的配套素材文件。无论你是刚接触图像的初学者,还是需要提升技能的设计爱好者&am…

作者头像 李华
网站建设 2026/10/20 2:17:24

2026昌吉软件检测第三方公司排行榜TOP5:软件检测+功能性能测试+信息安全测评+软件验收报告 机构地址及联系方式推荐

昌吉市软件检测机构林立如云,良莠不齐之势显而易见。为助本地开发者、政务单位及中小企客户拨云见日、择善而从,小编历时三周实地踏勘,走访二十余处办公点位,核查资质原件、比对检测案例、暗访服务流程,最终甄选出五家…

作者头像 李华
网站建设 2026/10/20 2:17:05

JSONP协议误用导致的数据泄露原理与治理方案

1. 这不是“劫持”,而是一场被遗忘的协议误用事故“JSONP劫持”这个词在安全圈里流传多年,但说实话,我第一次在某次红队复盘会上听到它时,心里咯噔一下——不是因为多高深,而是因为它背后藏着一个典型的“技术债陷阱”…

作者头像 李华