Skip to content

Commit

Permalink
[SYCL][Doc] Simplify non-uniform group design (#14604)
Browse files Browse the repository at this point in the history
This commit simplifies the design of the non-uniform group extension as
follows:

- The _group suffix is removed from user-constructed groups to reduce
verbosity.

- get_*_group() functions are replaced with partitioning functions, to
clarify that users are not getting an existing group but rather creating
a new one.

- Fixed-size groups are renamed to "chunks". The previous name did not
convey that the group is contiguous as well as having a fixed size.

- Ballot-groups and opportunistic-groups have been combined into a
single group type called a "fragment", focusing on what the groups
represent rather than how they were constructed.

- Synchronization behavior is added to all partitioning functions, to
reduce the cognitive burden (of remembering which partitioning functions
synchronize).

- An implicit cast from chunks to fragments is introduced. A fragment is
a more general representation than a chunk, and so this conversion is
always valid.

- Split tangle into its own extension. The implementation requirements
for tangle are different to other non-uniform groups, which may limit
their availability to certain device types. Splitting them out into a
separate extension will make it easier to set user expectations and to
track implementation status across backends.

---------

Signed-off-by: John Pennycook <[email protected]>
  • Loading branch information
Pennycook authored Oct 4, 2024
1 parent 10fee97 commit 761d45d
Show file tree
Hide file tree
Showing 2 changed files with 551 additions and 481 deletions.
Loading

0 comments on commit 761d45d

Please sign in to comment.