cuda::experimental::places::make_locality_domain_grid#

inline exec_place cuda::experimental::places::make_locality_domain_grid(
int dev_id,
locality_domain_sm_split split = locality_domain_sm_split::backfill
)#

Create a grid of execution places over all locality domains of a device.

The grid adapts to the queried domain count: on a device with a single domain (or with the fallback backend) it holds one whole-domain place.

This is single-device convenience sugar: the general mechanism is place_partition at place_partition_scope::locality_domain, which also flattens multi-device grids (e.g. partitioning exec_place::all_devices() yields every domain of every device).

Parameters:
  • dev_id – The CUDA device ordinal

  • split – SM split method applied to every place of the grid; see locality_domain_sm_split. With the default backfill the grid members together cover the whole device.

Returns:

exec_place grid with one place per locality domain