Difference between revisions of "Multi-threaded Programming"
ThomasHauth (talk | contribs) (→Tutorial Material) |
ThomasHauth (talk | contribs) (→Reference Material) |
||
Line 49: | Line 49: | ||
<ul> |
<ul> |
||
+ | <li><p>Intel Threading Building Blocks - Online Reference</p> |
||
+ | <p>http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm#reference/reference.htm</p> |
||
<li><p>Intel Threading Building Blocks - Tutorial</p> |
<li><p>Intel Threading Building Blocks - Tutorial</p> |
||
<p>http://threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf</p></li> |
<p>http://threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf</p></li> |
Revision as of 16:12, 19 August 2013
Contents
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
Tasks
Slides
Source code
http://hauth.web.cern.ch/hauth/GridKa_Multicore.tar.gz
Use:
wget http://hauth.web.cern.ch/hauth/GridKa_Multicore_2013.tar.gz tar xzf GridKa_Multicore_2013.tar.gz
to download and extract the source code on your GridKa maschine.
Tips & Tricks
Connect to the workshop machine using
ssh -p 24 <gks username>@<full machine address>
If you want to view the picture output of project3, run this command in the project3_taylor folder ( best in a second ssh connection )
python -m SimpleHTTPServer 8080
Now you can open this url in your regular browser (replace with your workshop machine):
http://gks-219.scc.kit.edu:8080/
Reference Material
Intel Threading Building Blocks - Online Reference
Intel Threading Building Blocks - Tutorial
http://threadingbuildingblocks.org/uploads/81/91/Latest%20Open%20Source%20Documentation/Tutorial.pdf
Intel Threading Building Blocks - Reference
Intel Threading Building Blocks - Design Patterns