New Simulation Language is Hundreds of Times Faster While Using Only One Tenth the Code

in #computer8 years ago

Simulation Situation

Rendering physical systems into computer systems is often painstaking work, juggling between different tools to achieve different levels of precision. Small objects that affect their surroundings independently will need different systems from a single large object that moves as one.

But what if there was a way to marry both, to allow one to "speak" in the language of the other?

That is precisely what these American researchers have done. They have created a programming tool that can switch between large and small scale simulation automatically and without humongous amounts of coding.

In general, low-level and high-level simulations use different languages: graphs for lower-level, and matrices for higher level. Graphs require calculating forces acting on a modeled triangles and tetrahedra, while matrices require linear algebra, and the changes that affect a big group of numbers, a matrix.

When done separately, simulation is much more manageable. But if you want simulation of large objects, down to their minute details, that means translating and going back and forth between these two levels.

GitHub Logo

Simit Solutions

The researchers created Simit, a programming language that solves this problem. The language automatically converts between levels, and does so using a minimal amount of code.

Simit initially asks to describe the translation between the graphical description of a system and the matrix description. It then renders the simulation using linear algebra.

However, during the simulation, it doesn't need to go back and forth between the two levels. Instead, it translates the instructions written in the language of linear algebra into the language of graphs. This has the effect of maintaining runtime efficiency in hand-coded simulations.

Simit allows the same code to work on both conventional microprocessors or on graphics processing units (GPUs), and still maintaining speed and performance.

Sort:  

Awesome and groundbreaking. Another awesome piece of content. I have upvoted and will feature this in my daily hidden gems blog. I'm glad I hit the follow button for your blog.

This post has been linked to from another place on Steem.

Learn more about linkback bot v0.3

Upvote if you want the bot to continue posting linkbacks for your posts. Flag if otherwise. Built by @ontofractal

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.028
BTC 57034.02
ETH 3084.35
USDT 1.00
SBD 2.41