Effective Use of CCV Resources

Similar documents
Introduction to PICO Parallel & Production Enviroment

Introduction to GALILEO

Introduction to GALILEO

Our new HPC-Cluster An overview

Introduction to CINECA HPC Environment

A Brief Introduction to The Center for Advanced Computing

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

A Brief Introduction to The Center for Advanced Computing

Computing with the Moore Cluster

A Brief Introduction to The Center for Advanced Computing

PBS Pro and Ansys Examples

First steps on using an HPC service ARCHER

Intel Manycore Testing Lab (MTL) - Linux Getting Started Guide

Compiling applications for the Cray XC

Introduction to CINECA Computer Environment

Before We Start. Sign in hpcxx account slips Windows Users: Download PuTTY. Google PuTTY First result Save putty.exe to Desktop

User Guide of High Performance Computing Cluster in School of Physics

Introduction to HPC Numerical libraries on FERMI and PLX

Supercomputing environment TMA4280 Introduction to Supercomputing

Introduction to Discovery.

Introduction to Unix Environment: modules, job scripts, PBS. N. Spallanzani (CINECA)

Using the computational resources at the GACRC

Cerebro Quick Start Guide

Introduc)on to Pacman

Cluster Clonetroop: HowTo 2014

Introduction to Discovery.

How to run applications on Aziz supercomputer. Mohammad Rafi System Administrator Fujitsu Technology Solutions

Introduction to GALILEO

New User Tutorial. OSU High Performance Computing Center

Ambiente CINECA: moduli, job scripts, PBS. A. Grottesi (CINECA)

XSEDE New User Tutorial

Introduction to HPC2N

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah

Name Department/Research Area Have you used the Linux command line?

Our Workshop Environment

Introduction to HPC Using zcluster at GACRC

Our Workshop Environment

Introduction to SahasraT. RAVITEJA K Applications Analyst, Cray inc E Mail :

ACEnet for CS6702 Ross Dickson, Computational Research Consultant 29 Sep 2009

Introduction to the SHARCNET Environment May-25 Pre-(summer)school webinar Speaker: Alex Razoumov University of Ontario Institute of Technology

Our Workshop Environment

Genius Quick Start Guide

Introduction to HPC Using zcluster at GACRC

High Performance Computing (HPC) Using zcluster at GACRC

Beginner's Guide for UK IBM systems

XSEDE New User Tutorial

Answers to Federal Reserve Questions. Training for University of Richmond

Introduction to HPC Using zcluster at GACRC

PACE. Instructional Cluster Environment (ICE) Orientation. Mehmet (Memo) Belgin, PhD Research Scientist, PACE

Programming Techniques for Supercomputers. HPC RRZE University Erlangen-Nürnberg Sommersemester 2018

High Performance Beowulf Cluster Environment User Manual

PACE. Instructional Cluster Environment (ICE) Orientation. Research Scientist, PACE

UoW HPC Quick Start. Information Technology Services University of Wollongong. ( Last updated on October 10, 2011)

Introduction to Discovery.

Introduction to HPC2N

Our Workshop Environment

Using ISMLL Cluster. Tutorial Lec 5. Mohsan Jameel, Information Systems and Machine Learning Lab, University of Hildesheim

Practical: a sample code

Working on the NewRiver Cluster

OBTAINING AN ACCOUNT:

XSEDE New User Tutorial

Minnesota Supercomputing Institute Regents of the University of Minnesota. All rights reserved.

HPC Resources at Lehigh. Steve Anthony March 22, 2012

Introduction to HPC Resources and Linux

Sharpen Exercise: Using HPC resources and running parallel applications

The cluster system. Introduction 22th February Jan Saalbach Scientific Computing Group

Tech Computer Center Documentation

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah

Guillimin HPC Users Meeting March 17, 2016

Simple examples how to run MPI program via PBS on Taurus HPC

XSEDE New User Tutorial

Using Sapelo2 Cluster at the GACRC

For Dr Landau s PHYS8602 course

Installation of OpenMX

Wednesday, August 10, 11. The Texas Advanced Computing Center Michael B. Gonzales, Ph.D. Program Director, Computational Biology

ncsa eclipse internal training

Introduc)on to Hyades

Using the MaRC2 HPC Cluster

PBS Pro Documentation

Introduction to High Performance Computing at UEA. Chris Collins Head of Research and Specialist Computing ITCS

GPU Cluster Usage Tutorial

Introduction to HPC Using the New Cluster at GACRC

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

Image Sharpening. Practical Introduction to HPC Exercise. Instructions for Cirrus Tier-2 System

Introduction to Joker Cyber Infrastructure Architecture Team CIA.NMSU.EDU

Our Workshop Environment

bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs

Introduction to the NCAR HPC Systems. 25 May 2018 Consulting Services Group Brian Vanderwende

