Refine
Document Type
- In Proceedings (3)
- ZIB-Report (2)
- Article (1)
- Poster (1)
Language
- English (7)
Is part of the Bibliography
- no (7)
Keywords
- dynamic analysis (1)
- function parameter analysis (1)
- function parameter sizes (1)
- heterogeneous systems (1)
- memory footprint (1)
- non-linear objects (1)
- scheduling metrics (1)
- static analysis (1)
- tool flow (1)
Institute
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.
Scheduling algorithms for heterogeneous platforms make scheduling decisions based on several metrics. One of these metrics is the amount of data to be transferred from and to the accelerator. However, the automated determination of this metric is not a simple task. A few schedulers and runtime systems solve this problem by using regression models, which are imprecise though. Our novel approach for the determination of data volumes removes this limitation and thus provides a solution to obtain exact information.