In most other languages this would fail code review as it is overly terse. I can see it does match the mathematical notation but if the language is supposed to provide any layer of abstraction then it doesn't do a very good job IMO. I guess the target market are mathematicians who already understand and write mathematical notation.
What is the name of the language where the whole game of life was literally one line of code? That was the example that convinced me that terseness can be too much.
also some physical theories which are summarised as
A=F(P)
Anterior=Factor(Posterior) ,
the future is a function of the past.
the difference to E=MCC is that the later one actually contains physical entities and that 'Factor' is often not well defined.
Interesting language! But, reading the manual, I don't quite understand why they _model_ the syntax to mimic mathematics, but then do things like implicit declaration of indices and renaming standard math functions...
taco's runtime appears to be designed for large sparse data while we designed Tile specifically for the dense linear algebra operations in neural nets. Quite a bit of work has gone into making the Tile runtime do the necessary optimizations to make neural nets run efficiently on GPUs and other accelerator designs, none at all for sparse workloads. Given that I'd expect the internals to be fairly different.
If I would name a library after a man who directly ordered to kill your grandparents and grandparents of your colleagues by shooting them in back of their head would you find it funny?
Firstly, I am staunchly anti-Stalinist, anti-communist, and anti-socialist. I’ve been to former Soviet states and seen the devastation that Stalin and his ilk wrought.
Secondly, the library is a wordplay on the name of the city (or perhaps the well-known battle) of Stalingrad. That’s already a step removed from being named after Stalin.
Thirdly, stop trying to turn the world into a humourless wasteland. The policing of jokes of questionable taste screams of moral panic.
You are of course entirely right. It may be worthwhile to email Siskind or Pearlmutter on the subject. I believe Siskind has a tradition of naming things after brutal dictators, so I imagine it's liable to not amount to much.
> PlaidML uses a language called Tile to construct GPU kernels. When used to express machine learning operations, the Tile language is reasonably close to mathematical notation, while also being amenable to conversion into optimized GPU kernels. In addition, all operations expressed in Tile can be be automatically differentiated.
> Tile and PlaidML are still in early development and the Tile language is actively changing to add new functionality.
To clarify, we are independent without any caveat or qualification (I'm the CEO). Our office is in Seattle, if you have questions happy to answer here, on LinkedIn, or by e-mail.
I had the same gut reaction, but fortunately it turns out the article is not about a language intended for humans:
“Our backend produces custom kernels for each specific operation on each GPU. It does this through an intermediate language called Tile. Tile is a simple, compact language for describing machine learning operations in a way that can be efficiently implemented on parallel computing architectures.”
Domain Specific Languages are good thing for specialized applications. Here we want automatic differentiation, parallelization and vectorization.
It gets bad when general purpose language's features are added to allow things that the language wasn't designed for. A good interface to a GP language would be more relevant.
What's wrong with domain specific languages? SQL is a language for database manipulation, jq is a language for querying JSON, CSS is a language for styling documents, etc.
But... that's not what this is. It's a tool to make writing device-agnostic ML frameworks easier. Consumers of said frameworks wouldn't even be aware of it.
Can you state in advance the scope of the domain ? Probably not, hence DSLs tend to grow extensions to cover unforeseen usecases - better to use a library written in a real language.
Python if a popular scientific language and a rising star for machine learning. I'd be surprised if it can take the data analysis mantle from R, but matrix handling in NumPy may challenge MATLAB and communication tools like IPython are very attractive and a step into the future of reproducibility.