Title :
Verification of CGRA Executable Code and Debugging of Memory Dependence Violation
Author :
Shim, Heejun ; Ahn, Minwook ; Jung, JinSae ; Han, Yenjo ; Ryu, Soojung
Abstract :
We present verification and debugging of highly optimized executable code that is generated from C source code to run on CGRA (Coarse-Grained Reconfigurable Array). To generate the executable code, the CGRA compiler uses software pipelining technique that maps instructions in a loop body to multiple FUs (functional units) of CGRA for concurrent execution. Often, the programmer chooses to use aggressive optimization as a way to obtain highly performing executable code. For example, the programmer may turn off memory dependence check in order to suppress false dependence that would otherwise result in overly conservative, therefore poorly performing, executable code. A trouble is that it is not easy to verify correctness of the resulting executable code. In this paper, we propose a method to verify CGRA executable code and to detect memory dependence violation if there occurs such violation and to provide source code position where the violation occurs. We use the behavior of VLIW code as a reference and compare it with the behavior of CGRA code. In order to guide the comparison, compiler-generated mapping table information is used.
Keywords :
CGRA; Debugging; Verification;
Conference_Titel :
Microprocessor Test and Verification (MTV), 2012 13th International Workshop on
Conference_Location :
Austin, TX, USA
Print_ISBN :
978-1-4673-4441-8
DOI :
10.1109/MTV.2012.18