Hacker News new | past | comments | ask | show | jobs | submit login

The time-limiting step in molecular dynamics is a gigantic 3D fourier transform of the space containing the simulated atoms. This is relatively easy to parallelize provided you have fast communication between processors to synchronize data between between the timesteps.

I know less about Navier-Stokes solvers, but as far as I understand, it ends up as a linear system of equations that is far harder to parallelize.




> it ends up as a linear system of equations that is far harder to parallelize.

Yeah, basically this. If the fluid is compressible, you get a hyperbolic system with only "local interactions", and this is fairly easy to parallelize on standard CPU clusters by using domain decomposition. People have scaled this to millions of cores, but it's not very GPU-friendly.

If the fluid is incompressible, the problem is technically a differential-algebraic equation with an index-two constraint. To solve this you use a splitting method that gives you an elliptic (Poisson) equation for the pressure. This is a major headache even with the fastest interconnects we have today (we're talking 40 Gbit/s links), since the pressure at one point depends on the pressure at all the other points in your domain in each time step. For single-phase flow, you can use Fourier transforms to speed this up, but for two-phase flow you're outta luck.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: