High Performance Computing for Scientific and Engineering Applications

COM S 425
  1. Credits and contact hours: 3 credits, 4 contact hours
  2. Instructor’s or course coordinator’s name
  3. Text book, title, author, and year: None required
  4. Other supplemental materials: None

Specific course information

  1. Brief description of the content of the course: Introduction to high performance computing platforms including parallel computers and workstation clusters. Discussion of parallel architectures, performance, programming models, and software development issues. Sample applications from science and engineering. Practical issues in high performance computing will be emphasized via a number of programming projects using a variety of programming models and case studies. Oral and written reports.
  2. Prerequisites or co-requisites: COM S 311, ENGL 250, SP CM 212
  3. Required, elective, or selected elective? Selected Elective

Specific goals for the course

  1. Specific outcomes of instruction:
  • Students will learn to assess parallel algorithms from a practical perspective. (2)
  • Students will understand fundamentals of parallel computing including architectures, algorithms, and programming systems.
  • Student will learn parallel algorithmic techniques and develop the ability to design new parallel algorithms.
  • Student will write parallel programs using MPI and appreciate parallel aspects in developing parallel software systems. (6)
  • Students will work in teams, submit a report, and give a presentation. (3,5)

Brief list of topics to be covered

  • Performance measures: speedup, efficiency, scalability
  • Models of parallel computation and basic communication primitives
  • Parallel prefix and applications
  • Parallel sorting algorithms
  • Parallel matrix algorithms
  • Parallel graph algorithms
  • Parallel programming with MPI
  • Communication networks for parallel computers and parallel models of computation
  • Parallel Fast Fourier Transform