CMU 15-418/618 (Spring 2013) Final Project:

Molecular Dynamics Simulations on a GPU

Main Project Page

Working Schedule

Week What We Plan To Do What We Actually Did
Apr 1-7 Research the basic principles and methods for MD. <-- This.
Apr 8-14 Choose specific algorithms. Put together a MWE of an OpenCL/OpenGL program that just does random particle motion. Tentatively chose algorithms. Set up OpenCL on my computer. Worked through some OpenCL tutorials and borrowed heavily for "starter code."
Apr 15-21 Implement the calculation of potentials based on Lennard-Jones. Use a really dumb assignment scheme to run the kernel just to verify that things are working. Start to implement a basic MD simulation. Wasted a large amount of time hunting a bug that seems to be Nvidia's fault.
Apr 22-28 Finish the simple implementation and add new kernel assignment strategies. Compare the atom, force, and spatial approach to decomposition[1]. Finished the basic implementation.
Apr 29-May 5 Fine tune performance and compare results for a variety of inputs. Determine whether I know QM well enough to try Hartree-Fock. Added the remaining kernel assignment strategies. Tried to get things running on GHC machines. Got set up to record the program, since a live demo probably won't be ideal.
May 6-11 Work on "Extras." This depends on whether I think I can pull off Hartree-Fock. Various improvements to boost performace. Added lots of command line options. Measured performance over a wide range of inputs. I chose to analyze what I have in detail over trying to add new things.

Working Log

[Keep a log of work you have done here. You may wish to list optimizations you tried, what failed, etc. Or you can just rant. Keeping a good log will make it easy to put together your final writeup.]

Excellent OpenCL Resources:

Lennard-Jones Reference