<div dir="ltr"><div dir="ltr"><div dir="ltr">Hello.  I'm not sure if you prefer queries here or on GitHub.  This is a general question so I'm sending it to this list.<div><br></div><div>I'm trying to see whether CppAD's multi-threading features can fit well with Threading Building Blocks (TBB).  Has anyone combined these successfully?  The simplest TBB example is here: <a href="https://software.intel.com/en-us/node/506057">https://software.intel.com/en-us/node/506057</a> . Since TBB abstracts away thread creation but CppAD seems to require explicit thread management, I'm not sure if they're a natural fit for each other.  I can start to see how it might be done but wanted to ask for any suggestions first since I am relatively new to multi-threading issues.</div><div><br></div><div>What I would like to do is create a tape in serial mode and then in parallel use multiple copies of that tape.  The CppAD examples all show each thread both creating and using a tape.   Is what I want to do possible?  I would also like to do this for multiple tapes (of different operations) that all get created once and then used repeatedly in different places.</div><div><br></div><div>Based on the statements on parallel_ad (<a href="https://coin-or.github.io/CppAD/doc/parallel_ad.htm">https://coin-or.github.io/CppAD/doc/parallel_ad.htm</a>), which are not totally clear to me (maybe because I lack the background), does one need to do the parallel_setup and parallel_AD steps if multiple threads will be used only for running tapes (ADFun objects) but not making new tapes?</div><div><br></div><div>Thanks for the great software.</div><div><br></div><div>Perry</div><div><br></div></div></div></div>