Parallel Computing

Most new computer architectures are parallel, requiring programmers to know the basic issues and techniques for writing this software. This course is an introduction to the basic issues of and techniques for writing parallel software.

You will be provided with an advanced foundation in various programming models and varieties of parallelism in current hardware.

Significant parallel programming assignments will be given as homework. 

Topics Include

  • Fast networks, multicore, accelerators and vector instruction sets
  • Implicit vs. explicit parallelism
  • Shared vs. non-shared memory
  • Synchronization mechanisms such as locking, atomicity, transactions and barriers
  • Parallel programming models such as threads, MapReduce, Apache Spark and SIMT

Course Page
Price
$5,824.00 Subject to change
Delivery
Online, instructor-led
Level
Introductory
Commitment
10 weeks, 15-25 hrs/week
School
Stanford School of Engineering
Language
English