oneapi-src / oneapi-src/unified-runtime
Provide a concrete way for program metadata defines or delete them
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 57
- Forks
- 120
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 1
Description
Program metadata defines are:
/// Program metadata tags recognized by the PI backends. For kernels the tag
/// must appear after the kernel name.
#define __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE \
"@reqd_work_group_size"
#define __SYCL_PI_PROGRAM_METADATA_GLOBAL_ID_MAPPING "@global_id_mapping"
Those defines seem to only be used inside pi_program::set_metadata() in pi_cuda backend. These values seem to also have been used in the compiler side by llvm/tools/sycl-post-link/sycl-post-link.cpp. So, was wandering, Does those defines had plans for other adapters other than cuda (or have any use case in general) and we should provide them in some way in the spec? or should we delete them?
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 by tracing the metadata defines through pi_program::set_metadata() in the pi_cuda backend and their use in llvm/tools/sycl-post-link/sycl-post-link.cpp. Determine whether the defines have consumers beyond CUDA or the compiler path; done means documenting a concrete supported interface or removing the unused definitions and updating affected references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design, compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100