NVIDIA / NVIDIA/cuda-quantum

[RFC] Standardize the option names in nvq++

Open
#1,265 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

RFC stale-notified user experience
Dominant language
C++
Stars
1.1k
Forks
456
Avg merge
1d 22h
Merged PRs (30d)
165

Description

At the moment, we have a lot of command line options in nvq++ that take both the form -my-option and --my-option. We also have options that are strictly only -my-single-option or --my-double-option.

While that all functions correctly, there hasn't really been any coherent guidance on this. As such users may be surprised when the driver accepts one spelling or another then rejects something that seems very similar.

Some strategies:

  • Use 1 dash for distinct options. Self-explanatory.
  • Use 1 dash short options with (optional) 2 dash long spelling of equivalent options. -o and --object-file for instance.
    • Long options without short equivalents could either be 1 or 2 dashes
  • Use 1 dash for all options and use a prefix letter to categorize related groups. For example, clang and gcc use -f<option> for controls relating to optimizations, etc., and -W<option> to control diagnostics.
  • Use 1 dash only with one letter, 2 dashes for everything with more than 1 letter.
  • Keep adding options in an ad hoc way, as we're doing now.
  • other proposals?

Contributor guide

Open the contributing guide

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 nvq++ command-line options and compare the accepted spellings described in the RFC. Review the listed naming strategies and existing discussion before proposing a direction; done means the project has an agreed, coherent convention for current and future options.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
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.