Programmability and portability for exascale: Top down programming methodology and tools with StarSs - Subotić, Vladimir; Brinkmann, Steffen; Marjanović, Vladimir; Badia, Rosa M.; Gracia, Jose; Niethammer, Christoph; Ayguade, Eduard; Labarta, Jesus; Valero, Mateo (Journal of computational science, 2013)
► We propose a top-down methodology to develop parallel applications. ► StarSs is proposed as the core programming model. ► The following development tools are used to develop the applications: TAREADOR and TEMANEJO. ► Performance tools as Scalasca and Paraver are used to debug the applications. StarSs is a task-based programming model that allows to parallelize sequential applications by means of annotating the code with compiler directives. The model further supports transparent execution of designated tasks on heterogeneous platforms, including clusters of GPUs. This paper focuses on the methodology and tools that complements the programming model forming a consistent development environment with the objective of simplifying the live of application developers. The programming environment includes the tools TAREADOR and TEMANEJO, which have been designed specifically for StarSs. TAREADOR, a Valgrind-based tool, allows a top-down development approach by assisting the programmer in identifying tasks and their data-dependencies across all concurrency levels of an application. TEMANEJO is a graphical debugger supporting the programmer by visualizing the task dependency tree on one hand, but also allowing to manipulate task scheduling or dependencies. These tools are complemented with a set of performance analysis tools (Scalasca, Cube and Paraver) that enable to fine tune StarSs application.