11 namespace tbb_tools_interface {
20#if defined(TBB_USE_PROFILING_TOOLS)
21#define __TBB_TRACE_TASK_CREATE(address) tbb::tbb_tools_interface::task_create(address);
22#define __TBB_TRACE_TASK_ADD_DEPENDENCY(from,to)
23#define __TBB_TRACE_TASK_RUN(address) tbb::tbb_tools_interface::task_run(address);
24#define __TBB_TRACE_TASK_COMPLETE(address) tbb::tbb_tools_interface::task_complete(address);
25#define __TBB_TRACE_TASK_WAIT(address) tbb::tbb_tools_interface::task_wait_start(address.get());
26#define __TBB_TRACE_TASK_WAIT_COMPLETE(address) tbb::tbb_tools_interface::task_wait_complete(address.get());
27#define __TBB_TRACE_TASK_MEMORIZE_NODE(number,address)
28#elif defined(TBB_TRACE_DYNAMIC_TASK_GRAPHS)
31#define __TBB_TRACE_TASK_CREATE(address) std::cout << "TBB DEBUG: create task " << address << std::endl;
32#define __TBB_TRACE_TASK_ADD_DEPENDENCY(from,to) std::cout << "TBB DEBUG: task " << from << "->" << to << std::endl;
33#define __TBB_TRACE_TASK_RUN(address) std::cout << "TBB DEBUG: run task " << address << std::endl;
34#define __TBB_TRACE_TASK_COMPLETE(address) std::cout << "TBB DEBUG: completed task " << address << std::endl;
35#define __TBB_TRACE_TASK_WAIT(address) std::cout << "TBB DEBUG: wait for task " << address << std::endl;
36#define __TBB_TRACE_TASK_WAIT_COMPLETE(address) std::cout << "TBB DEBUG: wait complete for task " << address << std::endl;
37#define __TBB_TRACE_TASK_MEMORIZE_NODE(number,address) std::cout << "TBB DEBUG: memorize task description " << address << " with number " << number << std::endl;
39#define __TBB_TRACE_TASK_CREATE(address)
40#define __TBB_TRACE_TASK_ADD_DEPENDENCY(from,to)
41#define __TBB_TRACE_TASK_RUN(address)
42#define __TBB_TRACE_TASK_COMPLETE(address)
43#define __TBB_TRACE_TASK_WAIT(address)
44#define __TBB_TRACE_TASK_WAIT_COMPLETE(address)
45#define __TBB_TRACE_TASK_MEMORIZE_NODE(number,address)
I've written an API to IIT, but I'm not currently using.