29
EGI-InSPIRE RI-261323 BlueGene/P Supercomputer Access/Overview/Usage Programming aspects/style HPC Resources at UVT Silviu Panica , Marian Neagul [email protected] http://hpc.uvt.ro/

BlueGene/P Supercomputer

  • Upload
    thao

  • View
    61

  • Download
    0

Embed Size (px)

DESCRIPTION

HPC Resources at UVT. BlueGene/P Supercomputer. Access/Overview/Usage Programming aspects/style. Silviu Panica , Marian Neagul [email protected] http://hpc.uvt.ro/. Overview. BlueGene/P Supercomputer access information technical details / architecture how to use it For developers - PowerPoint PPT Presentation

Citation preview

Page 1: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BlueGene/P Supercomputer

Access/Overview/Usage

Programming aspects/style

HPC Resources at UVT

Silviu Panica, Marian [email protected]

http://hpc.uvt.ro/

Page 2: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

Overview

• BlueGene/P Supercomputer• access information• technical details / architecture• how to use it

• For developers• parallel/multi-core environment• compiling tips

• Example (hands-on)

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 2

Page 3: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BlueGene/P Supercomputer

• supercomputer information:• http://hpc.uvt.ro/infrastructure/bluegenep/

• „open“ access;

• sign-up form;

• resource scheduling:• no special policy: based on res. availability;

• one simple request: acknowledge the use of BG/P;

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 3

Page 4: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BlueGene/P Supercomputer

• technical details:• 1x rack• 32x compute nodes

• 32x compute cards• 4TB RAM

• 1024x compute cards• 4x core 450 PowerPC• 4GB RAM

• high-speed and scalable inter-connect;

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 4

Page 5: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BlueGene/P Supercomputer

BlueGene/P Racks

13.6 GF/s8 MB

EDRAM

4 processors

1 chip, 20 DRAMs

13.6 GF/s4.0 GB DDR2

32 Node Cards

13.9 TF/s4 TB

72 Racks, 72x32x32

1 PF/s288 TB

Cabled 8x8x16Rack

Compute Card

Chip 435 GF/s128 GB

(32 chips 4x4x2)32 compute, 0-2 IO

cards

Node Card

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 5

Page 6: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BlueGene/P Supercomputer

Compute card

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 6

Page 7: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P - Architecture

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 7

Page 8: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BlueGene/P Supercomputer

Node card

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 8

Page 9: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P - Configuration

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 9

Page 10: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P Inter-connect

• 3D Torus• MPI point-to-point comm.;• every compute node is connected to each six neighbors;• bandwidth: 3.4Gb/s bidirectional * 6 links/node;• latency: 3µs – 1 hop; 10µs farthest;• routing: adaptive/dynamic hardware;• DMA support;

• Global collective• MPI one-to-all and all-to-all;• MPI Reduction;• interconnects all compute and I/O;• bandwidth: 6.8Gb/s bidirectional * 3 links/node;• latency: 3µs – tree traversal (one way);

• Global Barrier/Interrupt• connects all compute nodes;• low latency for MPI: 1.3µs to reach 72k nodes (max BG/P configuration)• bandwidth: 3.4Gb bidirectional * 4 links/node (not so important; no data carried)

• I/O network• 10Gbps Ethernet: connects I/O nodes with the storage system;

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 10

Page 11: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – CNK

Compute Node Kernel

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 11

Page 12: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – Execution modes

• 1 MPI per node• up to 4

Pthreads/OpenMP• maxim memory

availability• running only one

kernel image;

SMP

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 12

Page 13: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – Execution modes

• 4 MPI per node• NO threads• 1GB memory

available for each process;

• running one kernel image for each process;

• (L3 cache / 2) for each two cores;

• (memory bandwith / 2) for each two cores;

VN – Virtual Node

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 13

Page 14: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – Execution modes

• 2 MPI per node• up to 2

Pthreads/OpenMP• 2GB memory for

each process;• running one kernel

image for each process;

DUAL - Dual Mode

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 14

Page 15: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P - Numbers

Node processors : Quad 450 PowerPC

Processor frequency: 850 MHz

Coherency: Symmetrical multiprocessing

L1 Cache (private): 32 KB per core

L2 Cache (private) 14 stream pre-fetching

L3 Cache size (shared) 8 MB

Main store memory/node: 4GB

Main store memory bandwidth:

16GBps

Peak performance: 13.6TFlops

Sustained performance: 11.7 Tflops

Storage: 28TB

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 15

Page 16: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – How to use it

• front-end node access:• [email protected] (ssh)

• CLI access;• web interface for information:

• https://sn.hpc.uvt.ro:32072/BlueGeneNavigator/

• compilers:• C/C++ and Fortran;• python limited support;

• job submission:• job scheduler: LoadLeveler;• direct submit: mpirun

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 16

Page 17: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P - compilers

• supported compilers:• IBM XL C/C++

• standard C/C++• bgxlc• bgxlC

• MPI-2• mpixlc (_r - thread safe);• mpicxx

• IBM XL Fortran• standard Fortran:

• bgxlf• MPI-2

• mpixlf[70,77,90,95,2003] (_r - thread safe)

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 17

Page 18: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P - Environment

• user_home: /u/invites/username• storage_partition: $user_home• compilers location:

