Skip to content

Add a pass to outline computations in a function #1816

Add a pass to outline computations in a function

Add a pass to outline computations in a function #1816

Triggered via pull request May 22, 2025 20:29
@majosmmajosm
synchronize #221
outlining
Status Failure
Total duration 11m 11s
Artifacts

ci.yml

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

Annotations

14 errors and 53 warnings
basedpyright: arraycontext/impl/pytato/__init__.py#L594
Argument of type "ArrayOrNames" cannot be assigned to parameter "expr" of type "DictOfNamedArrays" in function "_normalize_pt_expr"   Type "ArrayOrNames" is not assignable to type "DictOfNamedArrays"     "AbstractResultWithNamedArrays" is not assignable to "DictOfNamedArrays" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/compile.py#L176
Argument of type "ArrayOrNames" cannot be assigned to parameter "dag" of type "DictOfNamedArrays" in function "transform_dag"   Type "ArrayOrNames" is not assignable to type "DictOfNamedArrays"     "AbstractResultWithNamedArrays" is not assignable to "DictOfNamedArrays" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L75
Argument of type "(keys: Unknown, ary: Unknown) -> (generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Unknown)" 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: Unknown, ary: Unknown) -> (generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Unknown)" is not assignable to type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container"     Function return type "generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Unknown" is incompatible with type "ArrayT@rec_keyed_map_array_container"       Type "generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Unknown" is not assignable to upper bound "Array" for type variable "ArrayT@rec_keyed_map_array_container"         Type "generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Unknown" is not assignable to type "Array"           "bytes" is incompatible with protocol "Array" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L136
Argument of type "(keys: Unknown, ary: Unknown) -> (ArrayOrContainer | generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Placeholder | None)" 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: Unknown, ary: Unknown) -> (ArrayOrContainer | generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Placeholder | None)" is not assignable to type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container"     Function return type "ArrayOrContainer | generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Placeholder | None" is incompatible with type "ArrayT@rec_keyed_map_array_container"       Type "ArrayOrContainer | generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Placeholder | None" is not assignable to upper bound "Array" for type variable "ArrayT@rec_keyed_map_array_container"         Type "ArrayOrContainer | generic[Any] | bool | int | float | complex | str | bytes | memoryview[int] | Placeholder | None" is not assignable to type "Array"           "ArrayContainer" is incompatible with protocol "Array" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L180
Argument of type "str" cannot be assigned to parameter "slice_spec" of type "ConvertibleToIndexExpr | tuple[ConvertibleToIndexExpr, ...]" in function "__getitem__"   Type "str" is not assignable to type "ConvertibleToIndexExpr | tuple[ConvertibleToIndexExpr, ...]"     "str" is not assignable to "int"     "str" is not assignable to "slice[Any, Any, Any]"     "str" is not assignable to "Array"     "str" is not assignable to "EllipsisType"     "str" is not assignable to "None"     "str" is not assignable to "tuple[ConvertibleToIndexExpr, ...]" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L180
No overloads for "__getitem__" match the provided arguments (reportCallIssue)
basedpyright: arraycontext/impl/pytato/outline.py#L180
Argument of type "str" cannot be assigned to parameter "key" of type "slice[Any, Any, Any]" in function "__getitem__"   "str" is not assignable to "slice[Any, Any, Any]" (reportArgumentType)
basedpyright: arraycontext/impl/pytato/outline.py#L182
Argument of type "(key: Unknown, ary: Unknown) -> (Array | Unknown)" 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: Unknown, ary: Unknown) -> (Array | Unknown)" is not assignable to type "(tuple[SerializationKey, ...], ArrayT@rec_keyed_map_array_container) -> ArrayT@rec_keyed_map_array_container"     Function return type "Array | Unknown" is incompatible with type "ArrayT@rec_keyed_map_array_container"       Type "Array | Unknown" is not assignable to upper bound "Array" for type variable "ArrayT@rec_keyed_map_array_container"         Type "Array | Unknown" is not assignable to type "Array"           "Array" is incompatible with protocol "Array" (reportArgumentType)
basedpyright
8 errors
basedpyright
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.
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.
Ruff
The `python-version` input is not set. The version of Python currently in `PATH` will be used.
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#L751
"_verify_is_dag" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/__init__.py#L894
"_ary_container_key_stringifier" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/compile.py#L306
"_ary_container_key_stringifier" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/outline.py#L45
"_BasePytatoArrayContext" is private and used outside of the module in which it is declared (reportPrivateUsage)
basedpyright: arraycontext/impl/pytato/outline.py#L59
Type of "arg" is Any (reportAny)
basedpyright: arraycontext/impl/pytato/outline.py#L63
Argument type is Any   Argument corresponds to parameter "element" in function "isscalar" (reportAny)
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/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 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/__init__.py#L519
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/pyopencl/__init__.py#L519
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/loopy/transform/realize_reduction.py#L1848
in kernel frozen_result: Empty reduction found (no inames to reduce over). Eliminating. (add 'empty_reduction' to silenced_warnings kernel attribute to disable)
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/__init__.py#L519
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/loopy/transform/realize_reduction.py#L1848
in kernel frozen_result: Empty reduction found (no inames to reduce over). Eliminating. (add 'empty_reduction' to silenced_warnings kernel attribute to disable)
Pytest Conda Py3 POCL: .conda-root/envs/testing/lib/python3.13/site-packages/pyopencl/__init__.py#L519
Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.
Pytest Conda Py3 POCL: arraycontext/impl/jax/fake_numpy.py#L116
ravel with order='A' not supported by JAX, using order=C.
Pytest Conda Py3 POCL: arraycontext/impl/jax/fake_numpy.py#L116
ravel with order='A' not supported by JAX, using order=C.
Pytest Conda Py3 POCL: arraycontext/impl/jax/fake_numpy.py#L116
ravel with order='A' not supported by JAX, using order=C.
Pytest Conda Py3 POCL: arraycontext/impl/jax/fake_numpy.py#L116
ravel with order='A' not supported by JAX, using order=C.
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.::warning file=/home/runner/work/arraycontext/arraycontext/grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py,line=75::'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
'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.::warning file=/home/runner/work/arraycontext/arraycontext/grudge/.conda-root/envs/testing/lib/python3.13/site-packages/meshmode/dof_array.py,line=75::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 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/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.