[Intel GPU] xpu_piecewise: fall back to eager when PCG capture stream is unset (#30235)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Ma Mingfei <mingfei.ma@intel.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
gemini-code-assist[bot]
Ma Mingfei
parent
2b3d9ad375
commit
6bce72d968
@@ -13,6 +13,7 @@ from sglang.srt.compilation.cuda_piecewise_backend import (
|
|||||||
CUDAPiecewiseBackend,
|
CUDAPiecewiseBackend,
|
||||||
weak_ref_tensors,
|
weak_ref_tensors,
|
||||||
)
|
)
|
||||||
|
from sglang.srt.utils.common import print_warning_once
|
||||||
|
|
||||||
|
|
||||||
class XPUPiecewiseBackend(CUDAPiecewiseBackend):
|
class XPUPiecewiseBackend(CUDAPiecewiseBackend):
|
||||||
@@ -57,10 +58,22 @@ class XPUPiecewiseBackend(CUDAPiecewiseBackend):
|
|||||||
entry.num_finished_warmup += 1
|
entry.num_finished_warmup += 1
|
||||||
return entry.runnable(*args)
|
return entry.runnable(*args)
|
||||||
|
|
||||||
|
# During normal capture (PiecewiseCudaGraphRunner.capture()),
|
||||||
|
# set_pcg_capture_stream() guarantees a valid stream. However,
|
||||||
|
# Dynamo may silently recompile on serving batches whose token
|
||||||
|
# count exceeds the captured range (e.g. chunked prefill running
|
||||||
|
# at 8192 tokens when the capture grid tops out at 512). The
|
||||||
|
# recompiled backend instance has no capture stream; fall back to
|
||||||
|
# eager for that sub-graph instead of crashing the scheduler.
|
||||||
|
# Mirrors the HIP fallback in CUDAPiecewiseBackend.__call__.
|
||||||
stream = get_pcg_capture_stream()
|
stream = get_pcg_capture_stream()
|
||||||
assert (
|
if stream is None:
|
||||||
stream is not None
|
print_warning_once(
|
||||||
), "PCG capture stream is not set, please check if runtime recompilation happened"
|
"PCG capture stream is not set; likely a Dynamo runtime "
|
||||||
|
"recompilation. Falling back to eager execution for this "
|
||||||
|
"subgraph."
|
||||||
|
)
|
||||||
|
return entry.runnable(*args)
|
||||||
|
|
||||||
if self.compile_config.get_enable_debug_mode():
|
if self.compile_config.get_enable_debug_mode():
|
||||||
entry.input_addresses = [
|
entry.input_addresses = [
|
||||||
|
|||||||
Reference in New Issue
Block a user