feat(nvcc): support argument: --dependency-output#2708
Conversation
76c0b68 to
451aa43
Compare
|
@sylvestre Could you take a look when you have time? |
1 similar comment
|
@sylvestre Could you take a look when you have time? |
|
sorry, i missed your initial ping CI started! |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2708 +/- ##
==========================================
- Coverage 74.34% 74.33% -0.01%
==========================================
Files 70 70
Lines 39373 39378 +5
==========================================
+ Hits 29271 29272 +1
- Misses 10102 10106 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Merging this PR will improve performance by 4.55%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Simulation | normalize_win_path_typical |
1.6 µs | 1.5 µs | +4.55% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ZRHann:support-dependency-output (451aa43) with main (c0db872)
Footnotes
-
4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
|
@codspeedbot explain why this is faster |
|
It looks like you haven't signed up on CodSpeed yet. Please visit codspeed.io to create an account, then try again. |
….0) (#36) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [mozilla/sccache](https://github.com/mozilla/sccache) | minor | `0.15.0` → `0.16.0` | --- ### Release Notes <details> <summary>mozilla/sccache (mozilla/sccache)</summary> ### [`v0.16.0`](https://github.com/mozilla/sccache/releases/tag/v0.16.0) [Compare Source](mozilla/sccache@v0.15.0...v0.16.0) ##### sccache 0.16.0 ##### Summary sccache 0.16.0 is a smaller, stabilizing release on top of 0.15.0's multi-tier caching work, with a few new capabilities: - **Read-only backends**: Any storage backend can now be marked read-only, not just a select few ([#​2705](mozilla/sccache#2705)). - **Remote execution on aarch64**: Distributed/remote execution now works on Linux aarch64, including fixes for `ldd` output parsing and toolchain packaging on non-x86\_64 Linux ([#​2668](mozilla/sccache#2668)). - **CUDA**: `nvcc`'s `--dependency-output` argument is now handled ([#​2708](mozilla/sccache#2708)). - **Resilience**: Fall back to a direct cache write when tempfile creation on the same filesystem fails ([#​2369](mozilla/sccache#2369)), and give a meaningful error when a multi-level chain references a backend that wasn't compiled in ([#​2695](mozilla/sccache#2695)). - **Client efficiency**: The client and dist-client now use a single-threaded tokio runtime, avoiding a thread explosion when many short-lived clients run on many-core hosts ([#​2704](mozilla/sccache#2704)). - **Correctness**: Strip `SCCACHE_BASEDIRS` from escaped-backslash paths on Windows ([#​2736](mozilla/sccache#2736)), ignore empty-set environment values in config ([#​2639](mozilla/sccache#2639)), and avoid the sccache wrapper when resolving the real compiler ([#​2720](mozilla/sccache#2720)). - **Security/logging**: JWT keys and cert digests are now base64-encoded in logs ([#​2712](mozilla/sccache#2712)), plus general logging improvements ([#​2734](mozilla/sccache#2734)). Welcome to 4 new contributors! ##### Features - feat: all backends support making them as read-only by [@​AJIOB](https://github.com/AJIOB) in [#​2705](mozilla/sccache#2705) - Enable RE on Linux-aarch64 by [@​malfet](https://github.com/malfet) in [#​2668](mozilla/sccache#2668) - feat(nvcc): support argument: `--dependency-output` by [@​ZRHann](https://github.com/ZRHann) in [#​2708](mozilla/sccache#2708) - feat: avoid sccache wrapper when resolving compiler by [@​iTrooz](https://github.com/iTrooz) in [#​2720](mozilla/sccache#2720) - Fall back to direct cache write if tempfile creation on the same fs fails by [@​myzhang1029](https://github.com/myzhang1029) in [#​2369](mozilla/sccache#2369) - Don't wait depfiles for gcc/clang preprocessed inputs by [@​AJIOB](https://github.com/AJIOB) in [#​2665](mozilla/sccache#2665) ##### Fixes - fix: strip SCCACHE\_BASEDIRS from escaped-backslash paths on Windows by [@​rconde01](https://github.com/rconde01) in [#​2736](mozilla/sccache#2736) - fix: ignore empty-set environment values for config by [@​AJIOB](https://github.com/AJIOB) in [#​2639](mozilla/sccache#2639) - fix: handle disabled cache backend features in multilevel chain by [@​cryptomilk](https://github.com/cryptomilk) in [#​2695](mozilla/sccache#2695) - fix: use single-threaded tokio runtime in sccache (dist-)client by [@​AJIOB](https://github.com/AJIOB) in [#​2704](mozilla/sccache#2704) - fix: add newline when printing dist-status to stdout by [@​iTrooz](https://github.com/iTrooz) in [#​2710](mozilla/sccache#2710) ##### Logging - chore: encode jwt key and cert digest with base64 in logs by [@​iTrooz](https://github.com/iTrooz) in [#​2712](mozilla/sccache#2712) - Slightly improve logging by [@​glandium](https://github.com/glandium) in [#​2734](mozilla/sccache#2734) ##### Cleanup - chore: make clippy happy by [@​AJIOB](https://github.com/AJIOB) in [#​2727](mozilla/sccache#2727) - Extract new\_client\_runtime() helper to DRY up client runtime creation by [@​sylvestre](https://github.com/sylvestre) in [#​2744](mozilla/sccache#2744) ##### New Contributors - [@​ZRHann](https://github.com/ZRHann) made their first contribution in [#​2708](mozilla/sccache#2708) - [@​myzhang1029](https://github.com/myzhang1029) made their first contribution in [#​2369](mozilla/sccache#2369) - [@​malfet](https://github.com/malfet) made their first contribution in [#​2668](mozilla/sccache#2668) - [@​rconde01](https://github.com/rconde01) made their first contribution in [#​2736](mozilla/sccache#2736) **Full Changelog**: <mozilla/sccache@v0.15.0...v0.16.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9naXRodWItcmVsZWFzZSIsInR5cGUvbWlub3IiXX0=--> Reviewed-on: https://codeberg.org/towonel/towonel/pulls/36
This adds
--dependency-outputto nvcc::ARGS, which is equivalent to gcc's-MFflag. Both flags map to the sameDepArgumentPathvariant and follow identical code paths in gcc::parse_arguments().Without this fix, the file path following
--dependency-outputis treated as aRawinput file. When the actual.cusource is then seen as a second input, the parser returnsCannotCache("multiple input files"), leading toUnhandledCompileand a cache miss.docs for this flag: https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#dependency-output-file-mf