An Automated Approach for Estimating the Memory Footprint of Non-linear Data Objects
Current programming models for heterogeneous devices with disjoint physical memory spaces require explicit allocation of device memory and explicit data transfers. While it is quite easy to manually implement these operations for linear data objects like arrays, this task becomes more difficult for non-linear objects, e.g. linked lists or multiple inherited classes. The difficulties arise due to dynamic memory requirements at run-time and the dependencies between data structures. In this paper we present a novel method to build a graph-based static data type description which is used to create code for injectable functions that automatically determine the memory footprint of data objects at run-time. Our approach is extensible to implement automatically generated optimized data transfers across physical memory spaces.
Unable to display preview. Download preview PDF.
- 1.Andersen, L.O.: Program analysis and specialization for the C programming language. PhD thesis, University of Cophenhagen (1994)Google Scholar
- 2.ENHANCE Consortium. Enhance - enabling heterogeneous hardware acceleration using novel programming and scheduling models (January 2012)Google Scholar
- 4.Dreßler, S., Steinke, T.: A Novel Hybrid Approach to Automatically Determine Kernel Interface Data Volumes. Technical report, ZIB (2012)Google Scholar
- 6.Heroux, M.A., Doerfler, D.W., Crozier, P.S., Willenbring, J.M., Edwards, H.C., Williams, A., Rajan, M., Keiter, E.R., Thornquist, H.K., Numrich, R.W.: Improving performance via mini-applications. Sandia National Laboratories, Tech. Rep. (2009)Google Scholar
- 8.Lattner, C., et al.: The LLVM compiler infrastructure (2010)Google Scholar
- 9.Lee, S., Eigenmann, R.: OpenMPC: Extended OpenMP programming and tuning for GPUs. In: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–11. IEEE Computer Society (2010)Google Scholar
- 10.Uchiyama, H., Tsumura, T., Matsuo, H.: An Automatic Host and Device Memory Allocation Method for OpenMPC (2012)Google Scholar