![]() |
Shamrock 2025.10.0
Astrophysical Code
|
Sycl utility to dynamically generate group ids. More...
Public Member Functions | |
| DynamicIdGenerator (sycl::queue &q) | |
Construct DynamicIdGenerator | |
| AccessedDynamicIdGenerator< int_t, group_size > | get_access (sycl::handler &cgh) |
Get the access to DynamicIdGenerator returning the accessed variants AccessedDynamicIdGenerator | |
Public Attributes | |
| sycl::buffer< int_t > | group_id |
| the buffer used for group_id synchronization | |
Sycl utility to dynamically generate group ids.
The goal is to affect each worker with a unique id in growing order, e.g. worker group 2 can not start if worker group 1 is not started The performance overhead is minimal (10^-11 s/element on A100)
Example :
| int_t | the int type used by the counter (preferentially u32 or u64) |
| group_size | the group size used in SYCL |
Definition at line 128 of file DynamicIdGenerator.hpp.
|
inlineexplicit |
Construct DynamicIdGenerator
| q | the SYCL queue |
Definition at line 141 of file DynamicIdGenerator.hpp.
Here is the call graph for this function:
|
inline |
Get the access to DynamicIdGenerator returning the accessed variants AccessedDynamicIdGenerator
| cgh | the SYCL command group handler |
DynamicIdGenerator Definition at line 152 of file DynamicIdGenerator.hpp.
| sycl::buffer<int_t> shamalgs::atomic::DynamicIdGenerator< int_t, group_size >::group_id |
the buffer used for group_id synchronization
Definition at line 134 of file DynamicIdGenerator.hpp.