New Course: Parallel Computations in Fluid/Thermal Sciences
New Course announced in Parallel Computations in Fluid/Thermal Sciences listed as MAE 298 and MAE 267
(MAE267) - Parallel Computations in Fluid/Thermal Sciences
Fall Quarter 2005, Currently at MWF 9-9:50, T 1:10-2 (But Could Change if Necessary)
CRN 39813
Prof. Roger Davis, MAE Department
Many industries and government facilities are now routinely using parallel computer clusters to solve complex engineering design and analysis problems. Numerical simulations of the airflow, stress, heat transfer, and noise are often performed as part of the design and analysis of aerospace vehicles, engines, automobiles, computers, and many other products. Parallel computers are often used to reduce design time and allow for the analysis of large problem sets. A graduate-level course in Mechanical and Aeronautical Engineering, MAE298 (soon to have permanent course number MAE267), will be offered during fall quarter of 2005 that will provide engineers critical information on parallel computing and how to program parallel computers for every-day engineering problems. The course will include:
- Introduction, Overview of Course, Engineering problem that can take advantage of parallel computing
- Fortran 90/95 for engineering programs, structure of statements and programs, assignment statements, intrinsic functions, I/O, branches and loops, arrays, modules, data-types, pointers, memory allocation, programming with Fortran 90/95
- Parallel Computer Architectures, vector processors, SMPs, distributed-memory, Beowulf clusters, advantages/disadvantages, parallel performance models and analysis, bandwidth, latency, speedup, Amdahl's law, performance analysis tools
- MPI (message passing interface) (distributed-memory) vs. OpenMP (shared-memory) computers and programs, programming with MPI, MPI subroutines, usage in computer programs
- Data Structures, multi-block structured, unstructured, hybrid, mesh refinement, implicit and explicit numerical algorithms, algorithm effects on parallel processing
- Domain decomposition, graph partitioning, bisection, Metis, ParMetis, Chaco
- SPMD vs. MPMD programming, considerations for multi-disciplinary engineering simulations
- Fluid and Thermal Science Applications, Independent Iterations
- Parallel visualization tools, parallel post-processing
Graduates and undergraduates (as an elective) who are interested in learning how to program for parallel computers should consider taking this course. Some knowledge of numerical methods for solving engineering equation sets will be useful.