Intel® Threading Building Blocks C++ Sample Application Code Document number: US. Get the open-source TBB tarball from ( select the Commercial Aligned Release). Copy or move the tarball to whatever. Discover a powerful alternative to POSIX and Windows-based threads – Intel Threading Building Blocks, a C++ based framework design.
|Published (Last):||26 November 2013|
|PDF File Size:||16.29 Mb|
|ePub File Size:||2.8 Mb|
|Price:||Free* [*Free Regsitration Required]|
Due to energy constraints, high performance computing platforms are becoming increasingly heterogeneous, achieving greater performance per watt through the use of hardware that is tuned to specific computational kernels or application domains.
It can be challenging for developers to match computations to accelerators, choose models for targeting those accelerators, and then coordinate the use of those accelerators in the context of their larger applications.
This tutorial starts with a survey of heterogeneous architectures and programming models, and discusses how to determine if a computation is suitable for a particular accelerator.
TBB is available as both a commercial product and as a permissively licensed open-source project at http: The library provides generic parallel algorithms, concurrent containers, a work-stealing task scheduler, a data flow programming abstraction, low-level primitives for synchronization, thread local storage and a scalable memory allocator.
Learning the Intel Threading Building Blocks Open Source 2.1 Library
The generic algorithms in TBB capture many of the common design patterns used in parallel programming. While TBB was first introduced in as a shared-memory parallel programming library, it has recently been extended to support heterogeneous programming.
This tutorial will introduce students to the TBB library and provide a hands-on opportunity to use some of its features for shared-memory programming. The students will then be given an overview of the new features included in the library for heterogeneous programming and have a hands- on opportunity to convert an example they developed for shared-memory into one that performs hybrid execution on both the CPU and an accelerator.
Finally, students will be provided with an overview of the TBB Flow Graph Analyzer tool and shown how it can be used to understand application inefficiencies related to utilization of system resources.
By the end of the tutorial, inrel will be familiar with the important architectural features of commonly available accelerators and will have a sense of what optimizations and types of parallelism are suitable for these devices. They will also know the TBB library, have experience using its generic algorithms and concurrent containers to create a shared-memory parallel program, understand its features for heterogeneous programming and will learn how to build and execute a hybrid application.
Attendees should also have an understanding of basic parallel programming concepts such as threads and locks. For the hands-on session there will be three alternatives: Notice where the output file is put.
Tutorial: Develop an Application With Intel® Threading Building Blocks
Notice the kntel file as it was done in section 3. Follow the instructions on the page https: There also will be possibility to use USB sticks with pre-configured virtual machine images as well as to access remote machines through SSH connection instructions will be provided during the tutorial.
Install Parallel Studio for Mac using infel link: In the last five years, he has focused on productively exploiting heterogeneous chips. His research interests include heterogeneous programming models and architectures, parallelization of irregular codes and energy consumption.
He has been involved with parallel computing since starting to work for Inmos in Along the way he owned the profiling chapter in the MPI-1 standard and has worked on parallel debuggers and OpenMP implementations.
Aleksei Fedotov is a software engineer at Intel. Now he leads the architecture and development of the Flow Graph API, including support for heterogeneity.
His interests include parallel computer architectures, parallel programming, runtime development, optimization tutoriap machine learning. Sign in Sign up. When Sun 25 Feb Abstract Due to energy constraints, high performance computing platforms are becoming increasingly heterogeneous, achieving greater performance per watt through the use of hardware that is tuned to specific computational kernels or application domains.
Learning the Intel Threading Building Blocks Open Source Library
Goals By the end of the tutorial, attendees will be familiar with the important architectural features of commonly available accelerators and will have a sense of what optimizations and types of parallelism are suitable for these devices. Windows or Linux instructions: Check tutorila TBB works.
From the configured command line: Check that OpenCL environment is setup correctly: Motivation and background 90 An iintel to heterogeneous architectures — 45 minutes Important features of different accelerators such as GPUs and FPGAs How to measure performance and energy A survey of heterogeneous programming models How to determine if a computation is suitable for an accelerator Success stories: Links to information about Threading Building Blocks http: