Rendering physical systems in computer simulations can be a daunting task even for the best of programmers, and more so if more than one model parameter is required. If you’re familiar with MATLAB or Eigen, then you know what it takes to develop some of these simulations and the number of lines of complex code each can include. Oh, and make it run fast.
What if you could write fast phys sim code and less of it? A small band of researchers have made it possible for you to do just that and they’ve made it completely open-source. Simit is a language for building physical simulation algorithms.
In an effort to reduce the amount of code written while improving overall simulation capabilities, researchers from several notable academic institutions, including MIT, Adobe, Berkeley, University of Toronto, Texas A&M and the University of Texas, have designed the new programming language to deliver speed through graphed vectors and matrices computed through linear algebra. The have an ‘apps’ directory and complete language manual.
Through their experiments, the team discovered how Simit was tens to hundreds of times faster at rendering physical simulations over other platforms (such as MATLAB and Eigen) and only required a 10th of the code, all while improving performance. The new language is based on linear algebra and requires users to define translations between a graphical description of a system and its matrix system, which are then generated into graphs without the need to translate the graphics into matrices.
What’s more, Simit can be run on both CPUs and GPUs without the need to change or modify the underlying code in order to function, but is more optimized for GPU. In some of the team’s experiments, they found tests of Simit utilizing GPU power resulted in simulation speeds that were 4 to 20 times faster than utilizing CPU power, without the loss of performance and precision.
They also found Simit can be adopted for use in other applications as well, including robotics, machine learning, data analytics and have even used it to create their own implementation of Google’s PageRank algorithm for ranking websites. The researchers have made the code open-source under a commercially permissive license without restriction, which means anybody can use, copy, modify, redistribute and even sell their own version without repercussions. Those interested in getting a copy of Simit can get the software (and more) from http://simit-lang.org/ and those interested in learning more about the underlying details can read the team’s paper here (PDF).