| September 16, 2011 9:00 PM PDT | |
Parallel Programming with Cilk Plus using the Intel Compiler
A Cilk Plus tutorial at PACT 2011 [link]
Presented by William Leiserson [email] from the Intel Cilk Team
Abstract:
The Intel Compiler now supports two extensions to C/C++ for parallel programming: Cilk and Array Notation, collectively called Cilk Plus. Cilk expresses fork-join parallelism, a way to exploit multiple cores in a way that preserves serial semantics. CEAN expresses vector parallelism, a way to exploit SIMD hardware on a core. This tutorial serves as an introduction to these extensions, and how to combine them effectively, so that the power of modern multicore systems can be harnessed in a straight-forward way. It also advocates a programming methodology based on cache-oblivious techniques that enables simple efficient use of complex memory hierarchies.
Outline:
- Introduction
- Overview of Parallel Hardware (Multicore, SIMD, GPU)
- Overview of Software Parallelization Techniques
- Task-level parallelism: Pthreads, OpenMP, TBB, Cilk
- SIMD: Intrinsics, automatic, pragmas, array notation
- Task Parallelism with Cilk
- Apply the Cilk keywords to expose parallelism in a sequential application.
- Use the Cilkview parallelism analyzer to optimize the application.
- Use the Cilkscreen race detector to identify race bugs.
- Instruction Parallelism with Array Notation
- Learn array section syntax.
- Define parallel operations and function calls.
- Gather, scatter, and reductions.
- Elemental function specification.
- Programming Methodologies
- Combining Cilk and array notation.
- Cache-oblivious techniques.
Speaker Bio:
William Leiserson got his B.S. in Computer Science from RPI, and his M.S. in Computer Science from RIT. He joined Cilk Arts in 2007, working on the Cilk++ compiler and tools. Along with the rest of the engineering team, he joined the Cilk runtime and tools project at Intel Corporation when Cilk Arts was acquired in 2009.
For more complete information about compiler optimizations, see our Optimization Notice.
Comments (0) 
Trackbacks (0)
Leave a comment 
To obtain technical support, please go to Software Support.
Author
William Leiserson (Intel)
|
Product Information
• Events

