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

Data and/or data copy aliases #720

Open
devreal opened this issue Dec 13, 2024 · 0 comments
Open

Data and/or data copy aliases #720

devreal opened this issue Dec 13, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@devreal
Copy link
Contributor

devreal commented Dec 13, 2024

Description

Currently there is a fixed mapping between data and data copies. Data copies cannot be used in multiple data. However, there can be instances where a data contains multiple pieces of information and we only care about one part of it. In that case it would be helpful to be able to describe a data as being an alias for another data, potentially with a different view onto that data.

Example: a sparse tensor contains both values and sparsity information in a single blob of data. We may want to synchronize the sparsity information but not the values (or vice versa). Yes we could allocate two different blobs of data but that incurs additional costs.

We cannot simply mark the alias copy as non-owning and point to the memory we want to alias because that memory might be evicted and would then no longer be valid for the alias.

Describe the solution you'd like

Be able to mark a data or data copy as being an alias for a different data or data copy. That way, whenever the alias is used PaRSEC knows where to get the actual data, e.g., if the aliased data has been evicted. I'm not sure whether the data or the data copy is the right entity to alias but I'm leaning towards the data copy.

Describe alternatives you've considered

The application can schedule transfers in and out of the device manually (using cudaMemcpyAsync on the compute stream) but that is more a crutch and mixes compute and transfers on the same stream.

Additional context

Likely relevant for sparsity in TTG.

@devreal devreal added the enhancement New feature or request label Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant