-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat[next][dace]: support for field origin in lowering to SDFG (#1818)
This PR adds support for GT4Py field arguments with non-zero start index, for example: `inp = constructors.empty(common.domain({IDim: (1, 9)}), ...)` which was supported in baseline only for temporary fields, by means of a data structure called `field_offsets`. This data structure is removed for two reasons: 1. the name "offset" is a left-over from previous design based on dace array offset 3. offset has a different meaning in GT4Py We introduce the GT4Py concept of field origin and use it for both temporary fields and program arguments. The field origin corresponds to the start of the field domain range. This PR also changes the symbolic definition of array shape. Before, the array shape was defined as `[data_size_0, data_size_1, ...]`, now the size corresponds to the range extent `stop - start` as `[(data_0_range_1 - data_0_range_0), (data_1_range_1 - data_1_range_0), ...]`. The translation stage of the dace workflow is extended with an option `disable_field_origin_on_program_arguments` to set the field range start symbols to constant value zero. This is needed for the dace orchestration, because the signature of a dace-orchestrated program does not provide the domain origin.
- Loading branch information
Showing
15 changed files
with
540 additions
and
357 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.