xref: /oneTBB/doc/GSG/intro.rst (revision 95f95117)
1.. _intro:
2
3What oneTBB Is
4==============
5
6|full_name| is a runtime-based parallel programming model for C++ code that uses threads.
7The template-based runtime library can help you harness the latent performance of multi-core processors.
8
9oneTBB enables you to simplify parallel programming by breaking computation into parallel running tasks. Within a single process,
10parallelism is carried out through threads, an operating system mechanism that allows the same or different sets of instructions
11to be executed simultaneously. Using threads can make your program work faster and more efficiently.
12
13Here you can see one of the possible executions of tasks by threads.
14
15.. figure:: Images/how-oneTBB-works.png
16   :scale: 70%
17   :align: center
18
19Use oneTBB to write scalable applications that:
20
21* Specify logical parallel structure instead of threads.
22* Emphasize data-parallel programming.
23* Take advantage of concurrent collections and parallel algorithms.
24
25oneTBB supports nested parallelism and load balancing. It means that you can use the library without worrying about oversubscribing a system, which happens when more tasks are assigned to a system than it can handle efficiently.
26
27oneTBB is used in different areas, such as scientific simulations, gaming, data analysis, etc.
28
29It is available as a stand-alone product and as part of the |base_tk|.
30