An application can be sped up by removing or relieving bottlenecks. These bottlenecks can consist of implicit or explicit unneeded data dependencies, but equally important is the identification of appropriate implementations of data types that store and handle the data that is needed during the application run. This presentation covers data type refinement in image processing applications with dynamic memory behaviour, e.g. on corner detection and matching algorithms. The size of the data that is generated and processed during an application run is unknown at compile time and partially dependent on external factors (types of images, parameters of the preceding algorithms, ...). As such, it is difficult to make a reasonable estimate of the required memory footprint and performance at compile time. This presentation proposes a new method where the dynamic memory behaviour is profiled, the code is analysed and data types that form possible bottlenecks are tagged. For each of these types, possible concrete data structure implementations are explored driven by a cost function that reflects estimated memory footprint, memory access and required functionality.
[1]
Hugo De Man,et al.
Exploration and synthesis of dynamic data sets in telecom network applications
,
1999,
Proceedings 12th International Symposium on System Synthesis.
[2]
Hugo De Man,et al.
Matisse: A System-on-Chip Design Methodology Emphasizing Dynamic Memory Management
,
1999,
J. VLSI Signal Process..
[3]
Chantal Ykman-Couvreur,et al.
Memory management for embedded network applications
,
1999,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[4]
Chantal Ykman-Couvreur,et al.
Analyzing energy friendly steady state phases of dynamic application execution in terms of sparse data structures
,
2002,
ISLPED '02.
[5]
Francky Catthoor,et al.
Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design
,
1998
.