Costa Rica HPC School 2023

January 30th to February 3rd, 2023 


Costa Rica National High Technology Center

Dr. Franklin Chang Díaz building
1.3 km North of the US Embassy

Pavas, San José, Costa Rica


  • Parallel Computing
  • Shared-memory Programming
  • Distributed-memory Programming
  • Accelerator Programming

High Performance Computing (HPC) is markedly changing the way we solve challenging problems in science, engineering, and society. From complex simulations to better understand the impact of climate change to sophisticated models to design effective drugs, HPC is a fundamental tool in accelerating time-to-discovery.

Building on the success of previous editions, the seventh installment of the Costa Rica High Performance Computing School (CRHPCS) aims at preparing students and researchers to introduce HPC tools in their workflows. A selected team of international experts will teach sessions on shared-memory programming, distributed-memory programming, accelerator programming, and high performance computing. 

We expect to continue with our mission to catalyze innovation through HPC with this event. Take advantage of this opportunity and join us for an exciting training.


Esteban Meneses, PhD
Advanced Computing Laboratory Director
Costa Rica HPC School General Chair

Keynote Speaker

Bernd Mohr



Biography:   Bernd Mohr is the team leader of the group “Programming Environments and Performance Analysis” at Forschungszentrum Jülich in Germany where he is responsible for user support and training for the performance tools at the Jülich Supercomputing Centre. He is also a lead developer of the Scalasca performance tools, a free and open-source project designed to analyze application execution behavior in parallel environments. He is the head of the JSC division “Application support”. He earned his Ph.D. at the University of Erlangen-Nürnberg for his work designing and developing tools for performance analysis of parallel programs. He won the ITEA Award of Excellence in 2016 on the category of “Business Impact” and the ITEA Gold Award in 2010 for the ParMA project and was nominated for HPCWire’s “People to Watch” in 2015 and 2017. He was a member in the International Exascale Software Project and work package leader in the European and Jülich exascale efforts. He has been part of the steering committee of the “International Conference for High Performance Computing, Networking, Storage, and Analysis” and the ISC High Performance conference. He is the author of several conference and journal articles about performance analysis and tuning of parallel programs.


André Oliva



Biography:  André Oliva holds a Dr. rer. nat. from the University of Tübingen in Germany, and he did his B.Sc (2014) and M.Sc (2018) at the faculty of Physics of the University of Costa Rica. He currently works at the Institute for Theoretical Astrophysics of the University of Heidelberg in Germany, where he focuses his research on the numerical modeling of massive star formation. He has taught multiple courses on Physics at the University of Tübingen, the University of Costa Rica and the Costa Rican Institute of Technology. He has published an introductory Physics book, Prefísica, that bridges the gap between Physics courses in secondary school and college courses. 

Gustavo Ramírez


Biography:  Gustavo Ramírez Hidalgo was born in 1989 in Costa Rica, and he holds a B.Sc. in Physics from the University of Costa Rica (2011) and a M.Sc. in High Performance Computing from Trinity College Dublin (2017). He has been a member of multiple research labs at the University of Costa Rica: PRIS-Lab, CICIMA and others, with topics including: quantum computing, low energy electron diffraction, renormalisation, protein-protein interactions. He has around 4 years of experience as a lecturer at the school of physics of the University of Costa Rica, and several years of experience as an entrepreneur outside of academia. For his M.Sc. thesis at Trinity College Dublin, he developed a code from scratch for the generation of Markov chain configurations for the lattice simulations of the 2D Gross-Neveu model using Hybrid Monte Carlo, under the supervision of Dr. Marina Marinkovic. He has completed, in July 2022, a joint-doctorate with degree awarded by the Bergische Universität Wuppertal (BUW), The University of Cyprus (UCY) and Università degli Studi di Ferrara (UNIFE), with title “Multilevel Algorithms in Lattice QCD for Exascale Machines”.

Maripaz Montero


