Skip to content

build: Simplify Traccc Setup, main branch (2026.08.04.) - #5830

Open
krasznaa wants to merge 1 commit into
acts-project:mainfrom
krasznaa:TracccSetupSimplify-main-20260804
Open

build: Simplify Traccc Setup, main branch (2026.08.04.)#5830
krasznaa wants to merge 1 commit into
acts-project:mainfrom
krasznaa:TracccSetupSimplify-main-20260804

Conversation

@krasznaa

@krasznaa krasznaa commented Aug 4, 2026

Copy link
Copy Markdown
Member

While working on re-establishing my development environment, now as part of a "full Acts build", I removed some unnecessary lines from the traccc setup. (Ones that didn't override anything.)

At the same time I made the setup of TRACCC_USE_ROOT just slightly more elaborate. And provided a bit of documentation for why the various cache variables are set up by default as they are.

--- END COMMIT MESSAGE ---

As a scary detail, I ended up with the following CMake preset for now on my desktop. (Which only has an NVIDIA GPU, but has both CUDA and HIP available.)

{
   "version": 4,
   "configurePresets": [
      {
         "name": "gpu-devel",
         "displayName": "atspot01 GPU Development",
         "warnings": {
            "deprecated": true
         },
         "binaryDir": "build",
         "cacheVariables": {
            "CMAKE_CXX_STANDARD": "20",
            "CMAKE_CUDA_STANDARD": "20",
            "CMAKE_CUDA_ARCHITECTURES": "native",
            "CMAKE_HIP_STANDARD": "20",
            "CMAKE_HIP_ARCHITECTURES": "native",
            "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
            "BUILD_TESTING": "ON",
            "ACTS_ENABLE_LOG_FAILURE_THRESHOLD": "OFF",
            "ACTS_BUILD_FATRAS": "ON",
            "ACTS_BUILD_UNITTESTS": "ON",
            "ACTS_BUILD_INTEGRATIONTESTS": "ON",
            "ACTS_BUILD_PYTHON_BINDINGS": "ON",
            "ACTS_GENERATE_PYTHON_STUBS": "ON",
            "ACTS_BUILD_PLUGIN_TRACCC": "ON",
            "ACTS_ENABLE_CUDA": "ON",
            "ACTS_USE_SYSTEM_EIGEN3": "OFF",
            "VECMEM_BUILD_CUDA_LIBRARY": "ON",
            "VECMEM_BUILD_HIP_LIBRARY": "ON",
            "DETRAY_BUILD_CUDA": "ON",
            "DETRAY_BUILD_BENCHMARKS": "ON",
            "DETRAY_BUILD_VALIDATION_TOOLS": "ON",
            "DETRAY_SET_LOGGING": "NONE",
            "TRACCC_SETUP_TBB": "ON",
            "TRACCC_SETUP_ROCTHRUST": "OM",
            "TRACCC_BUILD_CUDA_UTILS": "ON",
            "TRACCC_BUILD_CUDA": "ON",
            "TRACCC_BUILD_HIP": "ON",
            "TRACCC_BUILD_ALPAKA": "ON",
            "alpaka_ACC_GPU_CUDA_ENABLE": "ON",
            "TRACCC_SUPPORTED_DETECTORS": "default_detector;itk_detector",
            "TRACCC_BUILD_PERFORMANCE": "ON",
            "TRACCC_BUILD_SIMULATION": "ON",
            "TRACCC_BUILD_TESTING": "ON",
            "TRACCC_BUILD_EXAMPLES": "ON",
            "TRACCC_BUILD_BENCHMARKS": "ON"
         }
      }
   ]
}

While making the setup of TRACCC_USE_ROOT just slightly more
elaborate, and providing a bit of documentation for why the
various cache variables are set up by default as they are.
@github-actions github-actions Bot added this to the next milestone Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Public API surface diff

No change to the public API surface. ✅

@stephenswat stephenswat left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I marked this code as technical debt and as something to be removed for a reason. I'm surprised to see you replace it by functionally identical code while removing the warning. 😆

Let's not go with this and move straight towards a robust, long-term solution: the Traccc/ directory should be the source of truth on how to configure traccc; it should be there that we set the defaults for these options, using information about whether traccc is being built as a component of ACTS or not. That will allow us to immediately remove the technical debt that is accrued here and will make the future transition of traccc to a true component of ACTS much easier.

@sonarqubecloud

sonarqubecloud Bot commented Aug 4, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

📊: Physics performance monitoring for b3ee7cd

Full contents

physmon summary

❗️: Downstream build failure

  • eic-shell EICrecon (cc @acts-project/epic-contacts)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants