Folks from the Massachusetts Institute of Technology (MIT) have developed a new machine learning-based tool that will tell you how fast a code can run on various chips. This will help developers tune their applications for specific processor architectures.
Traditionally, developers used the performance model of compilers through a simulation to run basic blocks — fundamental computer instruction at the machine level — of code in order to gauge the performance of a chip. However, these performance models are not often validated through real-life processor performance.
MIT researchers developed an AI model called Ithmel by training it to predict how fast a chip can run unknown basic blocks. Later, it was supported by a database called BHive with 300,000 basic blocks from specialized fields such as machine learning, cryptography, and graphics.
The team of researchers presented a paper at the NeuralIPS conference in December to describe a new technique to measure code performance on various processors. The paper also describes Vemal, a new automatically generating algorithm that can be used to generate compiler optimizations.
Michael Carbin, a co-author of the paper and an assistant professor in the Department of Electrical Engineering and Computer Science (EECS), said since modern chips are complex and opaque this new tool will help developers make apps for a variety of architectures:
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. This tool is a big step forward toward fully modeling the performance of these chips for improved efficiency.
Carbin added the next step is to figure out why the model predicting certain cycles for a processor model. Developers can use this level of data to further tune their applications.