已合并
fix(test): correct expected buffer size calculation in test_hccl_shared_buffer #39510
fix(test): correct expected buffer size calculation in test_hccl_shared_buffer #39510
已合并
limuan创建于 6月29日
1 个文件变更+3-3
@@ -313,7 +313,7 @@ class HcclSharedBufferTest(TestCase):
313 _, _, mem_after = cls.get_memory_info()313 _, _, mem_after = cls.get_memory_info()
314 diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024314 diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024
315 num_different_buffer_group += 1315 num_different_buffer_group += 1
316- expected = buffer_size * num_different_buffer_group + tol316+ expected = (buffer_size + tol) * num_different_buffer_group
317 mem_diff["pg1"] = [diff, expected]317 mem_diff["pg1"] = [diff, expected]
318 318 
319 # create pg2 with the same buffer319 # create pg2 with the same buffer
@@ -325,7 +325,7 @@ class HcclSharedBufferTest(TestCase):
325 # get pg2 mem info325 # get pg2 mem info
326 _, _, mem_after = cls.get_memory_info()326 _, _, mem_after = cls.get_memory_info()
327 diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024327 diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024
328- expected = buffer_size * num_different_buffer_group + tol328+ expected = (buffer_size + tol) * num_different_buffer_group
329 mem_diff["pg2"] = [diff, expected]329 mem_diff["pg2"] = [diff, expected]
330 330 
331 # create pg3 with a different buffer331 # create pg3 with a different buffer
@@ -338,7 +338,7 @@ class HcclSharedBufferTest(TestCase):
338 _, _, mem_after = cls.get_memory_info()338 _, _, mem_after = cls.get_memory_info()
339 diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024339 diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024
340 num_different_buffer_group += 1340 num_different_buffer_group += 1
341- expected = buffer_size * num_different_buffer_group + tol341+ expected = (buffer_size + tol) * num_different_buffer_group
atomgit-bot
atomgit-botatomgit-bot6月29日

🟡 Medium Priority

该 PR 将 _test_buffer_memory 方法中的 expected 计算公式从 buffer_size * num_different_buffer_group + tol 修改为 (buffer_size + tol) * num_different_buffer_group(共 3 处:第 316、328、341 行),但未同步更新同文件中的另一个方法 _test_buffer_memory_with_deleted_pg(第 395、407、426 行),该方法仍使用旧公式。

这两个方法测试的是相同的 HCCL shared buffer 内存行为,且在 test_memcheck(第 452–455 行)中被顺序调用。公式不一致意味着:

无论哪种公式是正确的,两个方法应当使用一致的公式,否则后续维护者容易在复制代码时引入错误。

建议:将 _test_buffer_memory_with_deleted_pg 方法中的三处 expected = buffer_size * num_different_buffer_group + tol(第 395、407、426 行)同步更新为 expected = (buffer_size + tol) * num_different_buffer_group,与 _test_buffer_memory 保持一致;或者评审确认新公式是否正确,如果旧公式才是正确的则回退本次修改。

likedislike
不准确?
limuan
limuan
6月30日 评论:
342 mem_diff["pg3"] = [diff, expected]342 mem_diff["pg3"] = [diff, expected]
343 torch_npu.npu.synchronize()343 torch_npu.npu.synchronize()
344 344