Biography:  Maripaz Montero is a biologist specialized in Biotechnology graduated from the National University of Costa Rica. She currently works at the Advanced Computing Laboratory at CeNAT, where she conducts research in Bioinformatics emphasised in the study of eukaryotic genomes. Currently she works in projects for the development of workflows for the assembly, annotation and functional analysis of the genomes, and the standardization of pipelines for the analysis of metagenomic data from different environments. Her research interests are the application of a multi-omic approach for the study of eukaryotic organisms, and the effects of the interactions of symbiotic relationships between insects and microorganisms in their genomes. Maripaz is the president of the WHPC Chapter Costa Rica.

Carlos Gamboa


Biography: Carlos Gamboa holds a Master’s degree in computing from the Costa Rica Institute of Technology. He works at the Advanced Computing Laboratory at CeNAT, where he conducts research in the analysis of the spread and characterization of fake news. He also performs as the advanced network lead in CONARE. His interests are research and education, academic networks, big data, and bioinformatics.



Alessandro Marani


Alessandro Marani
Biography: Alessandro Marani has a Master’s Degree in Mathematics, with a thesis on the field of Algebraic Topology. Since 2011, he works as a member of the HPC User Support staff at CINECA, where his focus is on production aspects such as sanity checks, benchmarks and scheduler priority tuning. He also co-operates with OGS, the Italian Institute of Oceanography, for the development of a workflow related to biogeochemistry modeling and forecasting of the Mediterranean Sea. At CINECA, he is in charge of the annual HPC Course of Introduction to Parallel Programming with MPI and OpenMP.

Nitin Shukla


Biography: Nitin Shukla received his Master’s degree in Physics Engineering and his PhD in Computational plasma physics from Instituto Superior Técnico (IST), Department of Physics, (Lisbon, Portugal). After his PhD, he joined the supercomputing centre CINECA in Bologna, Italy, as a High-Performance Computing (HPC) analyst, where he is involved in developing and deploying parallel codes on modern HPC architectures with a variety of programming languages and paradigms. Nitin Shukla is high-level support for EUROFUSION and PI of the project try21 to port the plasma code ECsim to GPU using OpenACC, and a co-developer of the CUDA version of the XShell code (H2020 ChEESE project). He is also a technical referee for national and international HPC calls and convener of courses on JuliaLang, OpenMP, OpenACC, and CUDA.

Support Staff

Esteban Meneses



Biography: Esteban Meneses is the Director of the Advanced Computing Laboratory at the Costa Rica High Technology Center (CeNAT). He graduated from the PhD program in Computer Science from the University of Illinois at Urbana-Champaign. He spent two years at the Center for Simulation and Modelling at the University of Pittsburgh. He has more than 15 years of experience in HPC. His research interests include resilience in HPC systems, parallel programming models, and applications. He currently participates in two research efforts: developing a computational seismic platform to better characterize volcanic and tectonic activity, and building parallel computing simulations for plasma physics.

Christian Asch

Christian Asch

Biography: Christian Asch is a computer scientist from the University of Costa Rica where he got his bachelor’s degree. He is currently pursuing his master’s degree in computer science at the same institution. He has conducted research on automatic detection of denial-of-service attacks, high performance computing, and detection of quasi-accidents on street cameras. He has taught courses on Python, and parallel computing. His interests include computer graphics, task-based parallelism, computer architecture, and scientific simulations.


Melissa Hernández Sánchez


Biography: Melissa Hernández is the administrative assistant of the the Advanced Computing Laboratory at the Costa Rica High Technology Center (CeNAT). She has a bachelors degree in Public Administration from the University of Costa Rica. She has contributed with the organization of the event in regard to budgets, purchases and acquisitions and inter-institutional coordination with CONARE and FunCeNAT. 

Edward Soto Castro


Biography: Edward Soto is the infrastructure technician for the National Advanced Computing Collaboratory (CNCA) of the National Center of Advanced Technology (CeNAT) of Costa Rica. He did his studies on telematics and computer networks at the National Institute of Learning (INA). He has taught multiple workshops on Linux and the use of the Kabré supercomputer. His interests lie on computer networks, computer architecture and cybersecurity.

