LAUSR.org creates dashboard-style pages of related content for over 1.5 million academic articles. Sign Up to like articles & get recommendations!

Technical Perspective: Reconsidering the Design of User-Schedulable Languages

Photo from wikipedia

the design of user-schedulable languages so that decades of wisdom from traditional programming languages can be brought to bear. The key insight underlying it all is the idea that, instead… Click to show full abstract

the design of user-schedulable languages so that decades of wisdom from traditional programming languages can be brought to bear. The key insight underlying it all is the idea that, instead of implementing schedules as parameters on a monolithic lowering from highto low-level code, user-guided optimizations can instead be implemented as rewrites within a single (functional) language. Adding new types of optimization to prior user-schedulable languages requires extending the compiler’s core lowering process, and worrying about the potential interaction of the new feature with every other—an often herculean task. Rewrites, in contrast, are naturally composable, extensible, and easy to reason about: the definition and correctness of each new rewrite is independent of all the others. Building on this, the authors show how classic ideas from functional programming can then directly be applied to abstract and compose rewrites into higher-level rewriting strategies. In contrast to earlier scheduling languages, we now have a way to specify optimizations and build high-performance libraries at ever-higher levels of abstraction. What is the result? Using this approach, the authors finally show that it’s possible to describe the same optimizations as state-of-the-art userschedulable languages, and achieve the same blistering performance, using no complex domain-specific schedule compiler, just rich compositions of simple, extensible rewrites. By finally putting user-schedulable languages on solid PL foundations, this is a big step towards making high-performance programming easy, productive, and safe.

Keywords: schedulable languages; user schedulable; design user; technical perspective

Journal Title: Communications of the ACM
Year Published: 2023

Link to full text (if available)


Share on Social Media:                               Sign Up to like & get
recommendations!

Related content

More Information              News              Social Media              Video              Recommended



                Click one of the above tabs to view related content.