Home
Scholarly Works
Code Graph Transformations for Verifiable...
Chapter

Code Graph Transformations for Verifiable Generation of SIMD-Parallel Assembly Code

Abstract

The Coconut code generator produces highly efficient assembly code, targeting signal processing applications such as Magnetic Resonance Imaging. It takes advantage of SIMD-parallelism, and captures as patterns assembly language “tricks” that produce very efficient, but highly convoluted code — the motivation is to beat the expert assembly tuner, while producing reliable output and maintainable input. On a growing set of benchmarks, it produces code with peak or near-peak efficiency.To facilitate formal verification of the resulting code, the intermediate languages used in compilation are all variations on term hypergraphs (jungles) that we call “code graphs”. To verify the results of compilation, schedulable code graphs containing hyperedges labelled by instructions operating on vectors of components are transformed by replacing SIMD instructions with non-vector instructions, applying simplification rules, and comparing the result to specifications.

Authors

Kumar Anand C; Kahl W

Book title

Applications of Graph Transformations with Industrial Relevance

Series

Lecture Notes in Computer Science

Volume

5088

Pagination

pp. 217-232

Publisher

Springer Nature

Publication Date

January 1, 2008

DOI

10.1007/978-3-540-89020-1_16
View published work (Non-McMaster Users)

Contact the Experts team