VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

401-2694-00L 6 Credits
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Parallel Numerical Computing

Lecturers & Examiners: Prof. em. Dr. Wesley Paul Petersen
VVZ CR n/a

Last Updated: 2026-02-05 15:10:04

Abstract

This course is on programming for parallel computers.At a low levels, memory, vectors/pipelining, branchprediction, and independent functional units are studied.The next level is on shared memory machines using OpenMP.At the highest level on multiple independent processors,networks and MPI programming are studied. Numericalexamples: FFT, linear algebra, and Monte-Carlo are studied.

Objective

These lectures will cover methods of numerical algorithms in the perspective of parallel computing. Examples from linear algebra, Fast Fourier Transform, N-body simulations, and Monte-Carlo will be given. The course is not intended to be particularly theoretical, but rather practical. We will be concerned with the mapping of software onto hardware with the goal of optimal usage of the independence of functional units, multi-media and/or vector hardware, and optimal data distribution for shared/distributed memory machines. Accounts will be given on shared memory machines (HP Superdome with 128 superscalar Itanium-2 processors), and on the distributed memory Beowulf cluster (Hreidar and Gonzales, with 176 (resp. 288) Opternon 244 (resp. 250) processors with SSE-type vector registers registers). Vectorization and parallel methods in MatLab will also be discussed. Several paradigms will be covered: instruction level parallelism, shared memory parallelism, and distributed memory parallelism. For example, vectorization on microprocessors like Pentium-IV, Opteron, and Motorola/Apple G-4/5 will be examined.

Content

These lectures will cover methods of numerical algorithms in the perspective of parallel computing. Examples from linear algebra, Fast Fourier Transform, N-body simulations, and Monte-Carlo will be given. The course is not intended to be particularly theoretical, but rather practical. We will be concerned with the mapping of software onto hardware with the goal of optimal usage of the independence of functional units, multi-media and/or vector hardware, and optimal data distribution for shared/distributed memory machines. Accounts will be given on shared memory machines (HP Superdome with 128 superscalar Itanium-2 processors), and on the distributed memory Beowulf cluster (Hreidar and Gonzales, with 176 (resp. 288) Opternon 244 (resp. 250) processors with SSE-type vector registers registers). Vectorization and parallel methods in MatLab will also be discussed. Several paradigms will be covered: instruction level parallelism, shared memory parallelism, and distributed memory parallelism. For example, vectorization on microprocessors like Pentium-IV, Opteron, and Motorola/Apple G-4/5 will be examined.

Resources

Lecture Notes

anonymous ftp "ftp.math.ethz.ch" go to users/wpp/Kurs401-2694-00/Y2006scripts are by unit numbers (unit1 = first week, etc.)lectures will be in .pdf form, but with .ps 2 Folien/page copies, also supplementary material

Literature

P. S. Pacheco, "Parallel Programming with MPI," R. Chandra et al. "Parallel Programming in OpenMP," and W. Petersen and P. Arbenz, "Intro. to Parallel Computing."

General Information

Language
English
Frequency
Yearly recurring

Examination

Type
session examination
Mode
oral 30 minutes

Course Components

Type Title Time & Place Hours
lecture Parallel Numerical Computing
  • Fri 08:15-10:00 (IFW A 36)
2 h weekly
exercise Parallel Numerical Computing No time listed 2 h weekly

Offered In