Josef Ruzicka

Josef Rucizka

Biography: Josef Ruzicka is currently completing his Bachellor’s degree on Computer Science at the University of Costa Rica (UCR). He is also a research assistant at the National Advanced Computing Collaboratory (CNCA) where he is working on the topic of performance portability with the library Kokkos. He will be teaching an introductory course to the C programming language at the pre-school.


Parallel Computing. We live in a parallel computer world. Literally. Think of all processors you have around, from the chip in your cell phone to the processor in your desktop computer. They all have multiple cores and possibly accelerators too. To unleash the full potential on all those devices, it is crucial to develop skills in parallel reasoning. How do you design a parallel program? What are the major concerns when running a concurrent code? We will discuss the fundamentals of parallel computing during an introductory lecture. Those principles apply throughout the broad spectrum of parallel architectures.

HPC 101: Introduction to HPC Applications, Systems, and Programming. In this introductory tutorial, you will learn what “high performance computing” (HPC) means and what differentiates it from more mainstream areas of computing. You will also be introduced to the major applications that use HPC for research and industry, and how AI and HPC interact with each other. Next, we discuss the “P” in HPC: Performance, why it is important, and how to evaluate the performance of HPC programs and systems. Then, we present the major HPC system architectures needed to run these applications like shared and distributed memory systems, hybrid systems, and the use of accelerators like GPUs. Finally, you will be provided with a very high-level overview of the languages and paradigms used to program HPC applications and systems. The tutorial will close with some examples of current HPC systems and the infrastructure to run them.

Shared Memory Programming. Modern computer architectures are based on processors that have multiple cores. Thanks to chip manufacturing advances, shared-memory parallel computer systems have become relatively inexpensive and intended for general-purpose use. Being able to leverage that computing power is crucial to enhance the performance of scientific applications. In this tutorial, we will explore the OpenMP application programming interface using a hands-on approach. This widely adopted standard enables the creation of shared-memory parallel programs and provides several features to maximize hardware resource utilization in modern parallel architectures.

Distributed Memory Programming. Supercomputers these days are assembled by joining together multiple compute nodes through a high-speed interconnect. Such structure allows for scalable systems where even hundreds of thousands of nodes can be connected. At that extreme, it is fundamental to use the message-passing paradigm, a well-tested mechanism to write scalable scientific software. We will present MPI, the de-facto standard in HPC programming during this tutorial. The Message Passing Interface (MPI) provides a list of functions to write complex codes and explore different data-partitioning strategies and parallel algorithms.

Accelerator Programming. Graphic Processing Units (GPUs) are an integral part of many high-end computing systems. Growing concerns for power consumption of supercomputers have pushed the community to explore and adopt alternative hardware components. It is therefore crucial to understand the design of GPUs and the available tools to program them. The OpenMP standard has been active lately in incorporating mechanisms to offload work on to the GPU. We will cover how OpenMP helps programmers in accelerating their code with GPUs.

Parallel Performance Analysis at Scale: From Single Node to one Million HPC Cores (Keynote Talk). Current high-end HPC systems consist of complex configurations of potentially heterogeneous components. In addition, the hard- and software configuration can change dynamically due to fault recovering processes or power saving efforts. Deep hierarchies of large, complex software components are needed to operate and use them. Developing efficient and high-performance application software for these systems is challenging. Therefore, sophisticated performance measurement and analysis capabilities are required. The talk will discuss the current state-of-the-art in freely available open-source parallel performance measurement and analysis tools. A special focus will be on the issues of portability, insightfulness, integration, and capability of performance tools. It will provide further details on the Score-P, Scalasca and Cube tools developed and maintained at Jülich Supercomputing Centre, one of the leading HPC computing centres in Europe. Next, some success stories of tool usage will be presented. The talk will conclude with a discussion of current issues and potential future research opportunities.

