From ddf3817924e2f06b7f191e5b748cfe72a7aa18ae Mon Sep 17 00:00:00 2001 From: Hanming Lu <69857889+hanming-lu@users.noreply.github.com> Date: Wed, 20 May 2026 18:49:01 -0700 Subject: [PATCH] =?UTF-8?q?Revert=20"[AMD]fix:=20use=20CUDA=20event=20for?= =?UTF-8?q?=20targeted=20draft-to-verify=20sync=20in=E2=80=A6=20(#25917)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- python/sglang/srt/speculative/eagle_worker_v2.py | 13 ------------- .../srt/speculative/multi_layer_eagle_worker_v2.py | 8 -------- 2 files changed, 21 deletions(-) diff --git a/python/sglang/srt/speculative/eagle_worker_v2.py b/python/sglang/srt/speculative/eagle_worker_v2.py index cbb73b231..57ac6d078 100644 --- a/python/sglang/srt/speculative/eagle_worker_v2.py +++ b/python/sglang/srt/speculative/eagle_worker_v2.py @@ -807,13 +807,6 @@ class EAGLEWorkerV2(BaseSpecWorker): ): verify_input: EagleVerifyInput = self.draft_worker.draft(batch) assert verify_input.is_verify_input() - # Record a CUDA event after draft() GPU work is dispatched. - # This event will be waited on by plan_stream in verify() - # to ensure draft CUDA graph kernels finish before plan_stream - # begins metadata preparation. - if self.plan_stream: - self._draft_done_event = torch.get_device_module(self.device).Event() - self._draft_done_event.record() batch.spec_info = verify_input batch_output = self.verify(batch) with ( @@ -979,12 +972,6 @@ class EAGLEWorkerV2(BaseSpecWorker): # Batch 1: Target verify # Prepare for target verify in a separate stream with self.plan_stream_ctx: - # Wait for the draft CUDA graph to finish before plan_stream - # begins its work. Using an event is more targeted than - # wait_stream(main_stream) — it only waits for draft GPU - # work, not all queued main_stream operations. - if self.plan_stream and hasattr(self, "_draft_done_event"): - self.plan_stream.wait_event(self._draft_done_event) verify_forward_batch, can_run_cuda_graph = ( verify_input.prepare_for_v2_verify( self.req_to_token_pool, diff --git a/python/sglang/srt/speculative/multi_layer_eagle_worker_v2.py b/python/sglang/srt/speculative/multi_layer_eagle_worker_v2.py index abb95a2fa..cb341318a 100644 --- a/python/sglang/srt/speculative/multi_layer_eagle_worker_v2.py +++ b/python/sglang/srt/speculative/multi_layer_eagle_worker_v2.py @@ -704,10 +704,6 @@ class MultiLayerEagleWorkerV2(BaseSpecWorker): ) verify_input: EagleVerifyInput = self.draft_worker.draft(batch) assert verify_input.is_verify_input() - # Record a CUDA event after draft() GPU work is dispatched. - if self.plan_stream: - self._draft_done_event = torch.get_device_module(self.device).Event() - self._draft_done_event.record() batch.spec_info = verify_input batch_output = self.verify(batch) self.draft_worker._draft_extend_for_decode(batch, batch_output) @@ -726,10 +722,6 @@ class MultiLayerEagleWorkerV2(BaseSpecWorker): # Batch 1: Target verify # Prepare for target verify in a separate stream with self.plan_stream_ctx: - # Wait for the draft CUDA graph to finish before plan_stream - # begins its work. - if self.plan_stream and hasattr(self, "_draft_done_event"): - self.plan_stream.wait_event(self._draft_done_event) verify_forward_batch, can_run_cuda_graph = ( verify_input.prepare_for_v2_verify( self.req_to_token_pool,