Workshop RISC SINAPAD
Day #1 (Wednesday, October 23, 2013)
Tutorial 1: Heterogeneous Programming on GPUs with MPI + OmpSs (Speaker: Daniele Lezzi)
Abstract: Due to its asynchronous nature and look-ahead capabilities, MPI/OmpSs is a promising programming model approach
for future exascale systems, with the potential to exploit unprecedented amounts of parallelism, while coping with memory
latency, network latency and load imbalance. Many large-scale applications are already seeing very positive results from
their ports to MPI/OmpSs (see EU projects Montblanc, TEXT). We will first cover the basic concepts of the programming model.
OmpSs can be seen as an extension of the OpenMP model. Unlike OpenMP, however, task dependencies are determined at runtime
thanks to the directionality of data arguments. The OmpSs runtime supports asynchronous execution of tasks on heterogeneous
systems such as SMPs, GPUs and clusters thereof. The integration of OmpSs with MPI facilitates the migration of current
MPI applications and improves, automatically, the performance of these applications by overlapping computation with
communication between tasks on remote nodes. The tutorial will also cover the constellation of development and performance
tools available for the MPI/OmpSs programming model: the methodology to determine OmpSs tasks, the Tareador tool, and the
Paraver performance analysis tools. The tutorial will also include practical sessions on application development
and analysis on single many-core nodes, heterogeneous environments with GPUs, and cluster environments with MPI/OmpSs.
Tutorial 2: Programming distributed computing platforms with COMPSs (Speaker: Rosa Maria Badia)
Abstract: Distributed computing platforms like clusters, grids and clouds pose
a challenge on application developers due to different issues such as distributed storage systems,
complex middleware, geographic distributions... COMPSs is a programming model which is able to exploit
the inherent concurrency of sequential applications and execute them in a transparent manner to the
application developer in distributed computing platform. This is achieved by annotating part of the
codes as tasks, and building at execution a task-dependence graph based on the actual data used consumed/produced
by the tasks. The COMPSs runtime is able to schedule the tasks in the computing nodes and take into account
facts like data locality and the different nature of the computing nodes in case of heterogeneous platforms.
Additionally, recently COMPSs has been enhanced with the possibility of coordinating Web Services as part
of the applications. In the course, the syntax, programming methodology and an overview of the runtime
internals will be given. A hands on with simple introductory exercises will be also performed.
Day #2 (Thrusday, October 24, 2013)
Tutorial 3 : Visualization for HPC applications (Speaker: Juan Hernando)
Abstract: Visualization is a technology that takes advantage of the capabilities
of the human visual system to help users debug application results, understand and make new findings
from their data and disseminate them in a more comprehensive form. For HPC users who produce very large data sets,
result analysis becomes the bottleneck of their work-flow and Visualization is one of the tools needed to make sense
of the data. This tutorial will provide an introductory overview of the field with a special focus on scientific
visualization applications. The theoretical part will cover: basic notions about Visualization; a brief introduction
to the image rendering pipeline on modern GPU architectures and some concepts of Computer Graphics; common data
visualization techniques used for scientific data; and techniques to deal with very large data sets. On the practical
side, this tutorial will introduce to application programming using the Visualization Toolkit, an Open Source C++ library
widely used in the development of computer graphics, image processing and visualization applications.
* Tutorials are free for all registered participants.
Day #3 (Friday, October 25, 2013)
Morning : RISC Project Meeting
Afternoon : Joint Meeting Brazilian HPC System - RISC Roundtable on HPC Policy