Skip to content

[PWGHF] TrackIndexSkimCreator: hoist collision-invariant slices out of the 2/3-prong loops#16666

Open
ktf wants to merge 1 commit into
AliceO2Group:masterfrom
ktf:pr16666
Open

[PWGHF] TrackIndexSkimCreator: hoist collision-invariant slices out of the 2/3-prong loops#16666
ktf wants to merge 1 commit into
AliceO2Group:masterfrom
ktf:pr16666

Conversation

@ktf

@ktf ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member

In run2And3Prongs the negative-track index slice was rebuilt inside the positive-track loop, and the D* soft-pion slices inside the (pos,neg) pair body, though all three depend only on the collision. Hoist the neg-track slice to collision scope, and lazily materialize the soft-pion slices once per collision via std::optional. Pure loop-invariant code motion.

@github-actions github-actions Bot added the pwghf PWG-HF label Jun 15, 2026
@github-actions github-actions Bot changed the title Hoist slice creation outside the inner loop [PWGHF] Hoist slice creation outside the inner loop Jun 15, 2026
@github-actions

Copy link
Copy Markdown

O2 linter results: ❌ 0 errors, ⚠️ 8 warnings, 🔕 7 disabled

@vkucera vkucera left a comment

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.

Please add the file name in the PR title to specify the scope of the changes.

@ktf ktf changed the title [PWGHF] Hoist slice creation outside the inner loop [PWGHF] Cut mixed-event pairing CPU ~35% by hoisting the per-window slice Jun 15, 2026
@ktf

ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

@vkucera improved. Actual validation of the code done at https://alimonitor.cern.ch/hyperloop/view-wagon/57243/test-statistics

@vkucera

vkucera commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

@vkucera improved. Actual validation of the code done at https://alimonitor.cern.ch/hyperloop/view-wagon/57243/test-statistics

I think you confused it with another PR.

@ktf

ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

yes, indeed.

@ktf

ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

The description was meant for #16663

@ktf ktf changed the title [PWGHF] Cut mixed-event pairing CPU ~35% by hoisting the per-window slice [PWGHF] TrackIndexSkimCreator: hoist collision-invariant slices out of the 2/3-prong loops Jun 15, 2026
@ktf ktf requested a review from vkucera June 15, 2026 19:34
@alibuild

alibuild commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/o2 for 0c38cad at 2026-06-19 15:09:

