The series of workshops on parallel programming and high performance, offered by the Francisco José de Caldas District University, aims to provide a complete and practical introduction to programming and optimization techniques and technologies in parallel computing based on standards and open frameworks in order to to fully utilize the scaling capabilities of systems of this type. They have been conceived with a very practical approach for the active participation of attendees.

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 September 19 and 20, 2017.


The aim of the HPC Workshop series 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.

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.



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. Silvio Stanzani (NCC/UNESP)

Dr. Pedro Mario Cruz E Silva (NVIDIA)

Msc. Gerardo Hernández Correa application engineer manager at MathWorks

Dr. Kevin Jorissen (AWS)

Organizing Committee

Msc. Rodolfo Caliz

Dr. Esteban Hernández