- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
TBB pipeline FAQ says that multiple TBB pipelines can be run concurrently if they are launched from different TBB tasks or OS threads. I would like to clarify the meaning of OS threads: do you mean logical threads, as can be created by pthreads, say?
Regards,
Priya
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Exactly. Threads that are explicitly created by means of APIs like pthread_create, _beginthreadex, or CreateThread are usually referred to as OS threads. Another example of OS thread is the thread implicitly created for you by OS to run your main, or WinMain, or DllMain , or whatever else entry function of your application/module.
In general it is safe (from both correctness and performance standpoint) to run TBB's parallel algorithms from wherever you are, independently on whether other TBB algorithms has already been started from other threads. It is also safe to run one algorithm inside the other (nested parallelism). TBB efficiently handles all these usage models.
In general it is safe (from both correctness and performance standpoint) to run TBB's parallel algorithms from wherever you are, independently on whether other TBB algorithms has already been started from other threads. It is also safe to run one algorithm inside the other (nested parallelism). TBB efficiently handles all these usage models.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page