A Common Machine Language for Grid-Based Architectures - Thies, Bill; Karszmarek, Michal; Gordon, Michael; Maze, David; Amarasinghe, Saman (ACM SIGARCH Computer Architecture News, 2002)
A common machine language is an essential abstraction that allows programmers to express an algorithm in a way that can be efficiently executed on a variety of architectures. The key properties of a common machine language (CML) are: 1) it abstracts away the idiosyncratic differences between one architecture and another so that a programmer doesn't have to worry about them, and 2) it encapsulates the common properties of the architectures such that a compiler for any given target can still produce an efficient executable.