Skip to content

Clarify parallel scheduler build#2104

Open
vasama wants to merge 4 commits into
NVIDIA:mainfrom
vasama:build-parallel-scheduler
Open

Clarify parallel scheduler build#2104
vasama wants to merge 4 commits into
NVIDIA:mainfrom
vasama:build-parallel-scheduler

Conversation

@vasama
Copy link
Copy Markdown
Contributor

@vasama vasama commented May 28, 2026

  • Configure STDEXEC_PARALLEL_SCHEDULER_HEADER_ONLY appropriately based on STDEXEC_BUILD_PARALLEL_SCHEDULER.

  • If STDEXEC_BUILD_PARALLEL_SCHEDULER is off, define the parallel_scheduler target as an empty interface target.

    Create the STDEXEC::parallel_scheduler alias target unconditionally.

  • Build example.sudoku regardless of configuration.

  • Build tests using the user-defined stdexec namespace.

  • Remove local header-only macro override in parallel scheduler test.

  • Remove unneeded weak attribute from default parallel scheduler definition.

    The status quo with the weak attribute simply means that in the case of a missing definition, instead of producing an error, the linker ignores the symbol and creates a null reference. This ultimately results in a runtime segmentation fault when the parallel scheduler backend is queried.

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 28, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ericniebler
Copy link
Copy Markdown
Collaborator

/ok to test 8cdf70e

@vasama
Copy link
Copy Markdown
Contributor Author

vasama commented May 28, 2026

I see there are many build failures, but they don't look directly related to my changes. Perhaps applying the header only configuration is what is breaking the CI builds? 🤔

vasama added 4 commits May 29, 2026 09:36
* Configure STDEXEC_PARALLEL_SCHEDULER_HEADER_ONLY appropriately based
  on STDEXEC_BUILD_PARALLEL_SCHEDULER.

* If STDEXEC_BUILD_PARALLEL_SCHEDULER is off, define the
  parallel_scheduler target as an empty interface target.

  Create the STDEXEC::parallel_scheduler alias target unconditionally.

* Build example.sudoku regardless of configuration.
* Build tests using the user-defined stdexec namespace.
* Remove local header-only macro override in parallel scheduler test.

* Remove unneeded weak attribute from default parallel scheduler
  definition.

  The status quo with the weak attribute simply means that in the case
  of a missing definition, instead of producing an error, the linker
  ignores the symbol and creates a null reference. This ultimately
  results in a runtime segmentation fault when the parallel scheduler
  backend is queried.
@vasama vasama force-pushed the build-parallel-scheduler branch from 8cdf70e to db9705d Compare May 29, 2026 06:36
@vasama
Copy link
Copy Markdown
Contributor Author

vasama commented May 29, 2026

I pushed some fixes. The MSVC and GCC-13 issues I was able to test locally. For the MacOS issue, missing support for __has_include was the only thing I could think of. But it isn't necessary here anyway.

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.

2 participants