已合并
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
已合并
共 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 / 1024 | 314 | diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024 |
| 315 | num_different_buffer_group += 1 | 315 | num_different_buffer_group += 1 |
| 316 | - expected = buffer_size * num_different_buffer_group + tol | 316 | + 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 buffer | 319 | # create pg2 with the same buffer |
| @@ -325,7 +325,7 @@ class HcclSharedBufferTest(TestCase): | |||
| 325 | # get pg2 mem info | 325 | # 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 / 1024 | 327 | diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024 |
| 328 | - expected = buffer_size * num_different_buffer_group + tol | 328 | + 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 buffer | 331 | # 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 / 1024 | 339 | diff = (memory_info_before[0] - mem_after[0]) / 1024 / 1024 |
| 340 | num_different_buffer_group += 1 | 340 | num_different_buffer_group += 1 |
| 341 | - expected = buffer_size * num_different_buffer_group + tol | 341 | + expected = (buffer_size + tol) * num_different_buffer_group |
| 342 | mem_diff["pg3"] = [diff, expected] | 342 | mem_diff["pg3"] = [diff, expected] |
| 343 | torch_npu.npu.synchronize() | 343 | torch_npu.npu.synchronize() |
| 344 | 344 | ||
🟡 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保持一致;或者评审确认新公式是否正确,如果旧公式才是正确的则回退本次修改。