Programming Environment on Ranger Cluster

DDT: A visual, parallel debugger on Ra

Using the IBM Opteron 1350 at OSC. October 19-20, 2010

Taiwania HPC System User Operation Manual

A Hands-On Tutorial: RNA Sequencing Using High-Performance Computing

CSC Supercomputing Environment

Introduction to LONI Computing Resources

Institute for Materials Research, Tohoku University Parallel Computing & Informatics. Server Manual

COMPILING FOR THE ARCHER HARDWARE. Slides contributed by Cray and EPCC

The DTU HPC system. and how to use TopOpt in PETSc on a HPC system, visualize and 3D print results.

bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs

Batch Systems. Running your jobs on an HPC machine

Transcription:

Effective Use of CCV Resources Mark Howison User Services & Support

This talk... Assumes you have some familiarity with a Unix shell Provides examples and best practices for typical usage of CCV systems Is a condensed form of the documentation available at: http://www.brown.edu/departments/ccv/doc 2

Overview Connecting to CCV Transferring files Available software Compiling and linking your own code Running and monitoring jobs 3

Logging in CCV uses the Secure Shell (SSH) protocol You will need an SSH client Linux / OS X comes with a command-line client Windows: try PuTTY or Cygwin Connect to the ssh server Linux / OS X / Cygwin: ssh username@ssh.ccv.brown.edu PuTTY: enter ssh.ccv.brown.edu in Host Name 4

Virtual Network Computing OR connect through CCV's Virtual Network Computing client, available here: http://www.brown.edu/departments/ccv/vnc 5

Transferring files Mount your RData directory (~/data on Oscar) with Samba to use Windows Explorer or Mac Finder Or from a terminal, use the scp command: Copy to Oscar: scp username@ssh.ccv.brown.edu:/remote/path /local/path Copy from Oscar: scp /local/path username@ssh.ccv.brown.edu:/remote/path Or use a GUI Secure Copy program e.g. WinSCP, Fugu (Mac) 6

Available software Software is organized using Environment Modules Load a software module with module load <name> Loading a module alters your environment, paths, etc: [mhowison@login001 ~]$ module display intel ------------------------------------------------------------------- /gpfs/runtime/modulefiles/intel/12.0.4: setenv MKL -L/gpfs/runtime/opt/intel/12.0.4/mkl/lib/intel64 -lmkl_rt -liomp5 -lpthread prepend-path PATH /gpfs/runtime/opt/intel/12.0.4/bin prepend-path MANPATH /gpfs/runtime/opt/intel/12.0.4/man/en_us prepend-path LD_LIBRARY_PATH /gpfs/runtime/opt/intel/12.0.4/lib/ intel64:/gpfs/runtime/opt/intel/12.0.4/mkl/lib/intel64 [mhowison@login001 ~]$ module load intel [mhowison@login001 ~]$ which icc /gpfs/runtime/opt/intel/12.0.4/bin/icc 7

