Paper
2 July 2002 Optimizing Parallel Programs for Hardware Implementation
Jose Gabrial Figueiredo Coutinho, Wayne W.C. Luk, Markus Weinhardt
Author Affiliations +
Proceedings Volume 4867, Reconfigurable Technology: FPGAs and Reconfigurable Processors for Computing and Communications IV; (2002) https://doi.org/10.1117/12.455467
Event: ITCom 2002: The Convergence of Information Technologies and Communications, 2002, Boston, MA, United States
Abstract
This paper describes an approach for optimizing hardware designs produced from software languages extended with constructs for parallel execution and hardware processing, such as the Handel-C language. Our aim is to optimize these programs by applying transformations that include the appropriate amount of parallelism, in order to obtain the best trade-offs in space and in time. These transformations can be applied automatically at compile time, enabling the programmer to adapt parallel programs rapidly to a specific hardware platform. Our transformational approach, which involves design sequentialisation and parallelisation, contains two novel features. First, we develop an algorithm for sequentialising parallel programs. This algorithm relaxes the scheduling of the original design, giving a scheduler the freedom to arrange it to achieve better results in speed, in size, or in both. Second, we combine this sequentialisation algorithm with pipeline vectorization, a technique known to reduce the execution delay of loops by pipelining the loop body. We adapt several transformation techniques used in vectorizing and parallelizing software compilers, such as loop unrolling and loop tiling, to widen the applicability of our method. Results show that our approach often works well: for instance a manually pipelined convolution design, for implementation in a Xilinx XC4000 device produced from a Handel-C description, is speeded up by over 2 times by our prototype compiler.
© (2002) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Jose Gabrial Figueiredo Coutinho, Wayne W.C. Luk, and Markus Weinhardt "Optimizing Parallel Programs for Hardware Implementation", Proc. SPIE 4867, Reconfigurable Technology: FPGAs and Reconfigurable Processors for Computing and Communications IV, (2 July 2002); https://doi.org/10.1117/12.455467
Lens.org Logo
CITATIONS
Cited by 3 scholarly publications.
Advertisement
Advertisement
RIGHTS & PERMISSIONS
Get copyright permission  Get copyright permission on Copyright Marketplace
KEYWORDS
Clocks

Algorithm development

Prototyping

Raster graphics

Sensors

Convolution

Legal

RELATED CONTENT

Experience With The CMU Programmable Systolic Chip
Proceedings of SPIE (November 28 1984)
Multi-Dimensional Real-Time Convolver
Proceedings of SPIE (November 25 1987)
Multiprocessor platform for signal processing
Proceedings of SPIE (July 17 1998)
Convolver-Based Optical Systolic Processing Architectures
Proceedings of SPIE (November 28 1984)

Back to Top