"Think parallel or perish" announces a recent industry webinar on the future of software. This announcement reflects a recent disruptive shift from sequential computers to multicores in virtually every domain in the computing industry including desktops, laptops, cellphones, TVs, home media servers, networking systems, gaming machines, and automobiles. This course focuses on the hardware and software foundations of parallel computing.
Course includes a programming contest on a cutting-edge 64-core multicore.
Topics include:
· introduction to key multicore applications in scientific computing, networking and digital video
· parallel computational models including shared memory, streams and messaging
· parallel programming techniques
· VLSI technology review and multicore constraints
· communication and interconnection networks
· multicore caching and memory systems
· shared memory and cache coherence
· messaging
· multicore processor design
· synchronization
· performance evaluation methodologies
The course will comprise lectures, readings, homeworks,
and projects.