[NPU][Bugfix] Disable pinned memory to fix DeepSeek-V2 DP-attention hang (#39423)
This commit is contained in:
@@ -56,9 +56,7 @@ class NPUDeviceMixin(DeviceMixin):
|
|||||||
return torch.npu.mem_get_info(device_id)
|
return torch.npu.mem_get_info(device_id)
|
||||||
|
|
||||||
def is_pin_memory_available(self, device=None) -> bool:
|
def is_pin_memory_available(self, device=None) -> bool:
|
||||||
if device is not None and str(device) == "cpu":
|
return False
|
||||||
return False
|
|
||||||
return True
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def seed_everything(cls, seed: int | None = None) -> None:
|
def seed_everything(cls, seed: int | None = None) -> None:
|
||||||
|
|||||||
@@ -381,10 +381,13 @@ class TestNpuDeviceMixin(CustomTestCase):
|
|||||||
mock_npu.synchronize.assert_called_once()
|
mock_npu.synchronize.assert_called_once()
|
||||||
|
|
||||||
def test_pin_memory_available_for_npu_targets(self):
|
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()
|
base = NPUSRTPlatform()
|
||||||
self.assertTrue(base.is_pin_memory_available())
|
self.assertFalse(base.is_pin_memory_available())
|
||||||
self.assertTrue(base.is_pin_memory_available(device="npu"))
|
self.assertFalse(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(device=torch.device("npu", 0)))
|
||||||
self.assertFalse(base.is_pin_memory_available(device="cpu"))
|
self.assertFalse(base.is_pin_memory_available(device="cpu"))
|
||||||
self.assertFalse(base.is_pin_memory_available(device=torch.device("cpu")))
|
self.assertFalse(base.is_pin_memory_available(device=torch.device("cpu")))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user