Math 6395 -- Introduction to Parallel Scientific Computing

Homework Assignments -- Spring 2009


[back to top]

See the new section "Turning in Programs" on the syllabus for information on turning in assignments.

Homework 0: TACC Account (1/20)

Go to the Texas Advanced Computing Center (TACC) Portal. In the center of the page, follow the link under "New TACC user? Click here to request a TACC account." Follow the links and fill in your personal information to request an account (Institution: SMU; Department: blank; PI Eligibility: Ineligible). When you have received your TACC account, email the instructor with your TACC account username.

Homework 1: Fortran Programming (due 2/17)

Assignment. Files: tri_solve.m, driver.m, driver.f90, or available in /shared/dreynolds/HW1 on blackbeard.

Solutions: problem1.f90, tri_solve.f90, num_deriv.f90, prob3_driver.f90.

Homework 2: OpenMP Programming (due 3/3)

Assignment. Files: Makefile, problem2.f90, matmat.f90, get_time.f90, mmio.f, A.mtx, B.mtx, problem3.f90, or available in /shared/dreynolds/HW2 on blackbeard, or available in /share/home/00471/tg457291/share/HW2 on ranger.

You may need to refresh your memory on how to use OpenMP on ranger by revisiting Lab 5.

Homework 3: MPI Programming (due 4/21)

Assignment.
Prob 1 Files: Makefile, direct_main.f90, iterative_main.f90, linresid.f90, tridiag_solve.f90, jacobi_solve.f90, input_direct.txt, input_iterative.txt, p7.job (example submission script).
Prob 2 Files: Makefile, problem2.f90, linresid2D.f90, get_time.f90, input.txt, problem2_mpi.f90, plot_prob2.m.
Prob 3 Files: Makefile, jacobi_solve2D.f90, plot_prob3.m.

These files are all also available in /shared/dreynolds/HW3 on blackbeard, or in /share/home/00471/tg457291/share/HW3 on ranger.


Note: For problem 2, you should use the MPI routines mpi_cart_get and mpi_cart_rank. Look them up in the MPI reference manual, and/or ask me about them.

Note: If you'd like a working serial version of problem 3, here are the corresponding files: problem3.f90, jacobi_solve2D_serial.f90, linresid2D.f90.
Here is also a picture of the solution to this problem, for you to compare against.


Solution code (mine):

Problem 2:   linresid2D_mpi_sync.f90,   linresid2D_mpi_async.f90.
Problem 3:   problem3_mpi.f90.