Skip to content

Replace dispatch::thread_pool with a simpler internal parallel_for backend #643

Description

@blackencino

The current dispatch::thread_pool has a reproducible lifetime bug in the uniform scheduler. A stack-owned job is published to all workers, but completion only waits for the selected participants.
Nonparticipating workers can still observe and dereference the job pointer after the submitting thread has returned, producing ASan-detected stack use-after-scope/use-after-return failures.

Rather than making TBB/OpenMP mandatory, fVDB should replace this with a narrower internal parallel_for backend: persistent workers, atomic chunk claiming, caller participation, serial nested calls, exception
propagation, and sanitizer stress coverage.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingcore libraryCore fVDB library. i.e. anything in the _Cpp module (C++) or fvdb python moduletriageNeeds team review

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions