wiki:Workshops/IntroToMulti-Processing2025August

Version 9 (modified by fuji, 10 hours ago) ( diff )

HPC Workshop Fall 2025

Module 2 of 5 - Introduction to Multi-processing

Cypress Systedm

  • CPU: 2.80GHz Intel Xeon E5-2680 v2, 2 CPUs per node
  • Total Nodes: 124 nodes, 20 cores per nodes
  • Co-processors: Intel Xeon Phi 7120P (2 Xeon Phi cards per node)
  • 69.44Tflops CPUs only (theoretical)
  • Network bandwidth: 40Gb/sec Ethernet
  • Memory: 64G-256G per node

Why use a HPC Cluster?

  • tasks take too long
    • When the task to solve becomes heavy on computations, the operations are typically out-sourced from the local laptop or desktop to elsewhere. 
    • Your computation may execute more efficiently if the application supports multithreading or multiprocessing.
    • Parallel Programming
  • one server is not enough
    • If the computational task or analysis to complete is daunting for a single computer, larger agglomerations of servers (computers) are used.
    • Job Arrays
    • Running Many Serial/Parallel Jobs

Parallel Computing

  • Overview
  • A multi-core processor is a single computing component with two or more independent actual central processing units (called "cores"), which are the units that read and execute program instructions. The multiple cores can run multiple instructions at the same time, increasing overall speed for programs amenable to parallel computing.

Codes for Multi-Cores, Multi-Nodes. Offloading

  • Computer programs developed for old CPU's runs on a single core.
  • Simple C/C++, Fortran code runs on just one core.
  • We have to develop codes that use multiple cores and/or multiprocessing.
  • We have to know if the application supports multithreading and/or multiprocessing.

Parallel Programming

  • OpenMP - Simple tutorial of OpenMP parallel codes
  • MPI - Simple tutorial of MPI parallel codes
  • XeonPhi - Programming for the Xeon Phi Coprocessor on Cypress
  • Offloading to Accelerator - Explicit Offloading with OpenMP

Example SLURM job scripts

Running Many Serial/Parallel Jobs

Note: See TracWiki for help on using the wiki.