March 13, 2025
The GIST Editors' notes
This text has been reviewed based on Science X's editorial course of and insurance policies. Editors have highlighted the next attributes whereas guaranteeing the content material's credibility:
fact-checked
preprint
trusted supply
proofread
Exo 2: A brand new programming language for high-performance computing, with a lot much less code

Many corporations make investments closely in hiring expertise to create the high-performance library code that underpins trendy synthetic intelligence methods. NVIDIA, as an example, developed a few of the most superior high-performance computing (HPC) libraries, making a aggressive moat that has confirmed tough for others to breach.
However what if a few college students, inside a number of months, might compete with state-of-the-art HPC libraries with a number of hundred traces of code, as an alternative of tens or tons of of 1000’s?
That's what researchers at MIT's Laptop Science and Synthetic Intelligence Laboratory (CSAIL) have proven with a brand new programming language known as Exo 2.
Exo 2 belongs to a brand new class of programming languages that MIT Professor Jonathan Ragan-Kelley calls "user-schedulable languages" (USLs). As an alternative of hoping that an opaque compiler will auto-generate the quickest doable code, USLs put programmers within the driver's seat, permitting them to jot down "schedules" that explicitly management how the compiler generates code. This permits efficiency engineers to remodel easy packages that specify what they need to compute into complicated packages that do the identical factor as the unique specification, however a lot, a lot sooner.
One of many limitations of current USLs (like the unique Exo) is their comparatively fastened set of scheduling operations, which makes it tough to reuse scheduling code throughout totally different "kernels" (the person parts in a high-performance library).
In distinction, Exo 2 allows customers to outline new scheduling operations externally to the compiler, facilitating the creation of reusable scheduling libraries.
Lead writer Yuka Ikarashi, an MIT Ph.D. scholar in electrical engineering and pc science and CSAIL affiliate, says that Exo 2 can scale back complete schedule code by an element of 100 and ship efficiency aggressive with state-of-the-art implementations on a number of totally different platforms, together with Fundamental Linear Algebra Subprograms (BLAS) that energy many machine studying purposes. This makes it a horny choice for engineers in HPC targeted on optimizing kernels throughout totally different operations, information sorts, and goal architectures.
"It's a bottom-up strategy to automation, moderately than doing an ML/AI search over high-performance code," says Ikarashi. "What which means is that efficiency engineers and {hardware} implementers can write their very own scheduling library, which is a set of optimization strategies to use on their {hardware} to succeed in the height efficiency."
One main benefit of Exo 2 is that it reduces the quantity of coding effort wanted at anybody time by reusing the scheduling code throughout purposes and {hardware} targets.
The researchers applied a scheduling library with roughly 2,000 traces of code in Exo 2, encapsulating reusable optimizations which are linear-algebra particular and target-specific (AVX512, AVX2, Neon, and Gemmini {hardware} accelerators). This library consolidates scheduling efforts throughout greater than 80 high-performance kernels with as much as a dozen traces of code every, delivering efficiency corresponding to, or higher than, MKL, OpenBLAS, BLIS, and Halide.
Exo 2 features a novel mechanism known as "Cursors" that gives what they name a "secure reference" for pointing on the object code all through the scheduling course of. Ikarashi says {that a} secure reference is crucial for customers to encapsulate schedules inside a library operate, because it renders the scheduling code impartial of object-code transformations.
"We consider that USLs must be designed to be user-extensible, moderately than having a set set of operations," says Ikarashi. "On this manner, a language can develop to help massive initiatives by means of the implementation of libraries that accommodate various optimization necessities and utility domains."
Exo 2's design permits efficiency engineers to concentrate on high-level optimization methods whereas guaranteeing that the underlying object code stays functionally equal by means of the usage of protected primitives. Sooner or later, the staff hopes to increase Exo 2's help for several types of {hardware} accelerators, like GPUs. A number of ongoing initiatives intention to enhance the compiler evaluation itself, by way of correctness, compilation time, and expressivity.
The research is printed on the arXiv preprint server.
Extra info: Yuka Ikarashi et al, Exo 2: Rising a Scheduling Language, arXiv (2024). DOI: 10.48550/arxiv.2411.07211
Journal info: arXiv Massachusetts Institute of Know-how
This story is republished courtesy of MIT Information (net.mit.edu/newsoffice/), a preferred web site that covers information about MIT analysis, innovation and educating.
Quotation: Exo 2: A brand new programming language for high-performance computing, with a lot much less code (2025, March 13) retrieved 13 March 2025 from https://techxplore.com/information/2025-03-exo-language-high-code.html This doc is topic to copyright. Aside from any truthful dealing for the aim of personal research or analysis, no half could also be reproduced with out the written permission. The content material is offered for info functions solely.
Discover additional
A brand new programming language for {hardware} accelerators 0 shares
Feedback to editors