Final Project Suggestions
(Please e-mail the points of contacts for further details.)
1) Applications Performance on VIRAM (suggested by Lenny Oliker)
Take your favorite application and implement it on VIRAM (or STREAMS).
Estimate performance, scalability. For more details contact Lenny
Oliker.
As an example of such a project consider the paper
Memory-Intensive Benchmarks: IRAM vs. Cache-Based Machines'', International
Parallel & Distributed Processin Symposium (IPDPS 2002), (L.
Oliker, B. Gaeke, P. Husbands, X. Li, K. Yelick, and R. Biswas). pdf
See the ACTS final project ideas
listed.
3) Improve Efficiency of Sparse Triangular Solution (suggested by Esmond
Ng)
The efficiency of a sparse triangular solution can be improved by using
selective inversion (cf Lecture by Esmond Ng on sparse matrices).
It
boils down to partitioning a sparse triangular matrix by columns so
that the diagonal block of each partition can be inverted explicitly without
any (or with very little) fill.
It's ideal for SuperLU since there is a natural partitioning induced
by the supernodal structure. So, the project involves incorporating
selective inversion into the triangular solution phase in SuperLU_DIST.
The project access to a parallel machine and a bit of programming.
Sherry Li has indicated that she
would be able to help the student(s) to understand the data structures
in SuperLU_DIST so that the student(s) could make the changes.
4) Performance Modeling of a Climate Code (suggested by Michael
Wehner)
Another idea for a project is to exploit PyACTS (ACTS toolkit) to
do some performance profiling of climate models. Specifically, it would
be interesting to see how these tools characterize CAM2, the stand alone
atmosphere model. It would be even more interesting to run the tools on
CCSM2, the fully coupled model.
5) Dynamic Load Balancing in a Climate Code (suggested by Chris
Ding and Michael Wehner)
Change the current static domain decomposition in the CCSM2 cliamte code
in the following way:
1. The existing domain decomp is a single domain on each processor.
However, due to clouds, day-night cycles, load on each proc is not balanced.
We want to split this domain into several pieces, and mix them so that
load on each proc is balanced.
2. The load oad on each domain could change dynamically. So we
require the domains change dynamically according to a predefine objective
function.
This project thus have enough flexibility and complexity for students
to master the domain decomposition/ remapping issues important to climate
modeling and also to parallel computing in general.
6) Climate Modeling Projects (suggested by Inez
Fung)
1. Improve/Continue the port of CSM1.4 to seaborg.
2. Parallelize one/all of the data components in CCSM2.0.1. Currently,
the data models are serial execution. It would be helpful to rewrite
them, so they could be run on more than 1 processor. This should be done
using MPI.
3. Profile CCSM2.0.1 on seaborg, use hpmcount and hpmlib to access
model performance, propose/implement/test performance modifications, propose
alternative processor layout configurations.
4. Prototype a single executable version of CCSM2 using simple component
and MPH (a NERSC utility). I can provide a very simple CCSM2 configuration
running multiple executables and they would need to reorganize the code
into a single executable. I can give some guidance on how to do this.