/CS149-parallel-computing

Learning materials for Stanford CS149 : Parallel Computing

Primary LanguageC

CS149 Parallel Computing

This repo contains all the learning materials for the Stanford CS149 course : Parallel Computing.

The professor Kayvon Fatahalian used to teach the same course in CMU (called 15-418). So you can go to the CMU 15-418's official website to watch the course videos.

The CS149's website is here which has links to github repo of the programming assignments.

Course Resources

Introduction

You can go to the course website to see the syllabus. The 15-418 version is more comprehensive and talks many topics which is not included in the CS149 version.

The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems as well as to teach parallel programming techniques necessary to effectively utilize these machines. Because writing good parallel programs requires an understanding of key machine performance characteristics, this course will cover both parallel hardware and software design.

Written Assignments

I only find the 2020 spring written assignments with solution. You can find it in the exercises folder.

Programming Assignments

There are five programming assignments in total. You can find my implementaion in the following links.

Assignment 1: Analyzing Parallel Program Performance on a Quad-Core CPU

Assignment 2: Scheduling Task Graphs

Assignment 3: A Simple Renderer in CUDA

Assignment 4: Big Graph Processing in OpenMP

Exams

There are two exams in total. You can find them with solution in the exams folder.

Want to learn more ?

Check out this repository which contains all my self-learning materials : )