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. |
[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