I’d like to discuss possibilities to reach hi performance in molecular dynamics on CUDA technology. Astronomers declare 2 order speedup to their tacks. Unfortunately in molecular calculations situation is not so good. Problems originate form the fact than not all pairs of particles should be calculated. For example, particles out cutoff radius should be ignored; covalently bound atoms should be ignored.
The usual decision on CPU is using pair lists. But working with pair list on GPU is very slow due to slow memory access.
There are some programs that made molecular dynamic calculation but it seems to me that all of them are problematic:
NAMD [url=“GPU Acceleration of Molecular Modeling Applications”]http://www.ks.uiuc.edu/Research/gpu/[/url] has very interesting algorithm but it look as a not universal, appropriate only for polymeric molecules. Moreover it is cell based but not pair lists based.
Ascalaph [url=“http://www.agilemolecule.com/Ascalaph/Ascalaph-Liquid.html”]http://www.agilemolecule.com/Ascalaph/Ascalaph-Liquid.html[/url] archive only 18 times speedup (no pair lists).
HOOMD [url=“http://www.external.ameslab.gov/hoomd/download_real.html”]http://www.external.ameslab.gov/hoomd/download_real.html[/url] claim 15x
Folding@home [url=“Folding@home”]http://folding.typepad.com/news/[/url] declares 50 times speedup. But their codes are not available.
Are there some ideas how to make something like pair lists on the video card and reach proportional speedup?