Skip to content

port to beman.task - #19

Open
m-fila wants to merge 18 commits into
developfrom
beman
Open

port to beman.task#19
m-fila wants to merge 18 commits into
developfrom
beman

Conversation

@m-fila

@m-fila m-fila commented Jul 20, 2026

Copy link
Copy Markdown
Member

Builds on top of #16 but replaces stdexec with beman.task - another implementation of std::execution::task for C++26 (build on top beman.execution)

beman.task/beman.execution requires C++23 compiler

The --await_strategy=poll isn't supported. The original stdexec implementation was done with repeat_until/repeat_effect_until sender adapter which isn't part of C++26. Porting repeat_until to beman appears to be tedious.

GCC 14 (+CUDA 12.9) compilation doesn't work due to internal compiler errors:

  • traccc/device/common/src/seeding/seed_parameter_estimation_algorithm.cpp:31:6: internal   compiler error: in set_parm_rtl, at cfgexpand.cc:1436
       31 | auto seed_parameter_estimation_algorithm::operator()(
          |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • traccc/device/common/src/clusterization/clusterization_algorithm.cpp:36:1: internal compiler error: in set_parm_rtl, at cfgexpand.cc:1436
       36 | clusterization_algorithm::operator()(
          | ^~~~~~~~~~~~~~~~~~~~~~~~

GCC 16.1 (+CUDA 13.3) appears to work although a few errors are reported (Wmaybe-uninitialized, Warray-bounds). These appear to be false positives

At least for now configuration with 1 thread, 1 slot results in the deadlock regardless of synchronization used.

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.

1 participant