Stanford Root

Schedule

Stanford Root

Schedule

CS 149

Parallel Computing

UNITS:3-4
GRADING:Letter or Credit/No Credit
LEVEL:Undergrad
GER:—

This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, MapReduce, Apache Spark, SPMD, message passing, SIMT, transactions, and nested parallelism). Significant parallel programming assignments will be given as homework. The course is open to students who have completed the introductory CS course sequence through CS 111.

Syllabus not available for this section

Sections

0 Terms
No sections available.

CS 149: Parallel Computing

3-4 units · Letter or Credit/No Credit

This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, MapReduce, Apache Spark, SPMD, message passing, SIMT, transactions, and nested parallelism). Significant parallel programming assignments will be given as homework. The course is open to students who have completed the introductory CS course sequence through 111.

More CS courses

  • CS 146: Game Development
  • CS 146J: Full-Stack Web Programming
  • CS 146S: The Modern Software Developer
  • CS 147: Introduction to Human-Computer Interaction Design
  • CS 147L: Cross-platform Mobile App Development
  • CS 148: Introduction to Computer Graphics and Imaging
  • CS 151: Logic Programming
  • CS 152: Trust and Safety (COMM 122, INTLPOL 267)
  • CS 153: Frontier Systems
  • CS 154: Introduction to the Theory of Computation
  • CS 155: Computer and Network Security
  • CS 157: Computational Logic

All CS courses · All departments