Available software (Cont'd) View available modules with module avail Or search for a specific package with module avail <package> View your loaded modules with module list Module commands in your ~/.modules file will automatically execute when you login Add a module to your default list with echo module load <name> >>~/.modules If you need software that is not installed, submit a request at http://www.brown.edu/departments/ccv/protected/software 8

Compiling By default, the GNU compiler suite is loaded gcc (C), g++ (C++), and gfortran (Fortran) Portland Group (PGI) compilers are available with module load pgi/11.4 pgcc (C), pgcc (C++), and pgf90 (Fortran) Intel compiler suite (with MKL) is available with module load intel icc (C), icpc (C++), and ifort (Fortran) 9

Compiling (Cont'd) To use MPI with the PGI or Intel compilers, you must swap out the openmpi module! module swap openmpi openmpi/1.4.3-pgi or module swap openmpi openmpi/1.4.3-intel Otherwise, mpicc will point to the wrong compiler 10

Linking Many modules include environment variable shortcuts that contain linking directions, e.g. FFTW gcc -o fftw-app fftw-app.c $FFTW $FFTW = -I/gpfs/runtime/opt/fftw/3.2.2/include -L/gpfs/runtime/opt/fftw/3.2.2/lib -lfftw3 GotoBLAS gcc -o blas-app blas-app.c $GOTO $GOTO = -I/gpfs/runtime/opt/gotoblas2/1.13/include -L/gpfs/runtime/opt/gotoblas2/1.13/lib -lgoto2 -lpthread -lgfortran 11

Running jobs An interactive job allows you to: View the output of a program as it runs Interact with a program by typing input, using a GUI, etc. Quickly stop and restart a program, e.g. to test out different input or for debugging Run on a system shared by other users A batch job allows you to: Submit a script that will run without any intervention Access dedicated resources for your job Run for long periods of time without worrying about other users interfering with your job 12

Interactive jobs When you log into ssh.ccv.brown.edu, you will be forwarded to either login001 or login002 The login nodes are intended for tasks like: writing, compiling, and debugging code transferring and managing files submitting and managing batch jobs They are a shared resource with many other users concurrently logged in Please don't run large-memory or CPU-intensive programs on these nodes! 13

Interactive jobs (Cont'd) Instead, ssh from the login node to: smp007, smp008, smp009 128GB of memory Use smpstatus to check which have a lighter load gpu001, gpu002 24GB of memory, 2x NVIDIA M2050 Fermi cards Identical to the Oscar GPU compute nodes Or connect with the VNC client to: vnc001, vnc002 128GB of memory Can run GUI software without X forwarding 14

Interactive jobs (Cont'd) Or you can request nodes interactively from any of the queues! Use the -I option of qsub [mhowison@login001 ~]$ qsub -I -q debug -l walltime=30:00,nodes=2 qsub: waiting for job 1272761.mgt to start qsub: job 1272761.mgt ready ---------------------------------------- Begin PBS Prologue Tue Jul 19 15:42:15 EDT 2011 1311104535 Job ID: 1272761.mgt Username: mhowison Group: ccvstaff Nodes: node181 node184 End PBS Prologue Tue Jul 19 15:42:15 EDT 2011 1311104535 ---------------------------------------- [mhowison@node184 ~]$ 15

Interactive jobs (Cont'd) Put long-running jobs in the background using:./myprogram 2>&1 1>mylogfile & The 2>&1 redirects stderr to stdout The 1>mylogfile redirects stdout to a log file that you can review later The final & backgrounds the job Otherwise, your job may stop if your ssh connection is interrupted Use ps x to see all jobs you have running on the node OR: use a batch script! (Unless you need more memory than available on the Oscar compute nodes.) 16

Batch jobs Specify resource requirements and the commands to run in a file called a batch script #!/bin/bash #PBS -N jobname #PBS -r n #PBS -j oe #PBS -l nodes=2:ppn8,walltime=00:30:00 # execute an MPI program NPROCS=`wc -l < $PBS_NODEFILE` mpirun -np $NPROCS mpiprogram <args> Submit the script to the queue with qsub <script> 17

Batch jobs (Cont'd) Some useful Torque options: #PBS -j oe Combine your stdout and stderr outputs into a single log file (by default called <jobname>.o<jobid> in the directory where you submitted the script) #PBS -m abe #PBS -M oscar_user@brown.edu Send mail if your job aborts, and when it begins and ends #PBS -V Import your current environment when launching the script on the head node 18

Batch jobs (Cont'd) Packing 8 serial jobs onto an 8-core Oscar node: #!/bin/bash #PBS -N myserialjobs #PBS -r n #PBS -j oe #PBS -l nodes=1,walltime=00:30:00 # The "&" causes each program to be run as a background process # The "wait" causes the batch script interpreter to wait until all # background processes have completed before continuing. myprogram args1 & myprogram args2 & myprogram args3 & myprogram args4 & myprogram args5 & myprogram args6 & myprogram args7 & myprogram args8 & wait 19

Available queues on Oscar Choosing a queue: Default is the dq queue At submit time with qsub -q <name> In your batch script with #PBS -q <name> dq 200 x ( 8-core compute nodes ) gpu 42 x ( 8-core + 2 GPU compute nodes ) serial debug Packs serials jobs onto 3 x 16-core smp nodes with 64GB of memory; must specify a memory limit with #PBS -l mem=?gb 4 Oscar compute nodes available for fast turn-around; time limit is 40 node-minutes 20

Job arrays Torque has a special feature for parameter sweeps I.e., you want to run ( sweep ) the same program over a set of varying parameters Use #PBS -t <range> Where range is of the form 0-N or 0,2,4-8 etc. A sub job with the name <jobname>[i] is created for each value in the range In each sub job, the $PBS_ARRAYID environment variable is set to a different value of the range 21

Job arrays This job will use 4 nodes (32 cores) to sweep over 32 parameters: #!/bin/bash #PBS -N MySweep #PBS -t 0-3 #PBS -l nodes=1,walltime=1:00:00 # 4 IDs (0-3) x 1 node per sub job = 4 nodes in total HOST=`hostname` # there are 8 cores per node PPN=8 # so the ID needs to be multiplied by 8 to yield all 32 parameters ID=$((PPN*PBS_ARRAYID)) for i in `seq $PPN`; do echo "Starting job $ID on $HOST"./myprogram $ID ID=$((ID+1)) done wait 22

Monitoring jobs See the status of all queues with allq Hint: this list can be long, but you can scroll through it with allq more Or, see only a specific queue with allq <queue> See a summary of your jobs with myq See another users jobs with myq <username> Alter a job with qalter <options> <jobid> Delete a job with qdel <jobid> 23