Repository restructuring: Extracting shared CUDA components into core #7156
Replies: 3 comments 9 replies
-
|
Looks Gppd 👍 |
Beta Was this translation helpful? Give feedback.
-
|
How the concept of (In other word, why it is named |
Beta Was this translation helpful? Give feedback.
-
|
Hi @xmfcx, thank you for the proposal. To be frank, I don't really see a strong reason for this refactoring, and personally am rather against it. Similar to Agnocast, CUDA Blackboard is a middleware, and not inherently tied to Autoware, so I'd rather keep it out of any meta repo. I am also similarly confused to @technolojin, because CUDA was historically kept out of The last argument applies equally to all other mentioned packages ( Lastly, TIER IV is currently doing a lot of fast-paced active development on these packages, and depending on the timing of this refactoring, it could introduce significant friction for us. So, if we end up going with this proposal, let's please sync to find a good time to do it. |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As part of the ongoing effort to restructure the repositories, we are extracting the shared CUDA/TensorRT base packages out of
autoware_universeinto a newautoware_core_cudarepository. This post explains what is changing, why, and how the cutover will work. Feedback is welcome before we start.TL;DR:
autoware_universeinto a newautoware_core_cudarepository.cuda_blackboardandtrt_batched_nmswill move fromuniverse/external/*tocore/cuda/*inautoware.repos.docker/will be restructured to additionally produceautoware-core-*-cudaimages.Background
autoware_universecurrently holds 241 packages in a single repository. Around 27 of them touch CUDA or TensorRT, and 4 of those are the shared base that every other GPU package builds on.Keeping the GPU base inside the universe monorepo has real costs:
Moving the shared base into core keeps the layering clear and is the foundation for slimming down
autoware_universein later phases, which will be discussed separately.An interactive dependency graph of the GPU packages is available here: https://xmfcx.github.io/autoware-cuda-graph/


What moves
The following packages move from
autoware_universeinto the newautoware_core_cudarepository:src/src/autoware_cuda_dependency_metauniverse/autoware_universe/common/core/cuda/autoware_core_cuda/autoware_cuda_utilsuniverse/autoware_universe/sensing/core/cuda/autoware_core_cuda/autoware_tensorrt_commonuniverse/autoware_universe/perception/core/cuda/autoware_core_cuda/autoware_tensorrt_pluginsuniverse/autoware_universe/perception/core/cuda/autoware_core_cuda/These four are a clean extraction target. They depend only on each other, core build tooling (
autoware_cmake,autoware_lint_common), ROS, and the externaltensorrt_cmake_module. They have no dependencies back into universe. More than 20 universe packages build directly against this base today.Alongside the package move:
cuda_blackboardandtrt_batched_nms(already standalone autowarefoundation repositories) move fromuniverse/external/*tocore/cuda/*inautoware.repos.docker/is restructured to produceautoware-core-*-cudaimages. Thebase-cuda/universe-cudaDockerfile templates and the bake file already exist, so this is an extension of the current setup.How the cutover works
package.xmlandCMakeLists.txtfiles need no edits; colcon resolves packages by name regardless of which repository they live in.autoware.reposis rewired and the packages are removed fromautoware_universein the same step, so the workspace never holds duplicate packages.autoware_universe.Timeline
gantt title autoware_core_cuda extraction timeline dateFormat YYYY-MM-DD axisFormat %b %d This discussion, collect feedback :d1, 2026-06-11, 7d Tracking issue and PRs are created :d2, 2026-06-18, 7d Review :d3, 2026-06-25, 7d Merge and cutover :milestone, m1, 2026-07-02, 0dWhat this means for you
vcs importwithautoware.reposkeeps working; the packages just come from different repositories after the cutover.autoware_core_cuda. We will announce the freeze window in advance..reposfiles: update your entries when you next sync with upstream.Open items
autoware.reposget bumped.cuda_blackboardandtrt_batched_nmsshould eventually be folded intoautoware_core_cudaor stay as separate repositories.Feedback
Please comment below, especially if you maintain a package that depends on the CUDA base and foresee problems with the cutover, or if you have concerns about the new repository structure.
cc. @mitsudome-r @drwnz @YoshiRi @yukkysaito @TakaHoribe
Beta Was this translation helpful? Give feedback.
All reactions