-
Notifications
You must be signed in to change notification settings - Fork 796
[SYCL][Graph] Memory reuse for graph allocations in a single graph #18340
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
Conversation
Bensuo
commented
May 6, 2025
- Optimize memory use for allocations within a single graph by reusing memory where possible
- New handler impl member for node dependency access with the CGF
- New E2E tests for memory reuse
- Add missing CGType -> string conversion for graph printing alloc and free nodes
dec8b75 to
cdcec7e
Compare
cdcec7e to
64fef78
Compare
- Optimize memory use for allocations within a single graph by reusing memory where possible - New handler impl member for node dependency access with the CGF - New E2E tests for memory reuse - Add design doc information on memory reuse - Add missing CGType -> string conversion for graph printing alloc and free nodes
64fef78 to
c1d9595
Compare
sycl/test-e2e/Graph/AsyncAlloc/Inputs/async_alloc_device_memory_reuse.cpp
Show resolved
Hide resolved
- Fix wording in design doc - Remove code duplication is async_alloc calls - Early return from tryReuseExistingAllocation()
- No dep nodes means that we cannot be connected to any free nodes for reuse
|
@intel/llvm-reviewers-runtime Could I get a review on this please? The Arc failures on CI look unrelated to this PR. |
|
@Bensuo @EwanC https://github.com/intel/llvm/actions/runs/15128095339/job/42523770858 To me it looks like a bogus warning but I'm not an expert in this code. Can someone take a look and work around the warning if it is bogus? Thanks |
I think this is bogus yeah, there is other similar initialization in the runtime that isn't getting flagged on GCC 11.4, and the error doesn't show up in 12.3. I've reworked the code so it's not initialized outside and then assigned to in the lambda (and fixed a few small issues I saw at the same time) and that seems fine now: #18583 |
|
Thanks! |