Revisiting SIMD programming

Anton Lokhmotov, Benedict R. Gaster, Alan Mycroft, Neil Hickey, and David Stuttard

Proceedings of Languages and Compilers for Parallel Computing. 2008


Massively parallel SIMD array architectures aremaking their way into embedded processors. In these architectures, a number of identical processing elements having small private storage and using asynchronous I/O for accessing large shared memory executes the same instruction in lockstep.

In this paper, we outline a simple extension to the C language, called Cn, used for
programming a commercial SIMD array architecture. The design of Cn is based
on the concept of the SIMD array type architecture and revisits first principles of designing efficient and portable parallel programming languages. Cn has a low level of abstraction and can also be seen as an intermediate language in the compilation from higher level parallel languages to machine code.