Intermediate Variable Elimination in a Global Context for a 3D Multimedia Application
The 3D multimedia applications have been experiencing recently a tremendous growth in number and complexity. Such applications mainly consist of complex algorithms that process extensive amounts of data to create 3D images and results. For quick access, data need to be stored in small and expensive memories near the processor. Due to the increasing memory-processor gap in speed and the characteristics of multimedia applications (with highly power- and space- consuming data sets), software transformations are required to decrease memory requirements. In this paper, we propose a method to reduce the indirections of data types in real 3D multimedia applications. It is based on software transformations of the original algorithm to minimize the intermediate assignments and, as such, the required data types. To assess the performance of our method, we apply it to a relatively new 3D image reconstruction application. As a result, for this multimedia application, our method reduces 50× the amount of memory accesses, 30× the normalized memory footprint and 67× the energy consumption compared to a manually well-optimized version of the algorithm. Finally, compared to the original application, the overall performance improves by 40% on a PC.