Exo 2 – a new programming language for high-performance computing

News

Exo 2 – a new programming language for high-performance computing

Exo 2 is a little-known language. Therefore, companies are investing in hiring talent to create high-performance library code that underlies modern AI systems. However, it can also be done cheaply. Exo 2 belongs to a new category of programming languages, which an MIT professor refers to as “user-scheduled languages” (USL). Instead of hoping that an opaque compiler will automatically generate the fastest possible code, USL puts programmers in the driver’s seat, allowing them to write “schedules” that explicitly control how the compiler generates code. This enables performance engineers to transform simple programs that specify what they want to compute into complex programs that do the same thing as the original specification, but much, much faster. One limitation of existing USLs (such as the original Exo) is their relatively fixed set of scheduling operations, which makes it difficult to reuse scheduling code across different “cores” (individual components in a high-performance library). In contrast, Exo 2 allows users to define new scheduling operations outside the compiler, making it easier to create reusable scheduling libraries. The lead developer of the language, an MIT graduate student, stated that Exo 2 can reduce the overall scheduling code by 100 times and provide performance competitive with modern implementations on several different platforms, including Basic Linear Algebra Subprograms (BLAS), which support many machine learning applications. This makes it an attractive option for engineers in the HPC field focused on optimizing cores for various operations, data types, and target architectures.

https://xrust.ru/news/310917-exo-2-novyj-jazyk-programmirovanija-dlja-vysokoproizvoditelnyh-vychislenij.html

Exo 2 – a new programming language for high-performance computing

Rate article
Xrust.online
Add a comment