## sw/BUILD/O2Physics-latest/log
2026-06-19T15:09:54.683+0200 [5854:140686767148672] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchReadBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.683+0200 [5854:140686767148672] [executioncontext.cpp:739] [ERROR] Failed to download output blob da253d2288c8881406a1703c78296be6af7c66eb079e858e1ac9af1c269a5ff9: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5913:140355540012672] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchReadBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5913:140355540012672] [executioncontext.cpp:739] [ERROR] Failed to download output blob 535b79010f340c5c55063ec6ac19559fb280245174011f833b1ac51f23ec2594: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5938:139992290430592] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchUpdateBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5938:139992290430592] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.UpdateActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.683+0200 [5539:140411355623040] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchUpdateBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.685+0200 [5539:140411355623040] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.UpdateActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.683+0200 [5718:140212659347072] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchUpdateBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5718:140212659347072] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.UpdateActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.683+0200 [5720:139954732052096] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchUpdateBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5720:139954732052096] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.UpdateActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.683+0200 [5881:140545034210944] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchUpdateBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.685+0200 [5881:140545034210944] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.UpdateActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.683+0200 [5716:140447637425792] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchUpdateBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5716:140447637425792] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.UpdateActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.683+0200 [5965:140092195810944] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchReadBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5965:140092195810944] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.685+0200 [5965:140092195810944] [executioncontext.cpp:739] [ERROR] Failed to download output blob f84244908ce886d4fe67647b0f43d13c45c45672b9e36d36aa0c2a38e90b6705: 14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused
2026-06-19T15:09:54.683+0200 [5994:139816290320000] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchReadBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.684+0200 [5994:139816290320000] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T15:09:54.685+0200 [5994:139816290320000] [executioncontext.cpp:739] [ERROR] Failed to download output blob 73db235c4771fd32a708e4c4e69095ac740ed137c549eb79fa425bb084fc959a: 14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused
2026-06-19T15:09:54.683+0200 [5634:140287424228992] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.685+0200 [5634:140287424228992] [executioncontext.cpp:739] [ERROR] Failed to download output blob 287c01f883d89b1ff86d70d94dc4cb1dbd8b3b5fd523c311dee8733913a884bb: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5669:140129385651840] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.685+0200 [5669:140129385651840] [executioncontext.cpp:739] [ERROR] Failed to download output blob d69f15b7ae8acadf28d29c945d1ca5b5be8fdb2821c62cb57acc9a83fafbd0cd: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5415:140144987537024] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.687+0200 [5415:140144987537024] [executioncontext.cpp:739] [ERROR] Failed to download output blob d153f30b1d74754fb6bcd65491e447787b2f33bc1c30d9aa15d6460079e5b2e5: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5076:139732461674112] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.687+0200 [5076:139732461674112] [executioncontext.cpp:739] [ERROR] Failed to download output blob 8251b37e128e32d51230f628c9bde2e8315ddde7048e253834c8a241ccb4fe87: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5392:139942179597952] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.687+0200 [5392:139942179597952] [executioncontext.cpp:739] [ERROR] Failed to download output blob c93c0f8d669c2980b3e4c85c4056da702eb832893295dc571b7c91a1cb235d5c: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5339:139951800069760] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.688+0200 [5339:139951800069760] [executioncontext.cpp:739] [ERROR] Failed to download output blob 87ed1ca1fa0fbdc7708ea247da4ed1a7e6e2d5623b7f4a5946ca379e771e9085: 14: Socket closed
2026-06-19T15:09:54.684+0200 [5340:139788897242752] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.687+0200 [5340:139788897242752] [executioncontext.cpp:739] [ERROR] Failed to download output blob 08fa37219497ac62fb13cd62de1668841200ca9ca9ab6e1670b1555ef6b8e576: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5175:140294417006208] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.688+0200 [5175:140294417006208] [executioncontext.cpp:739] [ERROR] Failed to download output blob 8d11902776f6ccf21df5cfe08c0a264e7f886c5722a9beba3d643a5088e4db3c: 14: Socket closed
2026-06-19T15:09:54.684+0200 [5182:139816207867520] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.689+0200 [5182:139816207867520] [executioncontext.cpp:739] [ERROR] Failed to download output blob ea8d4d03e757a1de6a79d4e5d803509b07d9984427726dadbecdf0e944bd7047: 14: Socket closed
2026-06-19T15:09:54.683+0200 [4674:140288155860608] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.690+0200 [4674:140288155860608] [executioncontext.cpp:739] [ERROR] Failed to download output blob 28b7e935a3ad97625c72df9a5f9485fc0c4ee66a66d5370865640bd76413bc99: 14: Socket closed
2026-06-19T15:09:54.683+0200 [5070:139856949743232] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.692+0200 [5070:139856949743232] [executioncontext.cpp:739] [ERROR] Failed to download output blob 9109a08bc57ce94bfbda2e30d7772c669525cfedcf45e41675dfaabd886a4fea: 14: Socket closed
2026-06-19T15:09:54.684+0200 [4865:140497066421888] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.692+0200 [4865:140497066421888] [executioncontext.cpp:739] [ERROR] Failed to download output blob ac2e87185964e9ffb10d435832e53452c4a41e1a6f20ee67db45dc81d9fe2b15: 14: Socket closed
2026-06-19T15:09:54.683+0200 [4615:139776810540672] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T15:09:54.698+0200 [4615:139776810540672] [executioncontext.cpp:739] [ERROR] Failed to download output blob aec7e3a4d43324b13ed2d29a09ad82a9cf63eacfa075c4fb31abd3b0df3a14e3: 14: Socket closed
[0 more errors; see full log]

Full log here.

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

Labels

pwghf PWG-HF

Development

Successfully merging this pull request may close these issues.

3 participants