Using the IBM idataplex (PLX)

Similar documents
NEC HPC-Linux-Cluster

The CNMS Computer Cluster

Miami University RedHawk Cluster Working with batch jobs on the Cluster

Getting Started with HPC

Hodor and Bran - Job Scheduling and PBS Scripts

Introduction to Linux and Cluster Basics for the CCR General Computing Cluster

Using NeSI HPC Resources. NeSI Computational Science Team

An Introduction to High Performance Computing in the Department

Streamline Computing Linux Cluster User Training. ( Nottingham University)

Introduction to Running Hadoop on the High Performance Clusters at the Center for Computational Research

User s Manual

Work Environment. David Tur HPC Expert. HPC Users Training September, 18th 2015

How To Build A Supermicro Computer With A 32 Core Power Core (Powerpc) And A 32-Core (Powerpc) (Powerpowerpter) (I386) (Amd) (Microcore) (Supermicro) (

The Asterope compute cluster

Introduction to Running Computations on the High Performance Clusters at the Center for Computational Research

JUROPA Linux Cluster An Overview. 19 May 2014 Ulrich Detert

Introduction to HPC Workshop. Center for e-research

Manual for using Super Computing Resources

Grid 101. Grid 101. Josh Hegie.

Using the Yale HPC Clusters

Overview of HPC systems and software available within

High Performance Computing Facility Specifications, Policies and Usage. Supercomputer Project. Bibliotheca Alexandrina

An introduction to Fyrkat

Grid Engine Basics. Table of Contents. Grid Engine Basics Version 1. (Formerly: Sun Grid Engine)

Linux für bwgrid. Sabine Richling, Heinz Kredel. Universitätsrechenzentrum Heidelberg Rechenzentrum Universität Mannheim. 27.

PBS Tutorial. Fangrui Ma Universit of Nebraska-Lincoln. October 26th, 2007

Parallel Processing using the LOTUS cluster

RWTH GPU Cluster. Sandra Wienke November Rechen- und Kommunikationszentrum (RZ) Fotos: Christian Iwainsky

Introduction to Sun Grid Engine (SGE)

Using WestGrid. Patrick Mann, Manager, Technical Operations Jan.15, 2014

SGE Roll: Users Guide. Version Edition

Grid Engine Users Guide p1 Edition

icer Bioinformatics Support Fall 2011

The RWTH Compute Cluster Environment

Parallel Programming for Multi-Core, Distributed Systems, and GPUs Exercises

Running on Blue Gene/Q at Argonne Leadership Computing Facility (ALCF)

Running applications on the Cray XC30 4/12/2015

HPC at IU Overview. Abhinav Thota Research Technologies Indiana University

Automated Testing of Installed Software

Martinos Center Compute Clusters

1.0. User Manual For HPC Cluster at GIKI. Volume. Ghulam Ishaq Khan Institute of Engineering Sciences & Technology

Beyond Windows: Using the Linux Servers and the Grid

Working with HPC and HTC Apps. Abhinav Thota Research Technologies Indiana University

Using the Windows Cluster

SLURM: Resource Management and Job Scheduling Software. Advanced Computing Center for Research and Education

1 DCSC/AU: HUGE. DeIC Sekretariat /RB. Bilag 1. DeIC (DCSC) Scientific Computing Installations

How To Run A Tompouce Cluster On An Ipra (Inria) (Sun) 2 (Sun Geserade) (Sun-Ge) 2/5.2 (

CNAG User s Guide. Barcelona Supercomputing Center Copyright c 2015 BSC-CNS December 18, Introduction 2

RA MPI Compilers Debuggers Profiling. March 25, 2009

locuz.com HPC App Portal V2.0 DATASHEET

Parallel Debugging with DDT

Introduction to ACENET Accelerating Discovery with Computational Research May, 2015

Integration of Virtualized Workernodes in Batch Queueing Systems The ViBatch Concept

Juropa. Batch Usage Introduction. May 2014 Chrysovalantis Paschoulas

NYUAD HPC Center Running Jobs

Overview of HPC Resources at Vanderbilt

Table of Contents New User Orientation...1

High-Performance Reservoir Risk Assessment (Jacta Cluster)

LANL Computing Environment for PSAAP Partners

How to Run Parallel Jobs Efficiently

SLURM Workload Manager

Caltech Center for Advanced Computing Research System Guide: MRI2 Cluster (zwicky) January 2014

SLURM: Resource Management and Job Scheduling Software. Advanced Computing Center for Research and Education

Debugging and Profiling Lab. Carlos Rosales, Kent Milfeld and Yaakoub Y. El Kharma

GRID Computing: CAS Style

Agenda. HPC Software Stack. HPC Post-Processing Visualization. Case Study National Scientific Center. European HPC Benchmark Center Montpellier PSSC

Part I Courses Syllabus

Accelerating Simulation & Analysis with Hybrid GPU Parallelization and Cloud Computing

CNR-INFM DEMOCRITOS and SISSA elab Trieste

Introduction to the CRAY XE6(Lindgren) environment at PDC. Dr. Lilit Axner (PDC, Sweden)

24/08/2004. Introductory User Guide

Agenda. Using HPC Wales 2

Getting help - guide to the ticketing system. Thomas Röblitz, UiO/USIT/UAV/ITF/FI ;)

bwgrid Treff MA/HD Sabine Richling, Heinz Kredel Universitätsrechenzentrum Heidelberg Rechenzentrum Universität Mannheim 24.

Introduction to SDSC systems and data analytics software packages "

UMass High Performance Computing Center

New High-performance computing cluster: PAULI. Sascha Frick Institute for Physical Chemistry

System Requirements Table of contents

bwgrid Treff MA/HD Sabine Richling, Heinz Kredel Universitätsrechenzentrum Heidelberg Rechenzentrum Universität Mannheim 29.

Tutorial: Using WestGrid. Drew Leske Compute Canada/WestGrid Site Lead University of Victoria

1 Bull, 2011 Bull Extreme Computing

Building a Top500-class Supercomputing Cluster at LNS-BUAP

HPCC - Hrothgar Getting Started User Guide MPI Programming

Introduction to the SGE/OGS batch-queuing system

HPCC USER S GUIDE. Version 1.2 July IITS (Research Support) Singapore Management University. IITS, Singapore Management University Page 1 of 35

8/15/2014. Best (and more) General Information. Staying Informed. Staying Informed. Staying Informed-System Status

Parallel Programming Survey

HPC system startup manual (version 1.30)

High Performance Computing Infrastructure at DESY

Berkeley Research Computing. Town Hall Meeting Savio Overview

Introduction to Supercomputing with Janus

CORRIGENDUM TO TENDER FOR HIGH PERFORMANCE SERVER

Biowulf2 Training Session

Cluster performance, how to get the most out of Abel. Ole W. Saastad, Dr.Scient USIT / UAV / FI April 18 th 2013

Notes on the SNOW/Rmpi R packages with OpenMPI and Sun Grid Engine

Automating Big Data Benchmarking for Different Architectures with ALOJA

Installing and running COMSOL on a Linux cluster

On-demand (Pay-per-Use) HPC Service Portal

Grid Engine experience in Finis Terrae, large Itanium cluster supercomputer. Pablo Rey Mayo Systems Technician, Galicia Supercomputing Centre (CESGA)

Transcription:

Using the IBM idataplex (PLX) A. Emerson, Applications Specialist https://hpc.cineca.it/content/ibm-plx-user-guide 1

Contents Architecture Logging on (local and PRACE) and environment (modules) Compiling programs Running jobs with PBS Some benchmarks reasons for using GPUs A. Emerson 2

PLX characteristics Model: IBM idataplex DX360M3 Architecture: Linux Infiniband Cluster Processor Type: Intel Xeon (Esa-Core Westmere) E5645 2.4 GHz (Compute) Intel Xeon (Quad-Core Nehalem) E5530 2.66 GHz (Service and Login) Number of nodes: 274 Compute + 1 Login + 1 Service + 8 Fat + 6 RVN + 8 Storage + 2 Management Number of cores: 3288 (Compute) Number of GPUs: 528 nvidia Tesla M2070 + 20 nvidia Tesla M2070Q RAM: 14 TB (48 GB/Compute node + 128GB/Fat node) PLX system performance Peak performance: 32 Tflops (3288 cores a 2.40GHz) Peak performance: 565 TFlops SP or 283 TFlops DP (548 Nvidia M2070) A. Emerson 3

Compute nodes 48 Gb RAM A. Emerson 4

Xeon E5645 cache hierarchy A. Emerson 5

Who uses PLX? Not the main scientific resource of Cineca, but shared with industry and users with particular contracts or agreements (e.g. Weather forecasting). Academic users include: National Italian projects (ISCRA) PRACE Tier-1 (1-2 projects/call, 1.5M core hours/yr) ISCRA projects are available to non-italian nationals providing the PI is a based in an Italian Institution, but collaborators can be based anywhere. PRACE Tier-1 projects by application through Tier-1 project access. Preference given to projects capable of exploiting GPUs. A. Emerson 6

Requesting an Account If you are eligible for CPU time on PLX you may be asked to fill in your personal info on our user db (not necessary for non-italian PRACE users. ) A. Emerson 7

How to login For ISCRA and other local users simple SSH ssh username@login.plx.cineca.it For PRACE users preferred method is via gsissh (Globus) and X.509 certificates: grid-proxy-init gsissh gssh.plx.cineca.it -p 2222 If your setup is correct it wont ask for a password. The procedure assumes that the DN (Distinguished Name) of your certificate is in the PRACE LDAP (user account system). Also that your certificate in.pem format is in $HOME/.globus. For more information: http://www.deisa.eu/usersupport/user-documentation/interactiveaccess/accessing-deisa-door-nodes-using-gsissh Access also available via UNICORE. A. Emerson 8

Support and documentation Help desk system Email address superc@cineca.it Uses a trouble-ticket system to keep track of your request Please dont use private email addresses of CINECA staff. HPC Portal Status of clusters Documentation Managing accounts (work in progress) A. Emerson 9

Disks and filesystems Standard CINECA environment A. Emerson 10

Disks and filesystems CINECA Environment (Default) $HOME: Permanent, backed-up,and local to SP6. Quota = 2GB. For source code or important input files. $CINECA_DATA: Permanent, no backup, and shared with other CINECA systems. Mounted only on login nodes (i.e. not visible in normal batch jobs) Quota=100Gb can be extended on request. Intended as a temporary backup area and file transfer between PLX-SP6. $CINECA_SCRATCH: Large, parallel filesystem (GPFS). Temporary (files older than 30 days automatically deleted), no backup. No quota. Run your simulations and calculations here. A. Emerson 11

Disks and Filesystems PRACE Environment module load prace Same as CINECA, i.e. $PRACE_SCRATCH=$CINECA_SCRATCH, etc. Not obligatory for PRACE users to use the PRACE environment. Note that some PRACE sites may put PRACE users on separate login nodes, and load the PRACE environment. Not currently the policy on plx. A. Emerson 12

Accounting CINECA Accounting saldo command USERNAMES ARE STRICTLY PERSONAL AND MUST NOT BE SHARED! bash-3.2$ saldo -b ------------------------------------------------------------------------------------------------------ account start end total localcluster totconsumed totconsumed (local h) Consumed(local h) (local h) % ------------------------------------------------------------------------------------------------------ ISCRA_PROJB 20120119 20120930 20000 0 0 0 EXA_NUCMI 20110120 20130930 1500000 1000000 1000000 67 Accounting philosophy is based on the resources requested for the time of the batch job: cost = no. of cores requested x job duration In the CINECA system it is possible to have more than 1 budget ( account ) from which you can use time. The accounts available to your UNIX username can be found from the saldo command. A. Emerson 13

Accounting PRACE Accounting Although accounting policies of PRACE are broadly similar to those of CINECA, PRACE users should use DART (Distributed Accounting Report Tool). You must have a valid X.509 certificate to use DART. A. Emerson 14

PLX module environment PLX uses the module system to provide access to applications, compilers, libraries and so on. Modules typically set shell variables such as $PATH (for commands) or $LD_LIBRARY_PATH (for libs). Avoids cluttering up the default user shell settings which the user may never use. Example module commands: module load gromacs # load default version of gromacs module load namd/2.8 # load version 2.8 of NAMD module unload lammps # remove lammps module from environment module show cmake # show what the cmake module does (but dont load it) module list # list modules loaded by user module avail # list modules available module purge # remove all modules from environment module load profile/advanced # load advanced module profile module help fftw # get help on the module A. Emerson 15

PLX module environment - continued Some modules have dependencies, i.e. require other modules before loading: module load amber/11 WARNING: amber/11 cannot be loaded due to missing prereq. HINT: the following modules must be loaded first: IntelMPI/4.0- binary module load IntelMPI/4.0--binary cuda/4.0 amber/11 or module load autoload amber/11 The PRACE CPE (Common Production Environment) specifies a common set of modules as well as defining variables for data storage: module load prace A. Emerson 16

PLX compilation Three makes of compiler are provided: gnu pgi intel and two flavours of MPI openmpi intelmpi With the exception of GNU version 4.1.2 you need to load the appropriate compiler module: module load intel Often multiple versions are maintained to allow backwards compatibility: module av pgi pgi/11.1(default) pgi/11.6 pgi/11.7 A. Emerson 17

PLX compilation Typical compilation with external libraries: module load intel fftw module list ifort I$FFTW_INC o myprog myprog.f L$FFTW_LIB -lfftw3f The fftw module defines the FFTW_INC, FFTW_LIB variables which can then be used in the compilation. MPI programs usually compiled with the wrapped versions of the compilers: module load gnu openmpi/1.3.3--gnu--4.1.2 man mpif90 mpif90 -o myexec myprof.f90 (uses the gfortran compiler) A. Emerson 18

PLX compilation - CUDA GPU-enabled programs written with CUDA can be compiled after loading the cuda module, but must be compiled on the compute nodes (i.e. via the batch system). module load gnu module load cuda nvcc arch=sm_20 I$CUDA_INC L$CUDA_LIB lcublas o myprog myprog.c A. Emerson 19

Batch submission with PBS The login nodes are meant for simple operations such as editing or short (non- CUDA) compilations. Anything else must be done on the compute nodes via the PBS batch system. In particular, do not run parallel MPI programs on the login nodes. UNIX commands requiring >10 min CPU also need to be done on the compute nodes. The batch system on PLX is called PBS Pro. You can access the compute nodes via a PBS interactive session: qsub A <account_no> -I -l select=1:ncpus=2:mpiprocs=2 -q debug (ssh access to the compute nodes is disabled for non-staff users) Once PBS finds a compute node with the requested resources it will log you on the node. A. Emerson 20

Batch submission with PBS Some submission options: qsub -l <resources> # resource request -I # interactive mode -q <queue> # queue name -A <account number> # necessary for some projects (not PRACE) An important option is the resource request option l For the wall time limit -l walltime=hh:mm:ss To reserve nodes, cpus, mpi processes etc -l select=1:ncpus=12:mpiprocs=12 This reserves 1 chunk with 12 cores where we can run 12 MPI processes. A. Emerson 21

Batch submission with PBS Often more convenient to write a batch script with PBS directives: #PBS -A MMM_myproj #PBS -N job_name #PBS -l walltime=1:00:00 #PBS -l select=16:mpiprocs=8:ncpus=8 #PBS -o job.out #PBS -q parallel cd $PBS_O_WORKDIR # cd to submission directory module load autoload namd # load namd module mpirun -np 128 namd2 md.namd # use mpirun to run MPI prog namd If these lines are in a file job.pbs, submit job with qsub job.pbs Notice: We have asked for 16 chunks, each with 8 cores and 8 MPI processes mpirun to run an MPI program the option o to rename the standard output A. Emerson 22

PBS examples Variable chunk sizes #PBS -l select=2:ncpus=8:mpiprocs=8+1:ncpus=5:mpiprocs=5 2 chunks of 8 cpus + 1 chunk 5 of cores. Hybrid MPI/openmp #PBS -l select=2:ncpus=8:mpiprocs=1 2 chunks: for each chunk 1 MPI/task + 8 threads. Job dependencies ( chaining ) qsub -W depend=afterok:jobid.node351.plx.cineca.it job.sh Wait for job JOBID to finish before starting. A. Emerson 23

Batch submission with PBS - GPUs You should request explicitly the need for gpus: -l select=1:ncpus=12:ngpus=2 Example: #PBS -N namd_cuda #PBS -l walltime=20:00 #PBS -l select=1:ncpus=2:mpiprocs=2:ngpus=2 #PBS -A cinstaff #PBS -q parallel module load autoload namd/2.8/cuda module load cuda # the following line is needed due to bug with CUDA 4.0 and Infiniband export CUDA_NIC_INTEROP=1 cd $PBS_O_WORKDIR cmd="namd2 +idlepoll dhfr.namd" mpirun -np 2 $cmd it is possible to use a GPU without asking PBS, but since nodes are not exclusive in our configuration may risk conflicts with other users => always explicitly request the GPUs. A. Emerson 24

Batch submission with PBS - qstat # job information qstat # shows all jobs on the system qstat u username# shows jobs belonging to username qstat f <job_id> # detailed information on job <job_id> # queue information qstat q qstat q queue_name qstat Q # list queues and definition # definition and status of queue queue_name # current status of queues (long format) A. Emerson 25

Amber + NAMD GPU performance DNA+water, NVT, ~40K atoms 25 20 4 6 amber 11 performance 2 ns/day 15 10 1 cpu gpu NAMD GPU performance 5 70 60 80 0 1 10 100 1000 #cores 50 ns/day 40 30 20 10 1 2 4 6 10 20 40 cpu gpu 0 1 10 100 1000 #cores BLG + water/urea, NVT, ~33K atoms A. Emerson