Research Plan (HHMI) - Summer 2004
Last updated: Wednesday, 15-Sep-2004 23:41:25 EDT
Folding@Clusters
- Initial release with support for one MD package
- Molecule testing and benchmarking
- GROMACS
- One other MD package
- Resource and software characterization
- By molecule
- By method
- By platform
- One specific item in this area is a comparison of system
resources for a given molecule and method on PPC vs x86. On PPC
there seems to be a lot more system overhead, could this be it?
The interrupt load from a single GigE can be high enough to
saturate the CPU, thus the introduction of NAPI in more recent
Linux kernels, as well as Jumbo packets.
- Plan
- Design, write, test, and release the code.
- Poster for submission to _____________?
Numerical Methods for Modern SIMD Architectures
- recip(x) and sqrt(x) are the principle operations of interest.
- AltiVec, SSE, possibly SPARC are the architectures to focus on.
- Questions
- Which algorithms does GROMACS currently use for plain,
AltiVec, and SSE?
- On which platforms is it faster to do recip(x) in hardware
rather than software? sqrt(x)?
- Would a fused multiply and add instruction be useful in
this context?
- Plan
- NB: For now do all of the following on bazaar, not Cairo.
John should use b16 and Dawit b17.
- Get the tarball for GROMACS 3.2.1 and unpack it into a subdirectory
of your home directory on the cluster file system.
- Get the set of optimal configuration options for GROMACS and the
information you need about FFTW from JoshH or JoshM.
- Build GROMACS in a subdirectory of your home directory, do not
do a "make install", just use the binaries that are built in your
directory.
- Run GROMACS with the villin molecule on a single processor. For
most of the numerical methods work you won't ever run in parallel mode.
Either JoshH or JoshM can point you to the molecule repository. Make a
copy of the molecule source files to a subdirectory in your home tree
before you start.
- Look at the output of mdrun, compare the run-time data with
(Dawit || John) and make sure you have similar results.
- Repeat the above for two or three other molecules. JoshH can give
you pointers to ones that will run in a reasonable (less than 1
day) length of time.
- Put together a simple chart that shows molecules, wall time and
CPU time for a single processor run, and for each molecule a list
of the routines which taken together account for 80% or more of the
total M-Flops consumed (with M-Flop and % data values). For
instance if 3D-FFT takes 82% for villin than it would be the only one
listed. If 3D-FFT takes 60% and the next smaller one takes 22% they
would both be listed, etc.
- Build a benchmarking kernel based on GROMACS for these operations.
- Paper for submission to MCURCSM, _____________?
Benchmarking and Tuning GROMACS Paper
- Choose an outlet
- Write the paper
- Test GROMACS with PVM and other MPI implementations and report
on the results.
- Consider adding a chapter on tips and failure modes for running
in parallel mode.
Plumbing -
see
http://cluster.earlham.edu/project/sna/plumbing-summer-2004.html That document is
a candidate for a WiKi.
People and Project Mapping
- Charlie - grants, plumbing, F@C, b-and-t gromacs paper,
- JoshH - F@C, b-and-t gromacs paper,
- JoshM - grants, plumbing, F@H, b-and-t gromacs paper,
- Dawit - grants, plumbing, numerical methods,
- John - grants, numerical methods,
todo
- consider wiki for items where it's appropriate