Skip to content

feat(autoware_cuda_pointcloud_preprocessor): cuda 12.0 build compatibility#12194

Open
amadeuszsz wants to merge 2 commits intoautowarefoundation:mainfrom
amadeuszsz:feat/autoware_cuda_pointcloud_preprocessor-cuda-cmake-comp
Open

feat(autoware_cuda_pointcloud_preprocessor): cuda 12.0 build compatibility#12194
amadeuszsz wants to merge 2 commits intoautowarefoundation:mainfrom
amadeuszsz:feat/autoware_cuda_pointcloud_preprocessor-cuda-cmake-comp

Conversation

@amadeuszsz
Copy link
Contributor

Description

Latest PR related to NVCC flags aligned compatibility with minimum required version for Autoware. However, downstream projects may use custom CI/CD pipeline or local builds, where CUDA version is below 12.8. This PR adjust flags and make build possible for pipelines with CUDA 12.0+.

Resulting flags for:

  • CUDA 12.0 - 12.7: sm_86, sm_87, sm_89, compute_89
  • CUDA 12.8 - 12.9: sm_86, sm_87, sm_89, sm_101, sm_120, compute_120
  • CUDA 13.0+: sm_86, sm_87, sm_89, sm_110, sm_120, compute_120

Related links

Parent Issue:

autowarefoundation/autoware#6789

How was this PR tested?

Notes for reviewers

Even though this modification keeps flags compatible with user's CUDA version, we can't assure compatibility with CUDA < 12.8 for any incoming features since Autoware is developed under CUDA 12.8 environment.

Interface changes

None.

Effects on system behavior

None.

…bility

Signed-off-by: Amadeusz Szymko <amadeusz.szymko.2@tier4.jp>
@amadeuszsz amadeuszsz self-assigned this Feb 26, 2026
@amadeuszsz amadeuszsz added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Feb 26, 2026
@amadeuszsz amadeuszsz requested a review from drwnz as a code owner February 26, 2026 02:23
@amadeuszsz amadeuszsz changed the title feat(autoware_cuda_pointcloud_preprocessor): CUDA 12.0+ build compatibility feat(autoware_cuda_pointcloud_preprocessor): CUDA 12.0 build compatibility Feb 26, 2026
@github-actions github-actions bot added the component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) label Feb 26, 2026
@github-actions
Copy link

github-actions bot commented Feb 26, 2026

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 18.11%. Comparing base (8d07c62) to head (1f4ac70).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #12194      +/-   ##
==========================================
- Coverage   18.14%   18.11%   -0.03%     
==========================================
  Files        1841     1843       +2     
  Lines      126693   126897     +204     
  Branches    44501    44671     +170     
==========================================
  Hits        22983    22983              
- Misses      84544    84748     +204     
  Partials    19166    19166              
Flag Coverage Δ *Carryforward flag
daily 20.63% <ø> (ø) Carriedforward from 898718b
daily-cuda 18.14% <ø> (ø) Carriedforward from 898718b
differential-cuda 0.00% <ø> (?)
total-cuda 18.13% <ø> (ø) Carriedforward from 898718b

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mojomex
Copy link
Contributor

mojomex commented Feb 26, 2026

Possible duplicate of TIER IV branch: tier4#2707

Copy link
Contributor

@mojomex mojomex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change itself LGTM. Is the plan to have 1 PR per package? Otherwise the tier4#2707 PR could be cherry-picked instead.

@amadeuszsz amadeuszsz changed the title feat(autoware_cuda_pointcloud_preprocessor): CUDA 12.0 build compatibility feat(autoware_cuda_pointcloud_preprocessor): cuda 12.0 build compatibility Feb 26, 2026
@amadeuszsz
Copy link
Contributor Author

amadeuszsz commented Feb 26, 2026

Possible duplicate of TIER IV branch: tier4#2707

All sub-projects may need similar change, therefore change in upstream seems more appropriate.
The change is split by multiple PR for easier cherry-picking.

Also linked PR does not come with forward compatibility if build with CUDA < 12.8, so for consistency purposes I would prefer to apply changes from this PR.

memo: I experimented with more robust approaches, but unfortunately not all the environments can discover architecture properly and therefore fallback to sm_50. Current approach is kind of "legacy", but safest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) tag:require-cuda-build-and-test

Projects

Status: To Triage

Development

Successfully merging this pull request may close these issues.

2 participants