Simulations of disks and jets around forming massive stars (Invited Talk). Massive stars live short but intense lives. They form from the gravitational collapse of molecular clouds, and during their earliest stages, they are surrounded by accretion disks and launch powerful magnetically-driven jets. The theoretical modeling of massive star formation is technically challenging for the wide varieties of scales (from fractions of astronomical units to a fraction of a parsec) and physical processes involved (magnetohydrodynamics, radiation  transport, thermodynamics, etc.). In this talk, I present a tour of very high-resolution state-of-the-art simulations of the formation of massive stars, an overview of the main methods of computation, and how resolution has enabled us to obtain key, high-impact results. In Oliva & Kuiper (2020, Astron. Astroph., 644, A41), we performed disk fragmentation simulations for which the high spatial resolution grid used allowed us to study the first stages of the formation of companion stars to a massive star. In Moscadelli et al. (2022, Nature Astron., 6, 1068) and Oliva & Kuiper (2022, Astron. Astroph., in press), the high resolution of the grid near the forming massive star allowed us to model with unprecedented detail how the material of the jet is launched from the disk. Those latter simulations allowed us to confirm the magnetic nature of protostellar jets thanks to state-of-the-art observations of the star-forming region IRAS 21078+5211.





We will offer onboarding virtual sessions for those who would like to sharpen their Linux and C programming language skills. Attendance to the pre-school is optional. The onboarding sessions will take place the following days:

Introduction to Linux OS/Kabré SupercomputerThursday January 26th, 2023, 10:00am-3:00pm

Introduction to C Programming Language: Friday January 27th, 2023, 10:00am-3:00pm


Tuition fee

Participation is free. There are no tuition costs associated with participating in this school for those affiliated to academic institutions.

Maximum quota

The maximum quota is 50 participants.

Important dates

Start of the application process to the School: December 1, 2022

Closure of the application process to the School: January 13, 2023

Notification of acceptance/rejection to the School: January 16, 2023


To be a student, professor, or researcher at an academic institution.

Bring your own laptop computer. You will only need a console terminal and a PDF viewer.

Have an intermediate English level (reading and listening). Most presentations and exercises will be in English.

Have intermediate programming skills in C/C++  and intermediate Linux handling.



Women in High Performance Computing (WHPC) is an organization that encourages women to participate in the HPC community by providing support and education to women and the places in which they work. This community has several chapters around the world, including Costa Rica. This chapter aims to bring together women from all over the country who work in research and industry in HPC and related areas, to establish a community of collaboration and networking, through activities that increase the visibility of people within WHPC.


The National Council of University Presidents (Consejo Nacional de Rectores, CONARE) is the new national network of Costa Rica that replaces the National Network for Advanced Research, CR2Net, which operated from 2004 to 2006 as a consortium of institutions interested in taking advantage of advanced networks. In 2008, as part of the CLARA meeting held in Rio de Janeiro on November 27 and 28, Alejandro Cruz, General Director of the National Center for High Technology (Centro Nacional de Alta tecnología, CeNAT) from Costa Rica, CONARE dependent entity, signed the reintegration of its country to RedCLARA and ALICE under the mission to contribute in solving national problems through research and science and technology transference, with the active participation of teams of researchers and graduate students from four state universities in Costa Rica, in together with other sectors of the country, including both government and the private sector.


The Advanced Computing Laboratory (CNCA) at Costa Rica High Technology Center (CeNAT) is a multidisciplinary space where scientific discovery is accelerated through an advanced computing infrastructure. This infrastructure includes not only specialized and updated hardware, but also a set of efficient applications and well-trained staff in order to take  advantage  of  all  the  technology. This allows  CNCA  to work in the main dimensions of research, project development, training, and services provision.

The European project RISC2 aims to create a network to support the coordination of High-Performance Computing research between Europe and Latin America. It aims at exploring the real and potential impact on HPC, namely in coping with the growing environmental and scientific challenges and, therefore, in the economies of Latin America and Europe. Gathering key European HPC actors to encourage stronger cooperation between their research and industrial communities on HPC applications and infrastructure deployment.

Other Activities


The logo of Costa Rica HPC School was designed by Ing. D.I. María Cristina Vargas Del Valle.