• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Molecular modelling on GPU

niki

n00b
Joined
Jul 15, 2008
Messages
9
Hi

I’d like to discuss possibilities to reach hi performance in molecular dynamics on NVIDIA 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.

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 (http://www.ks.uiuc.edu/Research/gpu/) has very interesting algorithm but it seem to me that it is not universal but appropriate only for polymeric molecules. Moreover it is cell based but not pair lists based.

Ascalaph (http://www.agilemolecule.com/Ascalaph/Ascalaph-Liquid.html) archive only 10 times speedup (no pair lists).

Folding@home (http://folding.typepad.com/news/2008/05/gpu-news-gpu1-g.html) 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?
 
You'd probably have a better chance for answers on the Beyond3D gpgpu forum. There are a number of issues one must be aware of when programming gpgpu applications. Number one from my perspective is the limited shared memory between individual processors/shader units, and second is limited onboard memory for large datasets. Also, since gpus are designed mainly for FP, integer and bitwise operators are usually not available (ATi's 48xx series has 'em though). Branching instructions also exact a large penalty in performance, so if you can program an application to do most of the if/then/else and looping operations on the cpu while sending out the large SIMD arrays to the gpu, I'd guess you would see better performance than doing everything only on the gpu.
 
Thank you for answer and reference.
Well organized molmechanic code does not have branches. We have a lot experience in it on CPU. But we have not experience how to work without fast memory access. Shared memory help very small so that it have small capacity.
 
Niki you seem well versed in this type of thing. Might I ask if you have any computers folding right now? You may already know, but [H]ardforum has a folding team under the distributed computing sub forum. Drop on by sometime, there are quite a few people over there that would love to discuss this type of thing I am sure.

 
I tried to do some protein folding but I am not participant of folding@home
 
Back
Top