Multi-threaded Programming
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.
Hosts to use
UID Host name IP address 065 gks-212.scc.kit.edu 141.52.174.212 066 gks-213.scc.kit.edu 141.52.174.213 073 gks-214.scc.kit.edu 141.52.174.214 074 gks-215.scc.kit.edu 141.52.174.215 084 gks-216.scc.kit.edu 141.52.174.216 085 gks-217.scc.kit.edu 141.52.174.217 090 gks-218.scc.kit.edu 141.52.174.218 091 gks-219.scc.kit.edu 141.52.174.219 094 gks-220.scc.kit.edu 141.52.174.220 102 gks-221.scc.kit.edu 141.52.174.221 109 gks-222.scc.kit.edu 141.52.174.222 022 gks-223.scc.kit.edu 141.52.174.223 117 gks-224.scc.kit.edu 141.52.174.224 118 gks-225.scc.kit.edu 141.52.174.225 127 gks-226.scc.kit.edu 141.52.174.226 128 gks-227.scc.kit.edu 141.52.174.227 132 gks-228.scc.kit.edu 141.52.174.228 134 gks-229.scc.kit.edu 141.52.174.229 137 gks-230.scc.kit.edu 141.52.174.230 138 gks-231.scc.kit.edu 141.52.174.231 139 gks-232.scc.kit.edu 141.52.174.232 140 gks-233.scc.kit.edu 141.52.174.233
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.tar.gz tar xzf GridKa_Multicore.tar.gz
to download and extract the source code on your GridKa maschine.
Reference Material
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