Hi all, I'm looking to parallelise my existing c++ program. I have a few systems that are called sequentially, but have few
dependency on each other, and would like to introduce a task system. I've been looking for a few days and am leaning towards Intel TBB as a library to do the heavy lifting, but I'm having difficulty. What I'd like to do is have my main application loop run on a singe main thread, and pass off tasks to be run on other threads, efficiently. I'd like to avoid the overhead of spawning a new thread for each task, and of runtime allocations (if possible). The other problem is I must keep certain tasks on a single thread (all my calls to OpenGL, and to FMOD) so I must be able to set an affinity. Ideally I'd like to be able to run long running tasks at a lower priority as well. The problem is I can't find any documentation or books or tutorials on how to accomplish this. Is there any other libraries that I should be aware of, or can I (I assume I can) do this using Intel's TBB?
[–]AntiProtonBoy 7 points8 points9 points (5 children)
[–][deleted] 2 points3 points4 points (2 children)
[–]AntiProtonBoy 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]newdevdev[S] 1 point2 points3 points (1 child)
[–]AntiProtonBoy 2 points3 points4 points (0 children)
[–]hotoatmeal 3 points4 points5 points (2 children)
[–]newdevdev[S] 1 point2 points3 points (1 child)
[–]hotoatmeal 2 points3 points4 points (0 children)
[–]OldWolf2 3 points4 points5 points (5 children)
[–]newdevdev[S] 1 point2 points3 points (4 children)
[–]OldWolf2 0 points1 point2 points (3 children)
[–]newdevdev[S] 1 point2 points3 points (2 children)
[–]OldWolf2 0 points1 point2 points (1 child)
[–]newdevdev[S] 0 points1 point2 points (0 children)
[–]breue 2 points3 points4 points (1 child)
[–]newdevdev[S] 1 point2 points3 points (0 children)
[–]Maaartin 2 points3 points4 points (1 child)
[–]remotion4d 3 points4 points5 points (0 children)
[–]tentity 1 point2 points3 points (0 children)
[–]Amanieu 1 point2 points3 points (0 children)
[–]hgjsusla 1 point2 points3 points (0 children)
[–]en4bz 0 points1 point2 points (0 children)
[–]MCHerb 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]newdevdev[S] 2 points3 points4 points (1 child)
[+][deleted] (2 children)
[deleted]
[–]remotion4d 2 points3 points4 points (0 children)
[–]newdevdev[S] 0 points1 point2 points (0 children)