Improve multi-node stability (#1171)
This commit is contained in:
@@ -84,13 +84,20 @@ def set_torch_compile_config():
|
||||
|
||||
|
||||
class CudaGraphRunner:
|
||||
def __init__(self, model_runner, max_batch_size_to_capture, use_torch_compile):
|
||||
def __init__(
|
||||
self,
|
||||
model_runner,
|
||||
max_batch_size_to_capture: int,
|
||||
use_torch_compile: bool,
|
||||
disable_padding: bool,
|
||||
):
|
||||
self.model_runner = model_runner
|
||||
self.graphs = {}
|
||||
self.input_buffers = {}
|
||||
self.output_buffers = {}
|
||||
self.flashinfer_handlers = {}
|
||||
self.graph_memory_pool = None
|
||||
self.disable_padding = disable_padding
|
||||
|
||||
# Common inputs
|
||||
self.max_bs = max_batch_size_to_capture
|
||||
@@ -142,7 +149,10 @@ class CudaGraphRunner:
|
||||
set_torch_compile_config()
|
||||
|
||||
def can_run(self, batch_size):
|
||||
return batch_size <= self.max_bs
|
||||
if self.disable_padding:
|
||||
return batch_size in self.graphs
|
||||
else:
|
||||
return batch_size <= self.max_bs
|
||||
|
||||
def capture(self, batch_size_list):
|
||||
self.batch_size_list = batch_size_list
|
||||
|
||||
@@ -465,6 +465,7 @@ class ModelRunner:
|
||||
self,
|
||||
max_batch_size_to_capture=max(batch_size_list),
|
||||
use_torch_compile=self.server_args.enable_torch_compile,
|
||||
disable_padding=self.server_args.disable_cuda_graph_padding,
|
||||
)
|
||||
try:
|
||||
self.cuda_graph_runner.capture(batch_size_list)
|
||||
|
||||
Reference in New Issue
Block a user