When trying to run the docker container distribution of DIST-S1, we get the following error from model compilation:
Traceback (most recent call last):
File "/opt/conda/envs/dist-s1-env/bin/dist-s1", line 8, in <module>
sys.exit(cli())
~~~^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/click/core.py", line 1442, in __call__
return self.main(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/click/core.py", line 1363, in main
rv = self.invoke(ctx)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/click/core.py", line 1830, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/click/core.py", line 1226, in invoke
return ctx.invoke(self.callback, **ctx.params)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/click/core.py", line 794, in invoke
return callback(*args, **kwargs)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/dist_s1/__main__.py", line 327, in run_sas
run_dist_s1_sas_workflow(run_config)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/dist_s1/workflows.py", line 523, in run_dist_s1_sas_workflow
_ = run_dist_s1_processing_workflow(run_config)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/dist_s1/workflows.py", line 420, in run_dist_s1_processing_workflow
run_normal_param_estimation_workflow(run_config)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/dist_s1/workflows.py", line 248, in run_normal_param_estimation_workflow
compute_normal_params_per_burst_and_serialize(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
path_data['copol_paths_pre'],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<12 lines>...
optimize=run_config.optimize,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/dist_s1/processing.py", line 95, in compute_normal_params_per_burst_and_serialize
logits_mu, logits_sigma = estimate_normal_params_of_logits(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
model,
^^^^^^
...<5 lines>...
batch_size=batch_size,
^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/distmetrics/transformer.py", line 541, in estimate_normal_params_of_logits
mu, sigma = estimate_logits(
~~~~~~~~~~~~~~~^
model, imgs_copol, imgs_crosspol, stride=stride, batch_size=batch_size, tqdm_enabled=tqdm_enabled, device=device
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
return func(*args, **kwargs)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/distmetrics/transformer.py", line 490, in _estimate_logit_params_via_folding
chip_mean, chip_logvar = model(patch_batch)
~~~~~^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/nn/modules/module.py", line 1751, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/nn/modules/module.py", line 1762, in _call_impl
return forward_call(*args, **kwargs)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_dynamo/eval_frame.py", line 663, in _fn
raise e.remove_dynamo_frames() from None # see TORCHDYNAMO_VERBOSE=1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/compile_fx.py", line 760, in _compile_fx_inner
raise InductorError(e, currentframe()).with_traceback(
e.__traceback__
) from None
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/compile_fx.py", line 745, in _compile_fx_inner
mb_compiled_graph = fx_codegen_and_compile(
gm, example_inputs, inputs_to_check, **graph_kwargs
)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/compile_fx.py", line 1295, in fx_codegen_and_compile
return scheme.codegen_and_compile(gm, example_inputs, inputs_to_check, graph_kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/compile_fx.py", line 1119, in codegen_and_compile
graph.run(*example_inputs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/graph.py", line 877, in run
return super().run(*args)
~~~~~~~~~~~^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/fx/interpreter.py", line 171, in run
self.env[node] = self.run_node(node)
~~~~~~~~~~~~~^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/graph.py", line 1527, in run_node
result = super().run_node(n)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/fx/interpreter.py", line 240, in run_node
return getattr(self, n.op)(n.target, args, kwargs)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/graph.py", line 1198, in call_function
raise LoweringException(e, target, args, kwargs).with_traceback(
e.__traceback__
) from None
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/graph.py", line 1188, in call_function
out = lowerings[target](*args, **kwargs) # type: ignore[index]
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/lowering.py", line 466, in wrapped
out = decomp_fn(*args, **kwargs)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/kernel/mm.py", line 678, in tuned_addmm
if use_cpp_gemm_template(layout, mat1, mat2):
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/utils.py", line 1549, in use_cpp_gemm_template
micro_gemm = create_micro_gemm(
"micro_gemm",
...<8 lines>...
q_group_size=q_group_size,
)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/codegen/cpp_micro_gemm.py", line 1609, in create_micro_gemm
vec_isa = pick_vec_isa()
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 418, in pick_vec_isa
_valid_vec_isa_list: list[VecISA] = valid_vec_isa_list()
~~~~~~~~~~~~~~~~~~^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 405, in valid_vec_isa_list
isa_list.extend(
~~~~~~~~~~~~~~~^
isa
^^^
for isa in supported_vec_isa_list
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
if all(flag in _cpu_supported_x86_isa for flag in str(isa).split()) and isa
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 408, in <genexpr>
if all(flag in _cpu_supported_x86_isa for flag in str(isa).split()) and isa
^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 142, in __bool__
return self.__bool__impl(config.cpp.vec_isa_ok)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 152, in __bool__impl
return self.check_build(VecISA._avx_code)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 102, in check_build
extra=_get_isa_dry_compile_fingerprint(self._arch_flags),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpu_vec_isa.py", line 28, in _get_isa_dry_compile_fingerprint
compiler_info = get_compiler_version_info(get_cpp_compiler())
~~~~~~~~~~~~~~~~^^
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpp_builder.py", line 156, in get_cpp_compiler
compiler = cpp_compiler_search(search)
File "/opt/conda/envs/dist-s1-env/lib/python3.13/site-packages/torch/_inductor/cpp_builder.py", line 102, in cpp_compiler_search
raise exc.InvalidCxxCompiler
torch._inductor.exc.InductorError: LoweringException: InvalidCxxCompiler: No working C++ compiler found in torch._inductor.config.cpp.cxx: (None, 'g++')
target: aten.addmm.default
args[0]: TensorBox(StorageBox(
InputBuffer(name='arg2_1', layout=FixedLayout('cpu', torch.float32, size=[256], stride=[1]))
))
args[1]: TensorBox(
View(
View(
StorageBox(
ComputedBuffer(name='buf0', layout=FixedLayout('cpu', torch.float32, size=[32, 9, 2, 2, 2, 8, 8], stride=[4608, 512, 256, 128, 64, 8, 1]), data=Pointwise(device=device(type='cpu'), dtype=torch.float32, inner_fn=<function BaseView.make_loader.<locals>.loader at 0x7f4d69317d80>, ranges=[32, 9, 2, 2, 2, 8, 8]))
),
size=[32, 9, 4, 128],
reindex=lambda i0, i1, i2, i3: [i0, i1, ModularIndexing(i2, 2, 2), ModularIndexing(i2, 1, 2), ModularIndexing(i3, 64, 2), ModularIndexing(i3, 8, 8), ModularIndexing(i3, 1, 8)],
origins=OrderedSet([view_1, clone])
),
size=[1152, 128],
reindex=lambda i0, i1: [ModularIndexing(i0, 36, 32), ModularIndexing(i0, 4, 9), ModularIndexing(i0, 1, 4), i1],
origins=OrderedSet([view_2])
)
)
args[2]: TensorBox(
ReinterpretView(
StorageBox(
InputBuffer(name='arg1_1', layout=FixedLayout('cpu', torch.float32, size=[256, 128], stride=[128, 1]))
),
FixedLayout('cpu', torch.float32, size=[128, 256], stride=[1, 128]),
origins=OrderedSet([permute_1])
)
)
Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"
I expected the model to compile.
Checked for duplicates
Yes - I've already checked
Describe the bug
When trying to run the docker container distribution of DIST-S1, we get the following error from model compilation:
What did you expect?
I expected the model to compile.
Reproducible steps
Environment