Auto-threading Compiler

Started by
3 comments, last by Eelco 11 years, 4 months ago
I know people in this forums like to talk about compilers and paralelism.

In recent news, some folks at Microsoft Research published a paper about an auto-threading compiler. Yes, it should be able to analyze a single-threaded code and determine what parts are safe to run in parallel.

Research on this field is happening for some time now, but this is the most recent (promising) news I've seen so far.
Programming is an art. Game programming is a masterpiece!
Advertisement
this is a pretty awesome.
Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.
It's interesting but the problem with parallelism is that you have to design the entire program and entire code-base around it.
You can't add it in afterwards and expect it to work well.

So this compiler would make it easier to write new threaded libraries but it won't do much for existing code.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Interesting paper.

They needed to add a few keywords (readable, writable, immutable, isolated, consume). They have several logistical restrictions that make it impossible to add to C++ as an extension, but keep it possible to add to C#.

I find section 6.6 of the paper the most interesting section. Just like adding const correctness to a program helps you discover various types of bugs, when the researchers started specifying a readable/writable intent they similarly discovered software defects.

It still has the issues that several other keywords (restrict, const, etc) face: It is up to the programmer to add it; the program runs just fine without it; and if they aren't added the compiler will silently be unable to take the optimization.

They've still got some serious bugs to work out, but I can imagine this getting added to C# around 2016 or so.

It does not appear conceptually different from the stuff functional language guys have been talking about for years.

However, if ms throws its weight behind it and actually delivers on these promises, thatd be awesome.

This topic is closed to new replies.

Advertisement