Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flexible device inputs #304

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

devreal
Copy link
Contributor

@devreal devreal commented Nov 12, 2024

Next set of changes needed for MRA. This change set allows buffers to be empty and const and enables tasks to define a flexible set of device inputs using ttg::device::Input, which is a vector of buffers internals provided by the backend implementation.

@devreal devreal force-pushed the flexible-device-inputs branch 2 times, most recently from 7ba9d52 to 53959aa Compare November 13, 2024 00:53
ttg::device::Input can be filled with buffers and passed to
ttg::device::select().

Signed-off-by: Joseph Schuchart <[email protected]>
Set the flow to read-only at the end of the task for flows
that are marked as temporary. This allows PaRSEC to put the data
into a read-only queue that does not need to be pushed back to the host.
Temporary data does not need to be evicted, only released.

Signed-off-by: Joseph Schuchart <[email protected]>
PaRSEC will try to remove a reader from the resulting read-only flow.

Signed-off-by: Joseph Schuchart <[email protected]>
If the flow is only WRITE we don't want to add the READ flag.

Signed-off-by: Joseph Schuchart <[email protected]>
Don't return early.

Signed-off-by: Joseph Schuchart <[email protected]>
Empty buffers are always valid on the current device.

Signed-off-by: Joseph Schuchart <[email protected]>
Signed-off-by: Joseph Schuchart <[email protected]>
Signed-off-by: Joseph Schuchart <[email protected]>
This allows querying whether the buffer is current on the given device.
Also add a note that Buffer::current_device() cannot reflect the fact
that all devices may have the current data (e.g., after a pushout).

Also add static ttg::device::Device::host() that returns the host device.


Signed-off-by: Joseph Schuchart <[email protected]>
Missing register_device_memory on span and Buffer::empty

Signed-off-by: Joseph Schuchart <[email protected]>
The code path for no-arg callables was missing a return and we have to
specify template arguments for std::array explicitly because the array
could be empty.

Signed-off-by: Joseph Schuchart <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant