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

Programming

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 underpins 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 achieve the same result as the original specification, but much, much faster. One of the limitations of existing USLs (e.g., the original Exo) is their relatively fixed set of scheduling operations, which makes it difficult to reuse scheduling code across different “kernels” (individual components in a high-performance library). In contrast, Exo 2 allows users to define new scheduling operations outside the compiler, simplifying the creation of reusable scheduling libraries. The lead developer of the language, an MIT graduate student, stated that Exo 2 can reduce the overall scheduling code by a factor of 100 and provide performance competitive with modern implementations on several different platforms, including basic linear algebra subprograms (BLAS) that support many machine learning applications. This makes it an attractive option for engineers in the HPC field focused on optimizing kernels 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