oneapi-src / oneapi-src/unified-runtime

Document experimental feature enum policy

Open
#1,407 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

We have a kind of informal system in place where experimental features extending enums explicitly define new enum values in such a way as to not collide with the core values or ones added by other experimental features. For example:
https://github.com/oneapi-src/unified-runtime/pull/1400/files#diff-88d57250473caecebcb2f3e86fe24a0b37df274b69446e5e85335a5cdd649a9cR22
https://github.com/oneapi-src/unified-runtime/blob/main/scripts/core/exp-bindless-images.yml#L87
https://github.com/oneapi-src/unified-runtime/blob/main/scripts/core/exp-command-buffer.yml#L22
To make sure this is consistently followed we should document how we want this to work in here.

We should also evaluate whether we can do without explicitly defining new values like this. Right now the spec and experimental features live in the same place and are delivered as one, there isn't a way for the two to get out of sync, so is there a compelling reason to go out of our way to make sure these enum values remain static?

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 core/CONTRIB.html#experimental-features and compare the linked exp-bindless-images.yml and exp-command-buffer.yml examples with the referenced pull request. Document the enum-value policy there and record the conclusion and rationale about whether explicitly fixed experimental values are still necessary.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.