Skip to content

[FEA] cuda.core: add remaining new NVRTC options to ProgramOptions (CUDA 13.1+) #2368

Description

@leofang

Summary

ProgramOptions kept pace with NVRTC 12.9 (ofast_compile, frandom_seed, no_cache are all
present), but not with the 13.x option additions:

Option Documented since Note
--warning-as-error (-Werror) 13.1 promote warnings to errors
--Wreorder 13.1 member-initialization-order warning
--enable-tile, --tile-only, --simt-only, --default-tile, --diagnose-implicit-tile-var 13.3 tile compilation — coordinate with #1322 / #1434 rather than adding blind
--use-bundled-headers=<dir> 13.3 scoped in #2363

New options must be version-gated with actionable errors per the mechanism tracked in #337.

Design sketch (draft — needs design-meeting review)

Important

Starting point only, not a settled design — review in the cuda.core design meeting.

  • warning_as_error: bool | str | list[str] (bare -Werror vs. -Werror=<kinds> — check the
    exact accepted forms against the 13.x NVRTC docs during implementation).
  • wreorder: bool.
  • Tile flags: hold until the Program-side Tile IR design (cuda.core.Program: Support Tile IR #1322) settles, then add as one
    coherent group.

Open questions for the meeting:

  1. Reject unsupported options at ProgramOptions construction or at compile() (per Add descriptive exception handling to linker and program options which are not supported on a CTK version basis + handle in tests #337)?
  2. Are the tile flags meaningful without the Tile IR output path, or strictly coupled to cuda.core.Program: Support Tile IR #1322?

References

-- Leo's bot

Metadata

Metadata

Assignees

No one assigned

    Labels

    cuda.coreEverything related to the cuda.core modulefeatureNew feature or requesttriageNeeds the team's attention

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions