Skip to content

Latest commit

 

History

History
96 lines (77 loc) · 4.3 KB

README.md

File metadata and controls

96 lines (77 loc) · 4.3 KB

High-Performance-Computing

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.

Thanks

Many thanks to my colleague Francesc Contreras for his contribution to the activities of the course.

Learning Objectives

  • 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.

Competences

University of Lleida (UdL) strategic competences

  • UdL1: Appropriate skills in oral and written language.
  • UdL2: Command of a foreign language.

Higher Polytecnic School (EPS) cross-disciplinary competences

  • 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.

General comptences

  • 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.

Basic competences

  • 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.

Degree-specific competences

  • 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.

Subject Contents

  1. Introduction: High Performance Computing (2h F+4h NF)

  2. 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
  3. Shared-memory Parallel Programming with OpenMP (8h F+20h NF)

    • Main Characteristics
    • Parallel Regions
    • Data Scoping
    • OpenMP worksharing for loops
    • Reductions
    • Loop Scheduling
    • Synchronization
  4. 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
  5. Cloud Computing (4h F+10h NF)

    • Cloud Essentials
    • Anatomy of the cloud
    • Oportunities
    • OpenNebula
  6. Parallel computers (2h F+6h NF)

    • Types of parallel computers
    • Analysis of main supercomputers located in TOP500

References

  • 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.