[NPU][Bugfix] Disable pinned memory to fix DeepSeek-V2 DP-attention hang (#39423)

This commit is contained in:
iridiumine
2026-09-15 14:59:31 +08:00
committed by GitHub
parent 575163ff32
commit 8a20062652
2 changed files with 7 additions and 6 deletions
+1 -3
View File
@@ -56,9 +56,7 @@ class NPUDeviceMixin(DeviceMixin):
return torch.npu.mem_get_info(device_id)
def is_pin_memory_available(self, device=None) -> bool:
if device is not None and str(device) == "cpu":
return False
return True
return False
@classmethod
def seed_everything(cls, seed: int | None = None) -> None:
@@ -381,10 +381,13 @@ class TestNpuDeviceMixin(CustomTestCase):
mock_npu.synchronize.assert_called_once()
def test_pin_memory_available_for_npu_targets(self):
# Pinned memory stays disabled on NPU: torch_npu's pinned-memory +
# non_blocking H2D path is not verified against CANN (see
# NPUSRTPlatform.is_pin_memory_available).
base = NPUSRTPlatform()
self.assertTrue(base.is_pin_memory_available())
self.assertTrue(base.is_pin_memory_available(device="npu"))
self.assertTrue(base.is_pin_memory_available(device=torch.device("npu", 0)))
self.assertFalse(base.is_pin_memory_available())
self.assertFalse(base.is_pin_memory_available(device="npu"))
self.assertFalse(base.is_pin_memory_available(device=torch.device("npu", 0)))
self.assertFalse(base.is_pin_memory_available(device="cpu"))
self.assertFalse(base.is_pin_memory_available(device=torch.device("cpu")))