Fix nvcc dryrun parsing for CUDA 13.3#2722
Conversation
| pub(crate) const CICC_INPUT_SUFFIX: &str = ".cpp1.ii"; | ||
| pub(crate) const PTXAS_INPUT_SUFFIX: &str = ".ptx"; | ||
|
|
||
| pub(crate) fn is_cicc_input(arg: impl AsRef<OsStr>) -> bool { | ||
| arg.as_ref().to_string_lossy().ends_with(CICC_INPUT_SUFFIX) | ||
| } | ||
|
|
||
| pub(crate) fn is_ptxas_input(arg: impl AsRef<OsStr>) -> bool { | ||
| arg.as_ref().to_string_lossy().ends_with(PTXAS_INPUT_SUFFIX) | ||
| } |
There was a problem hiding this comment.
does it have to be pub ?
There was a problem hiding this comment.
They are used in the nvcc module.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2722 +/- ##
==========================================
+ Coverage 74.64% 74.78% +0.14%
==========================================
Files 70 70
Lines 39893 40064 +171
==========================================
+ Hits 29777 29961 +184
+ Misses 10116 10103 -13 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Merging this PR will not alter performance
Comparing Footnotes
|
be76bf6 to
f90eeef
Compare
f90eeef to
f713f8d
Compare
|
|
||
| [workspace.lints.clippy] | ||
| cloned_instead_of_copied = "warn" | ||
| cloned_ref_to_slice_refs = "warn" |
There was a problem hiding this comment.
please do that a in different PR
sccacheassumednvcc-generatedciccandptxasinputs were always at a fixed offset near the end of the command line. With CUDA 13.3.33,ciccdryrun output can place--simt-onlyafter the input file, which makes the old positional parser treat--simt-onlyas the input instead ofkernel.cpp1.ii.That can prevent
sccachefrom grouping theciccandptxasdevice compilation steps correctly. Later,fatbinaryfails because the expected.cubinfiles were never produced.Changes
ciccinputs by.cpp1.iiextension instead of fixed position.ptxasinputs by.ptxextension instead of fixed position.ciccinput before--simt-only.ptxasinput detection by.ptx.nvccdryrun grouping coverage for CUDA 13.3-style--simt-only.