Introduction to Supercomputer Applications
Spring 2004
MPI Routines
4th
Quarter assignments
Final
Project options
Summary of 3rd QUARTER assignments:
A. C program 1: Statistics - standard deviation of a large array
B. C program 2: Tally, with description and sample output
EXTRA: Fortran 77 version of Tally or standard deviation program
C. Using the Cray SV1 and our Cluster: run/time a program(s), save your
results
D. Benchmark a matrix multiplication program (see
Starter version)
E. Parallel programming on the SV1:
Lab00 -
Lab04
F. Reading
Assignment
1 (Parallel programming)
G. Register for online parallel programming courses on WebCT-HPC
(HPC = High Performance Computing)
MPI
Worksheet 1, MPI
Worksheet 2,
MPI
Worksheet 3 questions
- Parallel Computing Explained
(Parallel Computing Overview, Timing and Profiling,
Scalar Tuning, How-to Parallelize a Code, Parallel Code Tuning)
- Introduction to OpenMP
- Introduction to MPI
H. Thread programming: OpenMP Lab
01 - programming a "shared memory" system (Cray SV1) with threads.
I. Parallel
Programming assignments (SMP course: Shared Memory Processors)
J. Trajectory
Programs 1 - 3 - Introduction to Computer Graphics Modeling
The Assignments:
- Student
Portfolios Spring 2004
- Webpage portfolio, initial version. See:
Starting
a web page
- Title page including title and author (you)
- Beginning links to the assignments for the quarter
- C (and Fortran) Practice Programming 1:
Tally: tally.c, tally.f
- link to "tally.txt" to view the source code
- include a text file "tally.out" showing sample output with test
cases
- EXTRA: Fortran 77 version of Tally program
- Time one or more of your C programs on the Cray SV1, cluster, and
your workstation
(there are actually 3 different types of workstations)
Use "time ./program"
List of IP
adresses for the cluster
Tips on
using the
Cray SV1
- Benchmarking a matrix
multiplication program
- Overview of parallel programming, OpenMP, and MPI
- Reading
Assignment
1 - Parallel programming
- Self-Register for online parallel programming courses on WebCT-HPC
(HPC = High Performance Computing)
- Parallel Computing Explained
(Parallel Computing Overview, Timing and Profiling,
Scalar Tuning, How-to Parallelize a Code, Parallel Code Tuning)
- Introduction to OpenMP
- Introduction to MPI
- Resource
page from NASA Ames
- OpenMP Lab
01 - programming a "shared memory" system (Cray SV1) with threads.
- MPI Labs
00-04 on parallel programming
- Initial benchmarking experiments:
- Running/benchmarking programs on the cluster (programs to be announced)
- Running/benchmarking programs on the Cray SV1 (programs to be announced)
How do the SV1, cluster, and workstations (transformers, elements,
compaqs) compare?
- Matrix Multiply program in C and Fortran
See Optimizing Matrix
Multply from "Bebop" - Berkeley Benchmarking and Optimization Group
- Trajectory Program - Introduction to Computer Graphics Modeling
- see Computer
Simulation and Modeling: "Project 1 - 3 Trajectory"