From 5bd485c02769c149d8528fa4ff877d35584b6d96 Mon Sep 17 00:00:00 2001 From: uuuvn <83587632+uuuvn@users.noreply.github.com> Date: Thu, 3 Apr 2025 06:43:37 +0500 Subject: [PATCH] Fix double SDMA_OP_FENCE (#9705) Introduced in #9585, probably when i incorrectly resolved merge conflict while rebasing an old, mi300x-only branch. Seems to be the source of multi gpu beam llama hangs --- tinygrad/runtime/ops_amd.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tinygrad/runtime/ops_amd.py b/tinygrad/runtime/ops_amd.py index b5e38ff1d2..7650832c08 100644 --- a/tinygrad/runtime/ops_amd.py +++ b/tinygrad/runtime/ops_amd.py @@ -339,7 +339,6 @@ class AMDCopyQueue(HWQueue): def signal(self, signal:AMDSignal, value:sint=0): fence_flags = self.sdma.SDMA_PKT_FENCE_HEADER_MTYPE(3) if self.dev.gfxver >= 10 else 0 self.q(self.sdma.SDMA_OP_FENCE | fence_flags, *data64_le(signal.value_addr), value) - self.q(self.sdma.SDMA_OP_FENCE, *data64_le(signal.value_addr), value) if not AMDDevice.driverless and (dev:=signal.timeline_for_device) is not None: self.q(self.sdma.SDMA_OP_FENCE | fence_flags, *data64_le(dev.queue_event_mailbox_ptr), dev.queue_event.event_id)