Occam-pi for Programming of Massively Parallel Reconfigurable Architectures
Zain Ul-Abdin, Bertil Svensson ยท International Journal of Reconfigurable Computing ยท 2012
Massively parallel reconfigurable architectures, which offer massive parallelism coupled with the capability of undergoing run-time reconfiguration, are gaining attention in order to meet the increased computational demands of high-performance embedded systems. We propose that the ๐ ๐ ๐ ๐ ๐ - ๐ ๐ language is used for programming of the category of massively parallel reconfigurable architectures. The salient properties of the ๐ ๐ ๐ ๐ ๐ - ๐ ๐ language are explicit concurrency with built-in mechanisms for interprocessor communication, provision for expressing dynamic parallelism, support for the expression of dynamic reconfigurations, and placement attributes. To evaluate the programming approach, a compiler framework was extended to support the language extensions in the ๐ ๐ ๐ ๐ ๐ - ๐ ๐ language and a backend was developed to target the Ambric array of processors. We present two case-studies; DCT implementation exploiting the reconfigurability feature of ๐ ๐ ๐ ๐ ๐ - ๐ ๐ and a significantly large autofocus criterion calculation based on the dynamic parallelism capability of the ๐ ๐ ๐ ๐ ๐ - ๐ ๐ language. The results of the implemented case studies suggest that the ๐ ๐ ๐ ๐ ๐ - ๐ ๐ -language-based approach simplifies the development of applications employing run-time reconfigurable devices without compromising the performance benefits.