Skip to content

Build Updates, main branch (2026.04.07.)#1134

Closed
krasznaa wants to merge 3 commits intoacts-project:mainfrom
krasznaa:BuildUpdates-main-20260407
Closed

Build Updates, main branch (2026.04.07.)#1134
krasznaa wants to merge 3 commits intoacts-project:mainfrom
krasznaa:BuildUpdates-main-20260407

Conversation

@krasznaa
Copy link
Copy Markdown
Member

@krasznaa krasznaa commented Apr 7, 2026

I found that I need to make a change in the code to keep traccc building successfully with a Clang+CUDA compiler combination.

But before I could make the fix itself, I found that I needed to clean up the CMake configuration of the code a little.

  1. I made the configuration only apply -src-in-ptx when using an appropriate version of CUDA. Like we do in traccc.
  2. I made the presets work a bit more reasonably out of the box. As currently the cuda preset for instance doesn't build any part of the project.

I tried to make sure that the CI builds/tests would continue doing what they are currently doing. 🤞

@krasznaa krasznaa requested a review from niermann999 April 7, 2026 12:51
@krasznaa krasznaa added the build Changes related to the build system label Apr 7, 2026
"name" : "cuda",
"displayName" : "CUDA Developer Configuration",
"inherits" : [ "default-fp32" ],
"inherits" : [ "dev-fp32" ],
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is it possible to have it inherit from the full build preset instead of modifying the dev preset? The dev preset is, in fact, not meant to turn on any of the builds by default...

The additional algebra plugins will also not do anything CUDA related and only slow the build down, so they should remain turned off for the CUDA build.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not sure why you're worried about modifying the dev preset. 😕 Are you using it in your own private builds?

The presets to me personally are mainly there to make development life easier. So that I could build the project in a terminal, or in an IDE, as conveniently as possible. Using these in the CI is a nice added benefit. But if we need to write a long configuration command into the CI setup, that doesn't bother me too much. What bothers me is writing those long configuration commands into a terminal while working on the code. 🤔

With that said, the CI only uses the following presets at the moment:

So again: Are you using the dev presets yourself? Because if not, the settings proposed in this PR make a lot more sense for the way that I build this code for my own purposes. 🤔

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I very rarely build all of detray when I develop, so I don't prefer to add a lot of configurations to turn everything off again. For people who like to build all of it, there is the full preset.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

In case you need an intermediate way, we can also add a new preset

krasznaa added 2 commits April 8, 2026 09:30
The device presets were not building anything other than vecmem
before these updates.
Using the same code that we use in traccc as well.
@krasznaa krasznaa force-pushed the BuildUpdates-main-20260407 branch from 87f18b1 to 7f67f1c Compare April 8, 2026 07:30
@krasznaa krasznaa closed this Apr 8, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 8, 2026

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

Labels

build Changes related to the build system

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants