Skip to content
Snippets Groups Projects
  • Andreas Klöckner's avatar
    34c7344b
    Refactor argument passing · 34c7344b
    Andreas Klöckner authored and Andreas Klöckner's avatar Andreas Klöckner committed
    - Refactor argument passing so that instead of implicitly-spawned
      `ImplementedDataInfo` objects, there are actual arguments (for
      automatic offsets and strides, base storage, and `sep`-tagged arrays).
      It also centralizes the logic for what goes into argument lists,
      instead of having various "filtered" versions scattered about.
    - Get started on type-annotating a bit of loopy.
    - Switch a not-small number of data structures to be dataclasses, notably `LoopKernel`.
    - Drop OCCA support from the ISPC target. (I'm not aware of any users, ever.)
    - Drop the Numba target outright. (I'm not aware of any users, ever.)
    - Drop `LoopKernel.local_sizes`, which was usable to directly set the
      workgroup size. (I'm not aware of any users, ever.)
    - Expire the deprecation for `iname_to_tags`.
    - Bumps the Python compatibility target to 3.8, for `from __future__
      import annotations` and  `cached_property` (mypy does not support
      nested decorators)
    - Bug fix: `tags` was not part of `LoopKernel.hash_fields`
    - Bug fix: `InstructionBase.get_write_dependency_names()` was used to
      find written variables, `InstructionBase.assignee_var_names()` is
      correct
    - Bug fix: KernelExecutorBase now uses linearize() so as to not bypass
      pre-linearization checks (cf. gh-639)
    34c7344b
    History
    Refactor argument passing
    Andreas Klöckner authored and Andreas Klöckner's avatar Andreas Klöckner committed
    - Refactor argument passing so that instead of implicitly-spawned
      `ImplementedDataInfo` objects, there are actual arguments (for
      automatic offsets and strides, base storage, and `sep`-tagged arrays).
      It also centralizes the logic for what goes into argument lists,
      instead of having various "filtered" versions scattered about.
    - Get started on type-annotating a bit of loopy.
    - Switch a not-small number of data structures to be dataclasses, notably `LoopKernel`.
    - Drop OCCA support from the ISPC target. (I'm not aware of any users, ever.)
    - Drop the Numba target outright. (I'm not aware of any users, ever.)
    - Drop `LoopKernel.local_sizes`, which was usable to directly set the
      workgroup size. (I'm not aware of any users, ever.)
    - Expire the deprecation for `iname_to_tags`.
    - Bumps the Python compatibility target to 3.8, for `from __future__
      import annotations` and  `cached_property` (mypy does not support
      nested decorators)
    - Bug fix: `tags` was not part of `LoopKernel.hash_fields`
    - Bug fix: `InstructionBase.get_write_dependency_names()` was used to
      find written variables, `InstructionBase.assignee_var_names()` is
      correct
    - Bug fix: KernelExecutorBase now uses linearize() so as to not bypass
      pre-linearization checks (cf. gh-639)