3 ms·
Well, 3D physics simulations a la finite difference or finite element are not trivial to break up for parallelization, because the state of individual cells is
by allthenews 9y ago
Well, 3D physics simulations a la finite difference or finite element are not trivial to break up for parallelization, because the state of individual cells is mathematically dependent on the state of its neighbors, so communication latency between loop cycles would be a bottleneck on a distributed system without some kind of clever optimization.
Edit: for clarity, finite difference and finite element simulations both involve discretizing a 3D volume into individual cubes (I believe other geometries exist, but are less common) and running an update loop which performs calculations for each of millions or more cells. Of course, models with spatially small divisions, and/or those designed to handle high frequency wave propagation, require potentially enormous amounts of memory (e.g. climate simulation, or large seismic dataset processing). Depending on what math you're solving, there are heuristics which you may be able to use to update only a subset of active cells, or divide up the model to split among multiple machines with minimal loss of accuracy while retaining high precision.