Python class
DebugConfig
DebugConfig
class max.engine.DebugConfig
Bases: object
Unified debug configuration for MAX inference.
DebugConfig is a process-wide singleton accessed through
InferenceSession.debug. It controls model debugging features
such as NaN checks, synchronous GPU execution, stack traces, and IR
dumping.
You can configure debugging options three ways:
- Add a
[max-debug]section to themodular.cfgconfiguration file with the properties below in kebab case. For example,nan-check = trueorassert-level = all. - Set the
MODULAR_DEBUGenvironment variable to a list of kebab-case property names separated by commas. Boolean properties can be enabled with just the name; others usename=valueform. For example:MODULAR_DEBUG=nan-check,assert-level=all. - Set properties directly with the Python API, for example
InferenceSession.debug.<property> = <value>. Options are class-level onInferenceSessionbecause they affect globally shared infrastructure.
For the environment variable and config file, the name sensible
enables a curated default set defined in sensible_mode.
assert_level
property assert_level
Mojo assertion level for compiled kernels. One of '', 'none', 'warn', 'safe', 'all'. Higher levels enable more runtime checks (e.g. LayoutTensor bounds) at a performance cost. Takes effect at model build time.
device_sync_mode
property device_sync_mode
When True, forces synchronous GPU execution so every device operation waits for completion. Surfaces async errors at their call site but serializes the pipeline. Takes effect at run time.
ir_output_dir
property ir_output_dir
Directory into which to dump intermediate compiler IR for inspection. Empty string disables dumping. Takes effect at model build time.
nan_check
property nan_check
When True, inserts runtime checks after each compiled op that abort if any output contains NaN. Takes effect at model build time.
op_log_level
property op_log_level
Log level for per-op tracing. One of '', 'notset', 'trace', 'debug', 'info', 'warning', 'error', 'critical'. Takes effect at model build time.
print_style
property print_style
Format for tensor debug printing. Takes effect at run time.
reset()
reset(self) → None
Reset all debug options to their defaults.
sensible_mode
property sensible_mode
When set to True, enables a curated default debugging set, including nan_check, assert_level='all', device_sync_mode, stack_trace_on_error, stack_trace_on_crash, and source_tracebacks. You can override the defaults using individual properties.
source_tracebacks
property source_tracebacks
When True, captures Python source locations during graph construction so runtime errors can be traced back to user code. Takes effect at graph build time and is typically set using Graph.debug.source_tracebacks.
stack_trace_on_crash
property stack_trace_on_crash
When True, prints a C++ stack trace on fatal signals (e.g. SIGSEGV, SIGABRT). Takes effect at run time.
stack_trace_on_error
property stack_trace_on_error
When True, prints a C++ stack trace whenever a runtime error is raised. Takes effect at run time.
uninitialized_read_check
property uninitialized_read_check
When True, instruments buffer reads to detect reads of uninitialized memory. Takes effect at model build time.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!