A team of researchers at MIT has invented a machine learning tool that’ll enable developers to improve their computing efficiency.
Getting code to run as fast as possible has never been a straightforward process. Developers and compilers often have to depend on performance models to run the code through a simulation of specific chip architecture.
While developers use the resulting information to address performance issues on the microprocessor, compilers optimize the code automatically for the speediest result.
The problem is that a considerably small group of experts write the performance models for machine learning manually. What’s more, these performance models are rarely appropriately validated.
This could cause the simulated performance measurements to deviate from real-life results.
A researcher in the Computer Science and Artificial Intelligence Laboratory at MIT, Michael Carbin explained:
“Modern computer processors are opaque, horrendously complicated, and difficult to understand. It is also incredibly challenging to write computer code that executes as fast as possible for these processors.”
Well, that’s about to change.
In a series of papers, the researchers proposed a neural network model called Ithemal to automate the whole process. That means running codes will not only be easier and faster, but more accurate too.
So, how does the new tool work?
A Machine Learning Tool to Predict how Fast A Chip can run Code
According to the MIT team, the Ithemal model can analyze millions of automatically profiled basic blocks. That way, it’ll know how different chip architectures will execute computation.
Aside from taking the raw text as input, Ithemal doesn’t require manual entry of features to the input data. Using previously unseen blocks, the model can generate a single digit to indicate how fast a chip will execute a code.
“This tool is a big step forward toward fully modeling the performance of these chips for improved efficiency,” says Carbin.
Compared with the conventional hand-crafted models, Ithemal reduced the difference between predicted and real-world speed by 50 percent.
Also, the researchers noted that Ithemal’s error rate was 10 percent. Intel‘s performance-prediction model, on the other hand, had a 20 percent error rate on various basic blocks across different domains.
That means Ithemal could predict how fast Intel chips would run code better than the performance model that the tech company itself built.
“If you want to train a model on some new architecture, you just collect more data from that architecture, run it through our profiler,” says one of the researchers.
“Use that information to train Ithemal, and now you have a model that predicts performance.”
Now, the team is trying to understand how the models make their predictions to attain better performance.
Comments (0)
Most Recent