Automatic Differentiation
 
Loading...
Searching...
No Matches
stan::math::ad_tape_observer Class Referencefinal

Detailed Description

TBB observer object which is a callback hook called whenever the TBB scheduler adds a new thread to the TBB managed threadpool.

This hook ensures that each worker thread has an initialized AD tape ready for use.

Refer to https://software.intel.com/content/www/us/en/develop/documentation/tbb-documentation/top/intel-threading-building-blocks-developer-reference/task-scheduler/taskschedulerobserver.html for details on the observer concept.

Definition at line 27 of file init_chainablestack.hpp.

#include <init_chainablestack.hpp>

+ Inheritance diagram for stan::math::ad_tape_observer:

Public Member Functions

 ad_tape_observer ()
 
 ~ad_tape_observer ()
 
void on_scheduler_entry (bool worker)
 
void on_scheduler_exit (bool worker)
 

Private Types

using stack_ptr = std::unique_ptr< ChainableStack >
 
using ad_map = std::unordered_map< std::thread::id, stack_ptr >
 

Private Attributes

ad_map thread_tape_map_
 
std::mutex thread_tape_map_mutex_
 

The documentation for this class was generated from the following file: