Henrik Rydgård
831acb099e
Allow specifying a cap on the number of threads used in ParallelLoop
2026-10-09 14:33:58 +02:00
Henrik Rydgård and Claude Sonnet 5
973a10473a
ParallelLoop: make loop tasks cancellable to avoid hang on Teardown
...
SimpleParallelTask/LoopRangeTask never overrode Cancellable(), so a
ThreadManager::Teardown() racing with an in-flight parallel loop would
drop them without ever calling counter_->Count(), leaving anyone
blocked in WaitableCounter::Wait() stuck forever. Cancel() now counts
down the same as a normal completion.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01L4QAoxV2KY7ek4PcZw3WvY
2026-08-09 19:03:28 +02:00
Henrik Rydgård
e59aa11987
Raise the limits for when we use parallelism in ParallelMemcpy
2026-08-07 11:44:01 +02:00
Henrik Rydgård
3743b5dea6
Add new minimal-overhead RunParallel function
2024-12-29 10:48:00 +01:00
Unknown W. Brackets
88ba003f46
ThreadManager: Add a simple priority field.
...
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Henrik Rydgård
81f0c3a8e4
Address feedback (except the mailbox refcount)
2021-06-13 10:16:53 +02:00
Henrik Rydgård
ac9cc26a6d
Simplifiy WaitableCounter. Fixes it on Mac/ARM.
...
Not completely sure why it didn't work before...
2021-06-12 23:08:07 +02:00
Henrik Rydgård
5b64a41a97
ParallelLoop: A bit smarter straggler handling.
2021-06-12 22:04:55 +02:00
Henrik Rydgård
3be5c7bd9a
Make the minimum items per thread explicit. Found some bugs, optional arguments are evil.
2021-06-12 21:21:28 +02:00
Henrik Rydgård
446c2c027e
Get rid of the PrioritizedWorkQueue. Instead just queue tasks on the ThreadManager.
2021-06-12 13:03:53 +02:00
Henrik Rydgård
73871b9b7e
Implement new thread manager, port stuff to it.
2021-06-12 13:03:53 +02:00