8 ms·
User-friendly language for programming efficient simulations
- faizshah 10y agoMuch more info on their site/github: http://simit-lang.org/language http://simit-lang.org/language Also, the paper is available here: http://simit-lang.org/tog16 http://simit-lang.org/tog16
- pasbesoin 10y agoServer housing publication PDF's appears to have problems, at the moment. Archived copies: http://wayback.archive.org/web/20160828234821/http://groups.csail.mit.edu/commit/papers/2016/simit.pdf http://wayback.archive.org/web/20160828234821/http://groups.... http://wayback.archive.org/web/20160828234958/http://groups.csail.mit.edu/commit/papers/2016/why.pdf http://wayback.archive.org/web/20160828234958/http://groups....
- santaclaus 10y agoAlso coming out this year with the same goal is Ebb from Stanford: http://ebblang.org http://ebblang.org Both languages look cool, but seem fairly limited at the moment -- they are basically DSLs for assembling and solving PSD systems.
- hclgckxjtxjfxur 10y agoIt seems like it would be much more straightforward to write a graph-based FEM library for MATLAB than to make an entirely new language around a feature with a very specific and very narrow use case. Still, the high performance aspects of simit seem interesting, assuming that they weren't too badly cherrypicked.
- santaclaus 10y agoYea, I'm not really sure what a new language buys them here. It seems they could have just released a library (not even tied to Matlab) with their highly tuned stiffness matrix assembly routines and their kernels...
- evouga 10y agoIf you only want the existing kernels, this makes sense. And in the long term it would be useful to have a library of common kernels for assembling FEM stiffness and mass matrices for various kinds of commonly-used elements, etc. Compare to GSLS; the shading language is unnecessary if you only want to use a handful of pre-made shaders, but usually that is not case.
- fredrikbk 10y agoWe needed new language constructs (the matrix assembly) and a new type system for matrices that ties back to the graph to make it simple and fast. It is also not limited to FEM codes. It can be used to write any application that computes on sparse systems using linear algebra. Some application areas are optimization, machine learning, data analytics, fluid dynamics, image processing, and robotics. For more information about the language, why it is designed the way it is, why it is fast, and what applications it can be used for, see the talk I gave at Microsoft Research last Friday: https://youtu.be/raPkxhHy5ro?t=40m32s https://youtu.be/raPkxhHy5ro?t=40m32s
- bmer 10y agoThis is really cool! You have coded up some timesteppers in Simit already; any plans to release them as a standard package which would be officially optimized, or do you mostly expect users to just roll their own as needed?
- fredrikbk 10y agoThanks! Yes, we have an `apps` directory in the source tree that we will add programs to. These programs are tested by our test suites, and will later be our performance regressions. I'm actually working with some people at Adobe this summer to add Local-Global Solvers for ARAP energies (an optimization code) to the set of applications we provide there. We also have an implementation of PageRank.
- sanxiyn 10y agoIt is worth noting that Simit shares an author with Halide: http://halide-lang.org/ http://halide-lang.org/ I'd say Halide was definitely a success of domain specific high performance language, so hopefully Simit is too.
- lowestwhisper 10y agoA presentation of this work is available at: https://www.youtube.com/watch?v=raPkxhHy5ro https://www.youtube.com/watch?v=raPkxhHy5ro
- crustygirl 10y agoWould one be able to write efficient solvers for semidefinite programming using Simit?