![]() |
Shamrock 2025.10.0
Astrophysical Code
|
A class that references multiple buffers or similar objects. More...
#include <shambackends/include/shambackends/kernel_call/MultiRef.hpp>
Public Types | |
| using | storage_t = std::tuple<Targ &...> |
| A tuple of references to the buffers. | |
Public Member Functions | |
| MultiRef (Targ &...arg) | |
| Constructor. | |
| auto | get_read_access (sham::EventList &depends_list) |
| auto | get_write_access (sham::EventList &depends_list) |
| void | complete_event_state (sycl::event e) |
Public Attributes | |
| storage_t | storage |
| A tuple of references to the buffers. | |
A class that references multiple buffers or similar objects.
This class serves as a means to pass multiple buffers or objects with similar accessor patterns to a kernel. It provides methods to obtain read and write access to these entities and to complete their event state.
A version of this class is also available for optional references to the buffers or similar objects,
Definition at line 33 of file MultiRef.hpp.
| using sham::MultiRef< Targ >::storage_t = std::tuple<Targ &...> |
A tuple of references to the buffers.
Definition at line 35 of file MultiRef.hpp.
|
inline |
Constructor.
Definition at line 41 of file MultiRef.hpp.
|
inline |
Complete the event state of the buffers.
| e | The SYCL event to register in the buffers. |
Definition at line 67 of file MultiRef.hpp.
|
inline |
Get a tuple of pointers to the data of the buffers, for reading. Register also the depedancies in depends_list.
Definition at line 45 of file MultiRef.hpp.
|
inline |
Get a tuple of pointers to the data of the buffers, for writing. Register also the depedancies in depends_list.
Definition at line 56 of file MultiRef.hpp.
| storage_t sham::MultiRef< Targ >::storage |
A tuple of references to the buffers.
Definition at line 38 of file MultiRef.hpp.