oneapi-src / oneapi-src/unified-runtime

UR_PROGRAM_INFO_KERNEL_NAMES query is going to be difficult for some adapters to implement

Open
#537 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

specification
Dominant language
C++
Stars
57
Forks
120
Avg merge
1d 14h
Merged PRs (30d)
1

Description

There isn't a way for the CUDA or HIP adapters to use their backend APIs to query out the names of the entry points in a program object. There was a thought encoded in comments in the original PI implementation that the IR could be searched through for these (see here). This works if the IR is a text format like ptx is, but if it isn't or the program was created from a device binary that solution looks less likely to be worthwhile.

It's unclear how useful this property actually is to people, the above comment suggests SYCL is using it, but we obviously aren't hitting that sycl::detail::pi::die("getKernelNames not implemented"); so they must be working around this somehow. At the very least the kernel handling in the CTS will need redesigned without the assumption that it can be used, and we should probably make it optional in the ProgramGetInfo spec/cts test unless these adapters do come up with a nice way to implement it.

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 with the linked comments in the original PI implementation and inspect the ProgramGetInfo specification and its CTS test. Determine whether kernel-name queries can be supported across CUDA, HIP, text IR, and device-binary programs. Done means the CTS no longer assumes this property is universally available and the specification and test consistently reflect the decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, testing-qa
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.