Difference between revisions of "Multi-threaded Programming"

From Gridkaschool
Line 18: Line 18:
 
The TBB library supports the Windows, Mac OS and Linux operating systems and the
 
The TBB library supports the Windows, Mac OS and Linux operating systems and the
 
Visual C++, GCC and Intel compilers.
 
Visual C++, GCC and Intel compilers.
  +
  +
= Tutorial Material =
  +
  +
  +
<ul>
  +
<li><p>Tasks</p>
  +
<p>http://hauth.web.cern.ch/hauth/tutorial_mcore.pdf</p></li>
  +
<li><p>Slides</p>
  +
<p>http://hauth.web.cern.ch/hauth/mcore_introduction.pdf</p></li>
  +
<li><p>Source code</p>
  +
<p>http://hauth.web.cern.ch/hauth/GridKa_Multicore.tar.gz</p></li>
  +
</ul>
   
 
= Reference Material =
 
= Reference Material =

Revision as of 01:16, 29 August 2012

Technical specification/requirements

Introduction

Intel Threading Building Blocks (TBB) is an open-source C++ library to support the development of mulit-threaded applications which can exploit the available processing cores in modern CPUs. Therefore, various contsructs to support parallelism in applications are provided by TBB. Low-level constructs are available to partition loops to run them distributed over many CPU cores. High-level constructs like a task scheduler and a graph-based execution model allow to express dependencies and relations between computing tasks and TBB can distribute these items among the available cores.

Furthermore, C++ classes are included that guarantee a thread-safe access to containers like lists and maps. Also explicit locking constructs like mutexes are available.

The TBB library supports the Windows, Mac OS and Linux operating systems and the Visual C++, GCC and Intel compilers.

Tutorial Material

Reference Material