The folks at CilkArts have announced that they will hold a two day course on programming in a multicore environment with Cilk++. The course, Concepts in Multicore Programming, will be taught by Charles E. Leiserson and Pablo Halpern. You might remember them from their book, Introduction to Algorithms. A quick summary of the course outline:
- Day 1: Understand multicore architecture trends (Moore’s law, chip multiprocessors, etc.). Exhibit the ability to compile and run basic Cilk++ programs. Display a hands-on knowledge of basic multicore-programming concepts, including nested and loop parallelism, serial semantics, race conditions. Describe performance concepts, including work, span, and parallelism. Show an understanding of the practical implications of elementary scheduling theory.
- Day 2: Display a familiarity of advanced parallel programming concepts, such as locking, deadlock, synchronizing through memory, and reducers. Show an ability to deal with hurdles to parallelization, including insufficient parallelism, loop-carried dependences, grain size, burdened parallelism, memory bandwidth, nondeterminism, and legacy threading.
The course will be taught June 8-9 in Boston via a partnership with the MIT Professional Education program. For more info, read all the details here.