18 645
How to Write Fast Code I
Carnegie Mellon University · UGRD · Fall 2026
Catalog description
The fast evolution and increasing complexity of computing platforms pose a major challenge for developers of high performance software for engineering, science, and consumer applications: it becomes increasingly harder to harness the available computing power. Straightforward implementations may lose as much as one or two orders of magnitude in performance. On the other hand, creating optimal implementations requires the developer to have an understanding of algorithms, capabilities and limitations of compilers, and the target platform's architecture and microarchitecture. This interdisciplinary course introduces the student to the foundations and state-of-the-art techniques in high performance software development using important functionality such as linear algebra kernels, transforms, filters and other kernels that are utilized by many scientific, engineering and machine learning applications. The course will explain how to optimize for the memory hierarchy, take advantage of special instruction sets, and how to write parallel code for multicore, manycore, and cluster platforms, based on state-of-the-art research. Further, general strategies for performance analysis and optimization are introduced. Students will apply the lessons in group projects that accompany the course. Prerequisite: Senior ECE or CS undergraduate student or higher, solid C programming skills. Course Website: http://www.ece.cmu.edu/~pueschel/teaching/18-645-CMU-spring08/course.html
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff