[CSBi-HPC] HPC and Parallel Computing Classes

Michael D Altman maltman at MIT.EDU
Tue Sep 16 17:06:40 EDT 2003


Hi CSBi HPCers-
 
We thought it would be a good idea to provide a list of classes available at
MIT this year that cover high performance and parallel computing.  Although 
most of these classes are very theoretical, some aspects may still be 
interesting to you.


Offered This Term
-----------------
 
6.827 Multithreaded Parallelism: Languages and Compilers
Graduate H-level
Prereq: 6.001, 6.042J
URL: http://www.csg.lcs.mit.edu/6.827/
 
Description:
 
Languages and compilers to exploit multithreaded parallelism.
Implicit parallel programming using functional languages and their 
extensions. Higher-order functions, non-strictness, and polymorphism.
Explicit parallel programming and nondeterminism.
The lambda calculus and its variants.
Term rewriting and operational semantics.
Compiling multithreaded code for symmetric multiprocessors and clusters.
Static analysis and compiler optimizations. 4 Engineering Design Points.
 
 
6.046J Introduction to Algorithms
Undergraduate
Prereq: 6.001; 6.042/18.062 or 18.310
URL: http://theory.lcs.mit.edu/classes/6.046/
 
Description:
 
Techniques for the design and analysis of efficient algorithms,
emphasizing methods useful in practice.
Topics: sorting; search trees, heaps, and hashing; divide-and-conquer;
        dynamic programming; amortized analysis; graph algorithms;
        shortest paths; network flow; computational geometry;
        number-theoretic algorithms; polynomial and matrix calculations;
        caching; and parallel computing. Enrollment may be limited.
 
 
Offered Next Term
-----------------
 
6.046J Introduction to Algorithms
See Above
 
 
6.338J Parallel Computing (Same subject as 18.337J)
Graduate H-level
Prereq: 18.06
 
Description:
 
Advanced interdisciplinary introduction to modern scientific computing on
parallel supercomputers. Numerical topics include dense and sparse linear
algebra, N-body problems, and Fourier transforms. Geometrical topics 
include partitioning and mesh generation. Other topics include 
architectures and software systems with hands-on emphasis on understanding 
the realities and myths of what is possible on the world's fastest 
machines.
 
 
6.823 Computer System Architecture
Graduate H-level
Prereq: 6.004 or equivalent
 
Description:
 
Emphasizes the relationship among technology, hardware organization,
and programming systems in the evolution of computer architecture.
Pipelined, out-of-order, and speculative execution. Superscalar, VLIW,
vector, and multithreaded processors. Addressing structures and virtual
memory, and exception handling. I/O and memory systems. Parallel 
computers; message passing and shared memory systems. Memory models, 
synchronization, and cache coherence protocols. Vector supercomputers. 
Assumes an undergraduate knowledge of computer systems. 4 Engineering 
Design Points.
 
 
6.846 Parallel Processing: Architecture and Applications
Graduate H-level
Prereq: 6.823 or permission of instructor
 
Description:
 
Principles in the design and programming of parallel machines.
Continuum, particle, and graph applications. Communication and
synchronization. Locality in parallel computations. Computational models
and parallel computers: dataflow, shared memory, data parallel, and 
message passing. Parallel machine mechanisms such as full-empty 
synchronization bits, cache coherence, and multithreading. Design and 
performance evaluation of multiprocessor systems. Compilation and runtime 
technologies: partitioning, placement, and scheduling. Substantial project 
required. Alternate years. 4 Engineering Design Points.


More information about the CSBi-HPC-users mailing list