oneapi-src / oneapi-src/unified-runtime
Memory allocation with alignment > 64KB is disabled
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 57
- Forks
- 120
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 1
Description
Dear colleagues,
In urUSMHostAlloc() I see the code
// L0 supports alignment up to 64KB and silently ignores higher values.
// We flag alignment > 64KB as an invalid value.
if (Align > 65536)
return UR_RESULT_ERROR_INVALID_VALUE;
For old version of compute runtime, i.e. intel-level-zero-gpu 1.3.26516.18, such issue definitely exists, but after upgrade to recent intel-level-zero-gpu 1.3.29138.7 it disappeared.
Could you please make a limitation on the level of Unified Runtime less strict? Because right now sycl::aligned_alloc_shared() failed to work for alignment > 64KB.
Contributor guide
No contributing guide indexed for this repository
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 in source/adapters/level_zero/usm.cpp at urUSMHostAlloc() and review the alignment check against the reported Level Zero runtime versions. Determine whether alignments above 64KB can be passed safely without being silently ignored, then verify that sycl::aligned_alloc_shared() succeeds for the supported range and that invalid alignments remain rejected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100