Get the latest tech news

Abstract Machine Models (2022)


Ever since 2010, I have studied the “meta” of software, by studying (and thinking about) the continued dialogue between programming language designers, computer designers, and programmers. The following constitutes a snapshot of my current thinking. Epistemological context During the period 2008-2012, I was requested to help design&build programming tools …

In casual conversations, and some less-than-stellar writeups by fellow practitioners, I often heard the following theory: since the model predicts these functions are equivalent, “it should be possible” to make an optimizing compiler which, given one of them, automatically derives the others, to choose the best one given a target hardware platform. Besides ATI’s and NVidia’s efforts, which eventually culminated in the emergence of the accelerator architecture and its “Compute GPU” abstraction as the dominant AMM, there was a myriad of smaller-scope projects with various degrees of funding and programmer interest. Conversely, a programmer who cares about engineering costs over time, including reuse and portability, will likely constrain themselves to thinking their software in the terms of an AMM that has powerful prediction abilities and strong compositional semantics over a variety of hardware platforms.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Rust

Rust

Related news:

News photo

Sharing a mutable reference between Rust and Python

News photo

Show HN: LightCycle, a FOSS game in Rust based on Tron

News photo

Rust 1.90 Switching To LLD Linker On Linux For Faster Linking Times