Tutorial 1: PyCOMPSs Programming Language

PyCOMPSs is a task-based programming model that enables the parallel execution of sequential Python codes in distributed computing platforms. The programming model is based on the annotation of the Python code in the form of method decorators that identify those methods that will become tasks at execution time. The programming model is empowered by the COMPSs runtime, which at execution time is able to detect the application tasks and the data dependencies between tasks. The runtime builds a task graph which represents the application and inherently expresses the potential concurrency. The tutorial will present the basics of the programming model and of the runtime. The tutorial will be based on Jupyter notebooks that enable to teach the programming model essentials in a very didactic way. The notebooks will be made available to the attendees. 

Tutorial 2: Foundations of Urban Informatics: Mobility Data Analysis

In urban scenarios, citizens are required to travel frequently in order to engage in social and economic activities. Modern smart cities generate vast volumes of data that can help us better understand the dynamics of mobility and design better transport systems. This tutorial will introduce participants to the study of urban mobility using a data analysis workflow. Attendants will get hands-on experience in inspecting, cleansing, transforming, modeling, and visualizing data using real-world mobility datasets. The tutorial will be based on Python Jupyter notebooks, open datasets, and complementary material, which will be made available to the attendees. Prior knowledge in Python is encouraged but not strictly required.


  1. Introduction to urban mobility (1 hs, theory). Urbanization and smart cities. Urban mobility and public transport. Automatic Data Collection Systems in public transport.

  2. Introduction to urban data analysis (2 hs, theory/practice). Data analysis workflow. Jupyter notebooks.

  3. Pandas (2 hs, practice). Data loading, transforming, inspecting, merging, and wrangling. Basic visualizations.

  4. Geopandas (2 hs, practice). Introduction to Geospatial analysis: shapes, Coordinate Reference Systems, visualization and geoprocessing tools.

  5. Advanced visualization (1 hs, practice). Interactive visualization with Bokeh. Massive data visualization with Datashader.

  6. Machine learning toolset (1 hs, practice). Clustering analysis and regression models.

    Participants interested in obtaining a certificate of completion will be required to hand in an individual assignment. The guidelines for the assignment will be presented during the tutorial.

    Tutorial co-leaders

    Lecturer: Sebastián Baña, Universidad de la República, Uruguay | sbania@gmail.com

    Lecturer: Renzo Massobrio, Universidad de la República, Uruguay | renzom@fing.edu.uy

    Coordinator: Sergio Nesmachnow, Universidad de la República, Uruguay | sergion@fing.edu.uy

Tutorial 3: Getting started with Containers in HPC

Within just the past few years, the use of containers has revolutionized the way in which industries and enterprises have developed and deployed computational software and distributed systems. The containerization model is gaining traction within the HPC community as well with the promise of improved reliability, reproducibility, and levels customization that are not otherwise possible on supercomputers previously. From the onset of containerization in HPC, Singularity has lead the way in providing container services, ranging from small clusters to entire supercomputers.

This tutorial looks to educate users on the usability of containers on HPC resources through the use of Singularity. Specifically, the tutorial will walk through the processes of creating, deploying, and running Singularity containers on a Linux™ cluster. We will provide a detailed background of containers, along with introductory hands-on experience building and running containers on an cluster. Furthermore, the tutorial will provide more advanced information on how to run MPI-based HPC applications as well as cutting-edge machine learning toolkits. Users will leave the tutorial with a solid foundational understanding of how to utilize containers with HPC resources through Singularity, as well as in-depth knowledge to deploy custom containers on their own resources.

Eduardo Arango is a Software engineer at Sylabs Inc. Currently a PhD student at Universidad del Valle, Colombia, on Cloud computing architecture. His areas of research are High Performance Computing, linux containers, Distributed Systems, and cloud computing. Eduardo is a software engineer at Sylabs inc, the company behind the Singularity OSS project, working on quality assurance and the test infrastructure for the singularity project, Nomad integration with Singularity runtime, and also a Singularity OSS maintainer.

Tutorial 4: Modelling with COPASI

COPASI is a widely used software tool for creating, simulating and analyzing models of biochemical reaction networks. It is open source free software and available for all major operating systems. Its features include deterministic and stochastic simulation, steady state analysis, stoichiometric analysis, optimization and parameter estimation, time scale analysis, sensitivities and metabolic control analysis, Lyapunov exponents, linear noise approximation, etc. In the workshop we will provide and introduction to the modeling concepts as well as hands on experience using COPASI. We will also be available for the discussion of individual questions from the participants.

Instructor: Stefan Hoops, University of Virginia

Tutorials Chairs

Robinson Rivas, Universidad Central de Venezuela, Venezuela
Rodrigo Mora, Universidad de Costa Rica, Costa Rica