June 16-20, 2013

Leipzig, Germany

Presentation Details

Name: Architectures
(7) Automated Analysis of Complex Data Objects: Estimating Memory Footprint & Direction
Time: Monday, June 17, 2013
1:55 PM - 2:00 PM
Room:   Multi-Purpose Area 4 (MPA 4)
CCL - Congress Center Leipzig
Speakers:   Sebastian Dreßler, ZIB
Abstract:   Heterogeneous systems with physically disjoint address spaces require an explicit data transfer (DT). Thus, the application developer is responsible for data management and migration between devices. While this is a simple task for basic data structures like arrays, more complex data structures, e.g., linked lists and trees, need to be serialized before transfers. Efforts are made to provide an implicit DT, e.g. OpenACC and Intel compilers support #pragma-directives to describe implicit DT operations. However, this solution is limited regarding the supported data types. In particular, it lacks automated serialization. To enable implicit DT for complex data objects we propose a three step solution: i) identification and annotation of DT objects including memory footprint, ii) transformation of data layouts like serialization of complex objects, and iii) automatic code injections for performing DT. In this poster we present our results of the first step. We developed a method based on LLVM which uses graphs to determine the DT amount and the direction attribute of functional arguments. We evaluated our implementation with synthetic applications and real world applications. It can be demonstrated that both parameters were successfully determined for a wide range of data structures, including C++ classes with templates and inheritance, structs and dynamically allocated arrays.

Poster authors:
Sebastian Dreßler, ZIB; Thomas Steinke, ZIB
Program may be subject to changes.