High-Performance Computing

Technical training in HPC principles, skills in developing and operating high-performance systems.

About the Course

A course on the fundamentals of high-performance computing (HPC). It covers the evolution of supercomputers from early models to modern systems, highlighting the shift from hardware to software challenges in HPC. It discusses parallel computer architecture and programming, HPC infrastructure usage, programming methods for various architectures including graphics processing units (GPUs), and machine learning elements. The course is applicable in any industry: science, engineering, medicine, and other fields.

Target Audience

  • IT Architects
  • IT Managers

Benefits

The course provides not just theoretical knowledge but comprehensive training — from understanding HPC principles to practical skills in developing and operating high-performance systems. This enables a quick entry into the profession or effective use of supercomputers in research.

    Day 1

    Fundamentals and Initial Application of HPC

  • Introduction to the field of high-performance computing (HPC), basic concepts and fundamental principles (including a historical overview of computing system development — from counting sticks to electronic components, principles of digital data processing, von Neumann architecture, etc.)
  • Mastering HPC without writing custom code: using ready-made programs and infrastructure
  • Working with libraries and tools for building workloads for specific tasks
  • Performance fundamentals: parallelism, computer architecture, key technologies enabling performance growth
  • Goal of Day 1: to provide the learner with a general understanding of HPC and teach how to use existing solutions without delving into programming

    Day 2

    Programming for HPC: From Parallel Applications to Scalable Systems

  • Developing parallel applications for shared-memory architectures using multithreading (specifically through OpenMP)
  • Programming methods for distributed systems ensuring computational scalability
  • Working with accelerators (accelerator boards) and heterogeneous systems (including GPUs)
  • Mastering new APIs that enable application scalability
  • Goal of Day 2: to teach the learner to create their own parallel and distributed programs for supercomputers, including working with modern accelerators

    Day 3

    Advanced HPC Topics

  • Machine learning as a separate class of applications and programming within HPC
  • Mass storage systems and parallel file systems — a critically important aspect for long-term HPC projects
  • In-depth study of MPI (Message Passing Interface) and remote procedure call methods
  • Overview of the evolution of computing architectures and system software over the past 7 decades (including development from single processors to heterogeneous systems, from operating systems to compilers and workflow managers)
  • Promising directions in HPC development, including the move toward exascale computing and beyond
  • Goal of Day 3: to expand the learner's knowledge to intermediate and advanced levels, introduce cutting-edge technologies, and provide an understanding of the future of HPC

Register for the Course

Details

  • Duration: 3 days
  • Price: 127,500 RUB
  • Location: Online