[GH-ISSUE #1147] [Bug] 在双路6530+1TB DRAM上启用NUMA支持时发生OOM #796

Closed
opened 2026-10-29 14:44:37 +00:00 by bsakaguchi · 4 comments
Owner

Originally created by @alkalimc on GitHub (Apr 15, 2025).
Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/1147

Originally assigned to: @Atream on GitHub.

检查清单

  • 1. 我已经搜索过相关问题,但未能获得预期的帮助
  • 2. 该问题在最新版本中尚未修复
  • 3. 请注意,如果您提交的BUG相关 issue 缺少对应环境信息和最小可复现示例,我们将难以复现和定位问题,降低获得反馈的可能性
  • 4. 如果您提出的不是bug而是问题,请在讨论区发起讨论 https://github.com/kvcache-ai/ktransformers/discussions。否则该 issue 将被关闭
  • 5. 为方便社区交流,我将使用中文/英文或附上中文/英文翻译(如使用其他语言)。未附带翻译的非中文/英语内容可能会被关闭

问题描述

共有1TB内存,启用NUMA支持后会在DeepSeek权重加载到大约32层时导致OOM,不启用NUMA支持的时则正常占用约375GB内存

复现步骤

numactl显示该设备被配置为4个NUMA nodes,但在bios没有SNC设置选项时我不确定如何修正这一问题。

环境信息

我使用ThinkStation PX,该设备包含双路6530和16根共1TB的DDR5 4800MT内存,配合RTX4090开展测试。

Originally created by @alkalimc on GitHub (Apr 15, 2025). Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/1147 Originally assigned to: @Atream on GitHub. ### 检查清单 - [x] 1. 我已经搜索过相关问题,但未能获得预期的帮助 - [x] 2. 该问题在最新版本中尚未修复 - [x] 3. 请注意,如果您提交的BUG相关 issue 缺少对应环境信息和最小可复现示例,我们将难以复现和定位问题,降低获得反馈的可能性 - [x] 4. 如果您提出的不是bug而是问题,请在讨论区发起讨论 https://github.com/kvcache-ai/ktransformers/discussions。否则该 issue 将被关闭 - [x] 5. 为方便社区交流,我将使用中文/英文或附上中文/英文翻译(如使用其他语言)。未附带翻译的非中文/英语内容可能会被关闭 ### 问题描述 共有1TB内存,启用NUMA支持后会在DeepSeek权重加载到大约32层时导致OOM,不启用NUMA支持的时则正常占用约375GB内存 ### 复现步骤 numactl显示该设备被配置为4个NUMA nodes,但在bios没有SNC设置选项时我不确定如何修正这一问题。 ### 环境信息 我使用ThinkStation PX,该设备包含双路6530和16根共1TB的DDR5 4800MT内存,配合RTX4090开展测试。
Author
Owner

@yeungtuzi commented on GitHub (Apr 16, 2025):

Image

按照这个die shot和相关技术资料,每个6530处理器里面确实包括两个相对独立的tile,Each tile has 2 memory controllers supporting DDR5 DIMMs with up to 5600 MT/s speeds, three PCIe controllers (6 total), 2 UPI (4 total)
因此,双路系统在跑虚拟机或者云计算的情况下,设置为4 numa能让应用专注本地内存访问,提高总体性能。
建议您找一下BIOS跟上述任务相关的设置,看能否将其设置为单NUMA(使用内存交错)。
不知道开发组什么时候实现多numa只使用一份内存,也就是实现CPU的tensor parallel,这样能大幅降低跨tile访问内存的性能损失。

<!-- gh-comment-id:2807957284 --> @yeungtuzi commented on GitHub (Apr 16, 2025): ![Image](https://github.com/user-attachments/assets/5aa5a25f-9376-4d82-b500-423382dcaabd) 按照这个die shot和相关技术资料,每个6530处理器里面确实包括两个相对独立的tile,Each tile has 2 memory controllers supporting DDR5 DIMMs with up to 5600 MT/s speeds, three PCIe controllers (6 total), 2 UPI (4 total) 因此,双路系统在跑虚拟机或者云计算的情况下,设置为4 numa能让应用专注本地内存访问,提高总体性能。 建议您找一下BIOS跟上述任务相关的设置,看能否将其设置为单NUMA(使用内存交错)。 不知道开发组什么时候实现多numa只使用一份内存,也就是实现CPU的tensor parallel,这样能大幅降低跨tile访问内存的性能损失。
Author
Owner

@alkalimc commented on GitHub (Apr 16, 2025):

能否手动指定某份权重副本运行在某几个numa节点上呢,如果可行的话则可以使这个框架在该环境下按预期运行

<!-- gh-comment-id:2808290219 --> @alkalimc commented on GitHub (Apr 16, 2025): 能否手动指定某份权重副本运行在某几个numa节点上呢,如果可行的话则可以使这个框架在该环境下按预期运行
Author
Owner

@yeungtuzi commented on GitHub (Apr 16, 2025):

可以使用numactl设置,不过这样的话CPU可能无法充分发挥

<!-- gh-comment-id:2809447425 --> @yeungtuzi commented on GitHub (Apr 16, 2025): 可以使用numactl设置,不过这样的话CPU可能无法充分发挥
Author
Owner

@Atream commented on GitHub (Apr 29, 2025):

开启NUMA会导致NUMA个数倍的内存占用,bios中可以修改相关设置,让每个socket对应一个NUMA,能减少内存占用
CPU上的TP可以避免成倍的内存消耗,但需要晚一段时间才能发布。

<!-- gh-comment-id:2837334645 --> @Atream commented on GitHub (Apr 29, 2025): 开启NUMA会导致NUMA个数倍的内存占用,bios中可以修改相关设置,让每个socket对应一个NUMA,能减少内存占用 CPU上的TP可以避免成倍的内存消耗,但需要晚一段时间才能发布。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/ktransformers#796
No description provided.