root icon indicating copy to clipboard operation
root copied to clipboard

[GenVectorX] Prototype SYCL support for 4-dim vector classes

Open mdessole opened this issue 8 months ago • 1 comments

This Pull request:

Adds GenVectorX, a prototype implementation of SYCL support for 4-vectors operations.

Checklist:

To build, you need the flags: -Dexperimental_adaptivecpp -Dexperimental_genvectorx

  • [x] tested changes locally
  • [x] updated the docs (if necessary)

mdessole avatar Apr 22 '25 12:04 mdessole

Test Results

    20 files      20 suites   3d 15h 15m 15s ⏱️  3 664 tests  3 628 ✅   0 💤 36 ❌ 71 543 runs  71 387 ✅ 120 💤 36 ❌

For more details on these failures, see this check.

Results for commit 99e7123d.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Apr 22 '25 12:04 github-actions[bot]

@mdessole, could you update the PR description to elaborate on why this work cannot be done in the GenVector package which already seems to be the ROOT component that's widely used by the community.

vgvassilev avatar Jul 11 '25 08:07 vgvassilev

@mdessole, could you update the PR description to elaborate on why this work cannot be done in the GenVector package which already seems to be the ROOT component that's widely used by the community.

Done, hope it's more clear now.

mdessole avatar Jul 11 '25 15:07 mdessole

@mdessole, could you update the PR description to elaborate on why this work cannot be done in the GenVector package which already seems to be the ROOT component that's widely used by the community.

Done, hope it's more clear now.

Can we include an answer to the question why we decided to not added the support in the GenVector instead? Historically, we managed to retrofit things like explicit simd (vectorization) to it. That is, how is this change different from; why we can't add a bunch of template specializations that enable the feature.

vgvassilev avatar Jul 11 '25 16:07 vgvassilev

Can we include an answer to the question why we decided to not added the support in the GenVector instead? Historically, we managed to retrofit things like explicit simd (vectorization) to it. That is, how is this change different from; why we can't add a bunch of template specializations that enable the feature.

Of course: this is an experimental addition to ROOT, which can be enabled with the experimental_genvectorx CMake option. For now we'll expose this to experiments and users, get feedback and based on adoption, we'll decide how to continue develop and maintain the code, which will be then integrated in GenVector. I hope this helps.

dpiparo avatar Sep 16 '25 20:09 dpiparo