Earlham-Institute-logo

Six days of talks and cutting-edge training on core skills for HPC, data science and quantum computing

Our Summer School provides a unique opportunity to attend state-of-the-art training delivered by world-leading academics and industry partners from around the globe, practicing hands-on exercises lead by renowned experts, and networking with your peers in an invaluable forum for knowledge exchange.

Networking

Meet researchers and professionals from private and public sectors, as well as academia, from Latin America and the world.

International experts

Learn from and interact with international experts and leaders from a range of companies. Some of our supporters have included NVIDIA, AWS, MathWorks, National Labs including Argonne, OAK, Pittsburgh Supercomputing Center, and other renowned institutions

Hands-on

Participants will learn by constructive cooperation with other programmers from a variety of fields, under the guidance of worldwide recognized experts in the field.

Welcome to the 4th HPC Summer School 2021 – Colombia

This will be the fourth installment in a series of international schools, organized by Universidad del Rosario, Universidad de Los Andes, and the Earlham Institute. It is aimed at training students, researchers, and professionals from private and public sectors in optimal parallel programming for HPC environments with heterogeneous infrastructure, thus stimulating the use of these technologies in Latin America and the world.

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.

Due to the current situation with covid-19, the summer school will be an online event to take place in Bogotá, from July 12th to 17th, 2021.

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.

Supported by