Solving the "Limited Computer-Simulation Size" Problem
Low-resolution computer simulation - our job is to solve such problems.

Solving the "Limited Computer-Simulation Size" Problem

Say you have developed a new mathematical model to better solve you industry's problems. After a mathematical proof of correctness a (rather small) computer simulation is used to showcase the model's advantages towards more data-oriented colleagues. After building up trust within the company, the model slowly gets used for more serious sized computer simulations or gets embedded it in an industrial compute process.

Simulation size is always a limit - we simply often need more than is given to us.

Improving the simulation size limit

To overcome the limitations of what can be simulated in a reasonable time, there are several solutions:

  1. Splitting up in a low-resolution data-set and carefully selected high-resolution subset.
  2. Extrapolating results ands selectively test.
  3. Accepting the situation and wait as long as it takes.
  4. Buy more hardware, again.
  5. Accelerating the simulation software.

We've seen acceptation as one of the most used "solutions", as the required simulation sizes exceeded the what could be solved by buying more hardware.

What if we told we have accelerated many simulations 8 to 500 times? Speeding up the simulation with a focus on lowering the memory usage, has helped all of our customers get the required simulation sizes.

Accelerating the software is the only true solution for getting access to bigger simulations. StreamComputing has helped us doing exactly that.

Solving the "limited computer simulation size" problem by speeding up the code.

Find here some examples where existing software was accelerated. When we build from scratch, the performance is optimal by design.

Extensive search of a complex space

After researching several options for finding key areas in a complex space, the final solution was extensive search. On a high-end CPU around 60 solutions per seconds could be calculated. We reworked the algorithm, parallelised the software and applied low-level optimisations. The final performance was 1.5 million solutions per second on the same CPU.

This is a 25,000x speedup and the total targeted space could be searched within a few weeks.

Simulating floods

Where should you build the dam? Flooding simulations assist in testing out several designs. As this takes a lot of time, we were asked if this could be made faster. Using the same 32-core CPU, we achieved a speedup of 5 to 7 times, and could get the total speedup to 35 times using 6 GPUs.

A simulation that would take 7 full days, now takes less than 5 hours. Solutions could be iteratively found in a shorter time.

Predicting energy consumption

Given various input variables, energy consumption of a city for the coming half hour had to be predicted. Unfortunately the calculation took 4 hours. We completely rewrote the algorithm and ported the resulting code to a GPU, resulting in a simulation time of seconds.

Among other things, the extra time was used to increase the simulation size a massive 100 fold.

Simulating heat transfer in metals

A new model could help to better understand the heat transfer in metals. A given model took 192 seconds and was already ported to the GPU. We focused completely on algorithmic optimisations to improve simulation scalability and brought the simulation time down to 40 seconds, a 4.8 times speedup.

Much larger simulation sizes finally became possible.

Also get optimised simulation software from StreamComputing

Our specialisation is building performance-optimised compute backends of software for TOP500 to medium sized companies. The compute backends for computer simulations, of which we have shared a small selection above, have become one of our key focus areas over the years. We have worked in very different (and unique) domains, in close collaboration with the scientists and mathematicians, to get the job done.

Want to know how we can help you? Give us a quick call at +31854865760 or schedule a meeting for a phone/Skype call here: https://calendly.com/streamcomputing/30min

Vincent Hindriksen is the founder and CEO of StreamComputing. A leading software development company with a unique advantage: by knowing the computer hardware better than anybody else, the team makes software run faster and more robustly.

To view or add a comment, sign in

Others also viewed

Explore content categories