Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
CMSC 732
[go: Go Back, main page]

CMSC 732/838T - Compiling for High Performance Architectures

Catalog Description

Compilation techniques for exploiting parallelism on a variety of advanced multiprocessors. Analysis of scientific programs (dependence testing, dependence graphs, pointers). Program transformations (loop interchange, loop fusion, tiling, renaming). Exploiting parallelism for vector, parallel, and message-passing architectures. Memory hierarchy management (register/cache reuse, prefetching, multithreading). Programming environments and performance debugging.

Course Objectives

This course focuses on compilation techniques needed to obtain high performance on parallel architectures. Compiler analysis and optimization techniques are presented in class lectures. Students will gain experience in reading and presenting research papers. A programming project provides experience with actual implementations and allow students to explore research issues in greater detail.

Prerequisites

CMSC 430 or permission of instructor.

Class Times and Location

Staff

Syllabus

Lectures

Papers

Projects

Topics

  1. Introduction
  2. Dependence analysis
  3. Loop transformations
  4. Memory hierarchy management
  5. Parallelization
  6. Vectorization
  7. Shared-memory machines
  8. Message-passing machines
  9. Interfaces

Course Text

Grading

SUIF

Newsgroups

Students

Miscellaneous

Acknowledgments

Monica Lam, Mary Hall, and Kathryn McKinley provided the original lecture notes. The SUIF compiler system is from Monica Lam's SUIF compiler group at Stanford.