Skip to content

Add a pass to outline computations in a function #1825

Add a pass to outline computations in a function

Add a pass to outline computations in a function #1825

Triggered via pull request June 2, 2025 15:59
@majosmmajosm
synchronize #221
outlining
Status Failure
Total duration 11m 27s
Artifacts

ci.yml

on: pull_request
Matrix: downstream_tests
Fit to window
Zoom out
Zoom in

Annotations

13 errors and 53 warnings
Ruff
Process completed with exit code 1.
basedpyright: arraycontext/impl/pytato/outline.py#L136
Type "ArrayOrContainer | None" is not assignable to return type "Array"   Type "ArrayOrContainer | None" is not assignable to type "Array"     "ArrayContainer" is not assignable to "Array" (reportReturnType)
basedpyright: arraycontext/impl/pytato/outline.py#L138
Argument of type "(keys: tuple[Any, ...], ary: Array) -> Array" cannot be assigned to parameter "f" of type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container" in function "rec_keyed_map_array_container"   Type "(keys: tuple[Any, ...], ary: Array) -> Array" is not assignable to type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container"     Parameter 2: type "ArrayT@rec_keyed_map_array_container" is incompatible with type "Array"       "Array*" is not assignable to "Array"     Function return type "Array" is incompatible with type "ArrayT@rec_keyed_map_array_container"       Type "pytato.array.Array" is not assignable to type "arraycontext.context.Array"         "Array" is incompatible with protocol "Array"           "shape" is an incompatible type           "size" is an incompatible type ... (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L186
Argument of type "(key: tuple[Any, ...], ary: Array) -> Array" cannot be assigned to parameter "f" of type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container" in function "rec_keyed_map_array_container"   Type "(key: tuple[Any, ...], ary: Array) -> Array" is not assignable to type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container"     Parameter 2: type "ArrayT@rec_keyed_map_array_container" is incompatible with type "Array"       "Array*" is not assignable to "Array"     Function return type "Array" is incompatible with type "ArrayT@rec_keyed_map_array_container"       Type "pytato.array.Array" is not assignable to type "arraycontext.context.Array"         "Array" is incompatible with protocol "Array"           "shape" is an incompatible type           "size" is an incompatible type ... (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L213
Argument of type "immutabledict[str, Array]" cannot be assigned to parameter "data" of type "dict[str, Array]" in function "make_dict_of_named_arrays"   "immutabledict[str, Array]" is not assignable to "dict[str, Array]" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L233
Argument of type "immutabledict[str, Array]" cannot be assigned to parameter "data" of type "dict[str, Array]" in function "make_dict_of_named_arrays"   "immutabledict[str, Array]" is not assignable to "dict[str, Array]" (reportArgumentType)
basedpyright
5 errors
basedpyright
Process completed with exit code 1.
Mypy
Process completed with exit code 1.
Pytest Conda Py3 Intel: test/test/test_arraycontext.py#L1192
test_actx_compile_with_outlined_function[<PytatoJAXArrayContext>] TypeError: only permitted when container is a DictOfNamedArrays
Pytest Conda Py3 Intel
Process completed with exit code 1.
Pytest Conda Py3 POCL: test/test/test_arraycontext.py#L1192
test_actx_compile_with_outlined_function[<PytatoJAXArrayContext>] TypeError: only permitted when container is a DictOfNamedArrays
Pytest Conda Py3 POCL
Process completed with exit code 1.
Ruff
The `python-version` input is not set. The version of Python currently in `PATH` will be used.
Tests for downstream project mirgecom
No point in testing mirgecom at the moment, see https://github.com/illinois-ceesd/mirgecom/pull/898. Test not performed.
Tests for downstream project mirgecom_examples
No point in testing mirgecom at the moment, see https://github.com/illinois-ceesd/mirgecom/pull/898. Test not performed.
basedpyright: arraycontext/context.py#L584
"id" is not accessed (reportUnusedParameter)
basedpyright: arraycontext/impl/pytato/__init__.py#L233
Method "outline" is not marked as override but is overriding a method in class "ArrayContext" (reportImplicitOverride)
basedpyright: arraycontext/impl/pytato/__init__.py#L237
Function calls and mutable objects not allowed within parameter default value expression (reportCallInDefaultInitializer)
basedpyright: arraycontext/impl/pytato/__init__.py#L521
"_ary_container_key_stringifier" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/__init__.py#L585
"_verify_is_dag" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/__init__.py#L754
"_verify_is_dag" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/__init__.py#L897
"_ary_container_key_stringifier" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/compile.py#L173
"_verify_is_dag" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/compile.py#L308
"_ary_container_key_stringifier" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/outline.py#L34
Import "cast" is not accessed (reportUnusedImport)
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'minimum'>'.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'minimum'>'.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 Intel: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/cache.py#L420
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'minimum'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'minimum'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'copy'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'copy'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'cdouble_conj_kernel'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'cdouble_conj_kernel'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'maximum'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'maximum'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'reduce_kernel_stage1'>'.
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pytools/py_codegen.py#L119
Overwriting existing generated code in linecache: '<pyopencl invoker for 'reduce_kernel_stage2'>'.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project grudge: grudge/test/test_reductions.py#L167
Broadcasting array context array types across <class 'test_reductions.MyContainer'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/test/test_reductions.py#L167
Broadcasting array context array types across <class 'test_reductions.MyContainer'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/test/test_reductions.py#L167
Broadcasting array context array types across <class 'test_reductions.MyContainer'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project grudge: grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project meshmode: meshmode/test/test_array.py#L55
'bcast_obj_array' is deprecated and will be unsupported from 2025. Use 'bcasts_across_obj_array', with equivalent meaning.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project meshmode: meshmode/test/test_array.py#L55
'bcast_obj_array' is deprecated and will be unsupported from 2025. Use 'bcasts_across_obj_array', with equivalent meaning.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
Broadcasting array context array types across <class 'meshmode.dof_array.DOFArray'> has been implicitly enabled. As of 2026, this will no longer work. Use arraycontext.Bcast* object wrappers for roughly equivalent functionality. See the discussion in https://github.com/inducer/arraycontext/pull/190. To opt out now (and avoid this warning), pass _bcast_actx_array_type=False.
Tests for downstream project meshmode: meshmode/test/test_array.py#L55
'bcast_obj_array' is deprecated and will be unsupported from 2025. Use 'bcasts_across_obj_array', with equivalent meaning.
Tests for downstream project meshmode: meshmode/meshmode/dof_array.py#L75
'bcast_numpy_array=True' is deprecated and will be unsupported from 2025.