Macaulay2 Engine
Loading...
Searching...
No Matches
m2tbb.hpp File Reference

Engine TBB shim — single point of inclusion for every parallel primitive. More...

#include <M2/config.h>
#include "mathicgb/mtbb.hpp"

Go to the source code of this file.

Macros

#define MATHICGB_NO_TBB   1

Detailed Description

Engine TBB shim — single point of inclusion for every parallel primitive.

Note
AI-generated documentation. Verify against the source before relying on it.

Brings in mathicgb/mtbb.hpp after consulting M2/config.h for the configure-time WITH_TBB flag. When TBB is not available the header defines MATHICGB_NO_TBB, which routes mathicgb's abstractions (parallel_for, parallel_for_each, atomic counters, mutexes, ...) to the serial fallback versions in the second half of mtbb.hpp. Engine code that wants parallelism must include this header rather than <tbb/...> directly so that flipping WITH_TBB at configure time is the only change required.

Consumers include f4/f4.hpp, VectorArithmetic.hpp, NCAlgebras/NCF4.hpp (parallel row reduction), and the schreyer-resolution/ files that drive the Schreyer-frame scheduler and the dep-graph.

See also
schreyer-resolution/res-schreyer-frame.hpp
NCAlgebras/NCF4.hpp

Definition in file m2tbb.hpp.