Skip to content

ITS GPU Seeding vertexer: use warp reductions for fit peak kernel - #15960

Open
cima22 wants to merge 1 commit into
AliceO2Group:devfrom
cima22:parallel-vertexer
Open

cima22 wants to merge 1 commit into
AliceO2Group:devfrom
cima22:parallel-vertexer

Conversation

@cima22

@cima22 cima22 commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

ITS GPU seeding vertexer: fit vertex candidates with one warp per candidate

fitPeaks fitted each vertex candidate with a single thread, looping serially over every line in the candidate's z-window. A TF has few candidates but windows of up to thousands of lines, so a handful of threads with large windows set the kernel duration while most of the GPU sat idle. The kernel now assigns one warp per candidate: the lanes stride over the window, and the normal-equation sums, time bounds, contributor counts and residuals are combined with warp shuffle reductions, so every lane holds the result.

  • fitPeaksKernel replaces the thread-per-candidate kernel.

  • GPUCommonAlgorithm.h: adds warp_reduce_add/min/max<Width>() (XOR butterfly, result in every lane) next to warp_broadcast

  • ClusterLines.h: the normal equations, the solve and the fit results move into a LineFit base class, shared by the CPU ClusterLines (sequential) and a new device-only WarpFit.

The handler aborts if the device's warp size differs from the compiled gpu::WarpSize.
On 4 Pb-Pb raw TFs (run 560161, AMD MI50): fitPeaks kernel time summed over the TFs went from 80.2 ms to 3.5 ms (23×), and the GPU seeding vertexer is 10–13% faster per TF. Vertices and tracks are identical to before on both GPU and CPU.
fitpeaks_ab

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI_slc9 for a7472dc at 2026-10-14 20:02:

No log files found

Full log here.

This branch has not been deployed

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants