microsoft / microsoft/OpenCLOn12
Allow using a single mem object read-only across multiple devices in parallel
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 130
- Forks
- 19
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
Right now a mem object has a single active device and the contents are always migrated when it's used somewhere else. Instead, we should track multiple active devices, and only invalidate others when a (potentially) writing operation is done. Read-only maps, copies as a source, binds to constant memory, or binds to read-only images should all avoid invalidating other device's contents.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the mem object implementation and the paths that migrate or invalidate device contents; no files or tests are named in the issue. Trace read-only maps, source copies, constant-memory binds, read-only image binds, and writing operations, then verify that read-only uses can remain parallel while writes invalidate other devices.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100