Dear Intel® TBB user,
I would love to hear your candid thoughts about the following question on TBB.
On a scale of 1-5 how likely is it that you would recommend the Intel® TBB to a peer or colleague with 5 being most likely to recommend?
Please leave your responses below and don’t forget to provide a reason for your score be it high or low.
When your parallelization is very simple OpenMP works but once you end up in a nested situation the scaling gets much harder very quickly. The task system in OpenMP seems much worse to me than TBB and with TBB you can easily build a graph based parallelization so that you define the problem instead of defining the parallelization.
Overall I don't see many other things competing with what TBB does. You have MPI for scaling between nodes, OpenMP for simple scaling and TBB for task based scaling.
Currently I am a PhD researcher changing the parallelization of our simulator to use TBB instead of OpenMP for the nesting reason. With TBB I have parallel regions, inside parallel regions that call a TBB version of MKL without oversubscribing the resources.
It would be nice if the tooling was a bit better (or I knew how to use the tooling a bit better) to figure out what is causing waiting and where but the tools do seem to keep getting better. A graph based approach would be nice.
Intel TBB is cross-platform and stable. You can use other Intel tools to optimize performance with Intel TBB. Intel TBB receives frequent updates, and therefore, your code investment is protected. Intel TBB is the best for task-based parallelism. However, let me add one of the most important things, you have support from many users around the world that are experts on Intel TBB and the underlying hardware. The Intel TBB community has the brightest minds in parallel programming I was able to meet with 20 years of experience in the software development industry.