This repository contains the activities required during the subject High Perfomance Computing of the University of Lleida Master's Degree in Informatics Engineering.
This is a repository for PRACTISING, INSPIRATION and to review the solutions of a previous year, as they should not be the same.
Give me a star ⭐ if you find it useful. You can contact me if any question.
Many thanks to my colleague Francesc Contreras for his contribution to the activities of the course.
- Knowledge the use of benchmarking tools applied to the high performance computing environments.
- Capacity for analysis and understanding the computer perfomance.
- Knowledge of the parallel programming paradigms.
- Implementation and debugging of parallel applications using the OpenMP and MPI paradigms.
- Knowledge and understanding of the cloud computing paradigm.
- Practical use of frameworks and cloud computing technologies.
- Knowledge and understanding the architecture and operation for the most common HPC Infrastructures most
- booming in the market.
- Solving numerical algorithms using a Hybridization of OpenMP and MPI technologies and evaluating its performance.
- Communication of ideas and concepts in english in an understandable way, writing and speaking.
- UdL1: Appropriate skills in oral and written language.
- UdL2: Command of a foreign language.
- EPS3: Capacity to convey information, ideas, problems and solutions to both a specialized and no specialized public.
- EPS4: Capacity to conceive, design and implement projects and/or contribute to new solutions, using engineering tools.
- CG4: Capacity for mathematical modeling, calculation and simulation in technology and engineering company centers, particularly in research, development and innovation tasks in all areas related to informatic engineering.
- CG8: Capacity to apply the knowledge acquired for solving problems in new and unfamiliar situations within broader and more multidisciplinary contexts, and to be capable of integrating this knowledge.
- CB1: Possess knowledge and understanding that provide a basis or opportunity for originality in developing and / or applying ideas, often in a research context.
- CB2: That the students can apply their knowledge and their ability to solve problems in new or unfamiliar environments within broader (or multidisciplinary) contexts related to their field of study.
- CE10: Capacity to understand and apply advanced knowledge in high-performance computing and numerical or computational methods to problems of engineering.
- CE12: Capacity to apply mathematical, statistical and artificial intelligence methods, design and develop applications, services, intelligent systems and systems based on knowledge.
-
Introduction: High Performance Computing (2h F+4h NF)
-
Introduction to the parallel processing and Benchmarking(4h F+12h NF)
- Introduction
- Concepts
- Parallel programming models
- Design of parallel applications
- Limits of the parallel processing
- Benchmarking Tools
-
Shared-memory Parallel Programming with OpenMP (8h F+20h NF)
- Main Characteristics
- Parallel Regions
- Data Scoping
- OpenMP worksharing for loops
- Reductions
- Loop Scheduling
- Synchronization
-
Distributed-memory Parallel Programming with MPI (10h F+30h NF)
- Main Characteristics
- Messages and Point-to-point communications
- Collevtive communication
- Grouping Data for communication
- Communicators and Topologies
-
Cloud Computing (4h F+10h NF)
- Cloud Essentials
- Anatomy of the cloud
- Oportunities
- OpenNebula
-
Parallel computers (2h F+6h NF)
- Types of parallel computers
- Analysis of main supercomputers located in TOP500
- P.S. Pacheco (1997). Parallel Programming with MPI. Morgan Kaufmann Publishers.
- P. Pacheco (2011). An Introduction to Parallel Programming. Morgan Kaufmann Publishers.
- R. Chandra, L. Dagum, D. Kohr (2001). Parallel Programming in OpenMP. Morgan Kaufmann Publishers.