• Fortran• /opt/ibmcmp/xlf/bg/11.1/bin/

• C• /opt/ibmcmp/vac/bg/9.0/bin/

• C++• /opt/ibmcmp/vacpp/bg/9.0/bin/

• Optimized libraries:• IBM ESSL (Engineering and Scientific Subroutines)

• /bgsys/ibm_essl/sles10/prod/opt/ibmmath/essl/4.4/• IBM MASS (Mathematical Acceleration Subsystem)

• /opt/ibmcmp/xlmass/bg/4.4/bglib• /opt/ibmcmp/xlmass/bg/4.4/include

• Custom libraries (users)• /u/sdk/bg/

• module support: soon!

http://hpc.uvt.ro/wiki/ BlueGene - up to date information

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 18

Page 19: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – job submission

#!/bin/sh

# @ job_name = sfcmGridFragm_2iunie# @ job_type = bluegene# @ requirements = (Machine == "$(host)")# @ error = $(job_name)_$(jobid).err# @ output = $(job_name)_$(jobid).out# @ environment = COPY_ALL;

# @ notification = always# @ notify_user = [email protected]

# @ wall_clock_limit = 3:59:00

# @ class = parallel# @ bg_size = 32# @ queue

/bgsys/drivers/ppcfloor/bin/mpirun -mode VN –np 128 -cwd "/u/path/to/dir" -args "config_sfcm.cnf 4 4" -exe /u/path/to/exe

Load leveler

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 19

Page 20: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – job submission

• llclass

• llstatus

• llsubmit job_desc

• llq• -l – verbose information

• llcancel

Load leveler

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 20

Page 21: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – job submission

mpirun -partition R00-M0-64-2 \

-cwd ~/projects/bgp/loadl/sample_1 \

-mode SMP \

-np 64 \

-exe ~/projects/bgp/loadl/sample_1/sample_1

mpirun

• partition must exist! (check BlueGeneNavigator)• if cancelling run ctrl+c once and wait!• partitioning support – soon!

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 21

Page 22: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

Documentation

• http://hpc.uvt.ro/wiki/BlueGene/

• IBM RedBooks (free for download):• BlueGene/P for System Administration

• id: sg247417

• BlueGene/P Application Development• id: sg247287

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 22

Page 23: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – For developers

• MPI-2 implementation;• -I/bgsys/drivers/ppcfloor/comm/include• mpi.h• mpif.h

• MPI_X extension to support BG/P personality (CPU mapping);• mpix.h

MPI

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 23

Page 24: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – For developers

• personality example:#include <spi/kernel_interface.h>#include <common/bgp_personality.h>#include <common/bgp_personality_inlines.h>

_BGP_Personality_t personality;int myX, myY, myZ, coreID;

Kernel_GetPersonality(&personality, sizeof(personality));

myX = personality.Network_Config.Xcoord;myY = personality.Network_Config.Ycoord;myZ = personality.Network_Config.Zcoord;coreID = Kernel_PhysicalProcessorID();node_config = personality.Kernel_Config.ProcessConfig;pset_size = personality.Network_Config.PSetSize;pset_rank = personality.Network_Config.RankInPSet;BGP_Personality_getLocationString(&personality, location);

printf("MPI rank %d has torus coords <%d,%d,%d> cpu = %d, location = %s\n", rank, myX, myY, myZ, coreID, location);

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 24

Page 25: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – For developers

Mapping

y

x

z

8

8

16

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 25

Page 26: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – For developers

• OpenMP 2.5;• -qsmp=omp to activate;• -qsmp – activates auto parallalization;

• activates –O2 –qhot (use –qsmp=omp:noopt to disable)

• use _r* compilers for thread safe compilation support;

OpenMP

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 26

Page 27: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – For developers

• compiler optimization:• default: NONE (very very slow);• -O: first level,

• –qmaxmem=128000 (amount of mem. for memory-intensive optimization)

• -O3 –qstrict: more aggressive optimization but it doesn’t modify program semantics;

• -O3: aggressive; replace division by multiplication with the inverse; allows re-association etc.;

• -qhot: high-order transformation module; adds vector routines (-qhot=novector to disable); optimizes loops; etc.

• -qipa: inter-procedure analysis; check documentation for further sub-options; ex. –qipa=level=2

• -qinline: inline subroutines to reduce overhead;

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 27

Page 28: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

BG/P – For developers

• compiler optimization• architecture flags:

• -qarch=450: single FPU -> standard floating point code;• -qarch=450d: double FPU;• test you application with both flags (450d sometimes needs

more time to compute if not used correctly);• -qtune=450 (by default comes with –qarch);

• BG/P recommendations:• start with: -g -O -qarch=450 -qmaxmem=128000;• next: -O3 -qarch=450/450d• next: -O4 -qarch=450/450d (even –O5)

• -O4 = -O3 -qhot -qipa=level=1• -O5 = -O3 -qhot -qipa=level=2

• basic debugging: -qdebug=diagnostic (only with –qhot)

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 28

Page 29: BlueGene/P Supercomputer

EGI-InSPIRE RI-261323

Example

• open: http://hpc.uvt.ro/wiki/BlueGene/

• -> Hello Word example• follow instructions;

04/22/23 Workshop on Clouds, Clusters and HPC infrastructures - Timisoara 29