oneapi-src / oneapi-src/unified-runtime

Memory allocation with alignment > 64KB is disabled

Open
#1,537 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement level-zero memory
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.