Introduction

The increasingly wide availability of supercomputing equipment both in universities and companies, as well as in the cloud, has made it relatively easy today to access this type of computing power at increasingly lower costs. However, in order to take advantage of this power it is necessary to know how to use it. In this 4 and a half day workshop, the participant with a basic level of programming will develop the necessary skills to start programming in HPC (High Performance Computing) environments in architectures with shared memory, distributed memory and Nvidia accelerators. These skills allow the programmer to develop code that, once deployed on these architectures, executes in much less time than serial code.

The school uses a hands-on approach, in which the participants will learn by developing parallel applications, presenting them with the opportunity for constructive cooperation with programmers from abroad as well as other fields of interest, under the guidance of worldwide recognized experts in the field.

The summer school will take place in Bogotá, from June 10 to 14, 2019.

Scope

The aim of the HPC Summer School is to introduce the cornerstone of programming tools and techniques used for efficient parallel applications with special emphasis to High Performance Computing for students and professionals, among the fields of engineering and science, with basic and intermediate programming skills. This will allow them to advance their careers by harnessing the computational power of HPC to tackle large scale problems in their respective fields. Following from the school initiative, the event intends to accomplish the creation of collaborative interdisciplinary groups and the education of the next generation of highly specialized programmers. Ultimately, procuring innovative and efficient algorithms to optimally process all kinds of workflows.

What You Should Know

The full stack of the courses and hands-on sessions require familiarity with programming languages and its logic. More specifically, we are sitting on C a function paradigm programming framework whose development dates back 40 years and is extensively used for high performance calculations alongside Fortran. In the context of the present event, we expect the assistants to have knowledge of data types, pointers, vectors and experience with parallel computation schematics is desirable, though not required. In addition to basic programming knowledge, we will be profiling the developed algorithms to identify performance improvements and possible design bottlenecks. Although knowledge of profiling tools is preferred, you will be working on it during the week, which will give you the time to learn.

On the matter of integrations, experience with Python is expected as we intend to provide an outlook to expanding Python’s versatility with high performing algorithms for solving big data and large scale problems efficiently. Also, we would like to highlight that this trait is enormously appreciated in today’s development groups for its versatility in the process of building and commercializing multi-purpose applications for both academic and industrial sectors.

What You Will Learn

Stemming from this school, you will be able to procure the parallelization of tasks, which is a matter relative to each problem. Although alike strategies may apply, recognizing the kinds of situations fit for a parallel approach is not only a skill that you will learn but it requires training, exercising and a keen eye that is only build from personal experience. You will also encounter that the number of problems still to be solved in this arena is enormous. Learning to profile your code also builds dexterity and ability to identify bottlenecks, bugs and improvements. Learning also different computing architectures, each with a specific design fingerprint, you will be able to tackle the same problem from different angles. Last, but not least, the ability to exploit computational power with a robust algorithm for a specific application has infinite possibilities. You know by now that there is still quite a bit of roadwork lain ahead and the key is to perform well in time and resources.

Programme


Speakers

We would like to thank to our guest speakers and mentors the enlightening and entertaining presentations and tutorials, we also thank their inexhaustible interest for sharing their knowledge and experience.

Dr. Pedro Mario Cruz E Silva (NVIDIA)

Dr. Verónica Arias (Uniandes)

Dr. Carlos Jaime Barrios Hernández (Universidad Industrial de Santander)

Dr. Kevin Jorissen (AWS)

Collaborators & Co-Developers



Organizing Committee


Dr. Juan Pablo Mallarino Robayo

Dr. Carlos Eduardo Álvarez

Dr. Esteban Hernández