Repository navigation
Move the task size facilities to thread_support - #8029
Nithurshen wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. Summary
Merge Risk:
|
Up to standards ✅🟢 Issues
|
There was a problem hiding this comment.
Thanks, this is what I had in mind. The header moves unchanged, thread_support depends on neither functional nor coroutines, so the new dependency of functional on thread_support doesn't create a cycle, and the breaking change is documented in the release notes.
The failure in the C++20 Modules build is a clang crash (exit 139) that shows up on other PRs as well, it is unrelated.
|
@Nithurshen Please rebase this onto master to resolve the conflicts. |
Move hpx/functional/traits/get_task_size.hpp unchanged to hpx/thread_support/task_size.hpp: task_size, task_size_duration, bulk_task_size, get_task_size, get_task_size_for and the builtin operation traits. The function wrappers in functional now include hpx/modules/thread_support.hpp, and functional depends on thread_support directly. thread_support depends on neither functional nor coroutines, so the stack size facilities can be added there as well. The names are unchanged; code that included the old header directly has to include hpx/modules/thread_support.hpp instead. Document this in the V2.1.0 breaking changes. Part of TheHPXProject#8020 Signed-off-by: Nithurshen <nithurshen.dev@gmail.com>
5c77dbf to
403c315
Compare
Part of #8020
This is the first step of the updated plan in #8020, as suggested in #8020 (comment).
Proposed Changes
hpx/functional/traits/get_task_size.hppunchanged tohpx/thread_support/task_size.hpp:task_size,task_size_duration,bulk_task_size,get_task_size,get_task_size_forand the builtin operation traits.functional(bind,bind_front,bind_back,deferred_call,one_shot,hpx::function,hpx::move_only_function) includehpx/modules/thread_support.hppinstead, andfunctionaldepends onthread_supportdirectly.hpx/modules/thread_support.hppinstead.Any background context you want to provide?
thread_supportdepends on neitherfunctionalnorcoroutines, so the stack size facilities can be built there next, andthread_enums.hppcan move there later. No behavior change.Tested with
sized_function,task_size_annotations,task_size_hint,task_sizes_reduce_merge,task_size_chunk_size_configuration,executor_parameters,function_test,bind_test,launch_policy,fork_join_executorandaction_task_size:stellargroup/build_env:17with clang-20, warnings as errors and thread debug info, as in the inspect job, including the header tests offunctionalandthread_support; clang-tidy-20 and the inspect tool report nothingstellargroup/build_env:22with clang-22, C++23 andHPX_WITH_CXX_MODULES=ON, as in the modules job