For a long time all atomic arithmetic and storage structures of computing systems were designed as two-dimensional (2D) structures on silicon. Currently processor vendors offer chips with steadily growing numbers of cores and recent circuits started to grow in the third dimension by integrating silicon dies on the top of each other. All of this results in severe increase of the programming complexity. To date, predominately the one-dimensional view of computing systems organization and behavior is used forming a severe obstacle in exploiting all the associated advantages. To enable this, a more natural, at least 2D view of computer systems is required to represent closer the physical reality in both space and time. This calls for radically novel approaches.
Computing in space allows designers to express complex mathematical operations in a more natural, space area aware way and map them on the underlying hardware resources. OpenSPL is one such approach that can be used to partition, lay out and optimize programs at all levels from high-level algorithmic transformations down to individual custom bit manipulations. In addition, the OpenSPL execution model enables highly efficient scheduling (or better called choreography) of all basic computational actions with the guarantee of no side effects. It is clear that this approach requires a new generation of design tools and methods and a novel way to measure (or rate) performance as compared to all traditional practices. In this talk we will address all of the topics relevant to spatial computing and show its enormous capabilities to design power efficient computing systems. Examples and results based on real systems offered by Maxeler LTD will emphasize the advantages of this approach but will also stress the difficulties along the road ahead.