Using the computational resources at the GACRC

Similar documents
Introduction to HPC Using zcluster at GACRC

Introduction to HPC Using zcluster at GACRC

For Dr Landau s PHYS8602 course

High Performance Computing (HPC) Using zcluster at GACRC

Introduction to HPC Using zcluster at GACRC

Introduction to HPC Using zcluster at GACRC On-Class GENE 4220

Introduction to HPC Using zcluster at GACRC

Migrating from Zcluster to Sapelo

Introduction to High Performance Computing (HPC) Resources at GACRC

Introduction to Linux Basics

Introduction to HPC Using zcluster at GACRC

Introduction to HPC Using zcluster at GACRC

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala

GACRC User Training: Migrating from Zcluster to Sapelo

Introduction to High Performance Computing (HPC) Resources at GACRC

Using Sapelo2 Cluster at the GACRC

Introduction to HPC Using the New Cluster at GACRC

Introduction to High Performance Computing Using Sapelo2 at GACRC

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

Introduction to Linux Basics Part I. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala

Using the MaRC2 HPC Cluster

CS CS Tutorial 2 2 Winter 2018

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

Introduction: What is Unix?

Introduction to GACRC Teaching Cluster PHYS8602

Using a Linux System 6

Introduction to GACRC Storage Environment. Georgia Advanced Computing Resource Center University of Georgia Zhuofei Hou, HPC Trainer

Introduction to GACRC Storage Environment. Georgia Advanced Computing Resource Center University of Georgia Zhuofei Hou, HPC Trainer

Introduction to Linux Workshop 1

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

Introduction to the Linux Command Line

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

A Brief Introduction to The Center for Advanced Computing

A Brief Introduction to The Center for Advanced Computing

Introduction to GACRC Teaching Cluster

A Brief Introduction to The Center for Advanced Computing

Python on GACRC Computing Resources

AN INTRODUCTION TO UNIX

Logging in to the CRAY

High Performance Computing (HPC) Club Training Session. Xinsheng (Shawn) Qin

Introduction to GACRC Teaching Cluster

An Introduction to Cluster Computing Using Newton

Introduction to HPC Using the New Cluster at GACRC

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

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines

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

Introduction to HPC Using the New Cluster at GACRC

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

New User Tutorial. OSU High Performance Computing Center

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi

EE516: Embedded Software Project 1. Setting Up Environment for Projects

High Performance Compu2ng Using Sapelo Cluster

Shark Cluster Overview

CENG 334 Computer Networks. Laboratory I Linux Tutorial

Operating Systems. Copyleft 2005, Binnur Kurt

Introduction to HPC Using the New Cluster at GACRC

Operating Systems 3. Operating Systems. Content. What is an Operating System? What is an Operating System? Resource Abstraction and Sharing

CISC 220 fall 2011, set 1: Linux basics

CS246 Spring14 Programming Paradigm Notes on Linux

Parallel Programming Pre-Assignment. Setting up the Software Environment

How to Run NCBI BLAST on zcluster at GACRC

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX

Effective Use of CCV Resources

Introduction to Discovery.

Introduction to PICO Parallel & Production Enviroment

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Esercitazione Introduzione al linguaggio di shell

Supercomputing environment TMA4280 Introduction to Supercomputing

Introduction to Discovery.

Introduction to Linux. Fundamentals of Computer Science

Linux at the Command Line Don Johnson of BU IS&T

CS Fundamentals of Programming II Fall Very Basic UNIX

Introduction to GALILEO

CS 261 Recitation 1 Compiling C on UNIX

Joint High Performance Computing Exchange (JHPCE) Cluster Orientation.

Working with Shell Scripting. Daniel Balagué

Mills HPC Tutorial Series. Linux Basics I

GPU Cluster Usage Tutorial

Introduction to Linux for BlueBEAR. January

CSE Linux VM. For Microsoft Windows. Based on opensuse Leap 42.2

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

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

Introduction to UNIX I: Command Line 1 / 21

Operating Systems and Using Linux. Topics What is an Operating System? Linux Overview Frequently Used Linux Commands

C++ Programming on Linux

Introduction to UNIX Command Line

Introduction to Computing V - Linux and High-Performance Computing

Short Read Sequencing Analysis Workshop

Session 1: Accessing MUGrid and Command Line Basics

The Unix Shell & Shell Scripts

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

An Introduction to Unix Power Tools

AMS 200: Working on Linux/Unix Machines

CSCI 2132 Software Development. Lecture 4: Files and Directories

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

The Supercomputing Facility for Bioinformatics & Computational Biology, IIT Delhi

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

Introduction to Linux

Perl and R Scripting for Biologists

Week 2 Lecture 3. Unix

Introduction to HPC Using Sapelo Cluster at GACRC

Transcription:

An introduction to zcluster Georgia Advanced Computing Resource Center (GACRC) University of Georgia Dr. Landau s PHYS4601/6601 course - Spring 2017

What is GACRC? Georgia Advanced Computing Resource Center (GACRC) Provides computing hardware and network infrastructure in support of high-performance computing at UGA. Collaboration between the Office of the Vice President for Research (OVPR) and the Office of the Vice President for Information Technology (OVPIT). Guided by a faculty advisory commitee (GACRC-AC). Over 1000 users, from more than 230 groups and over 50 departments. GACRC s Website: http://gacrc.uga.edu GACRC s Wiki: https://wiki.gacrc.uga.edu GACRC s Linux cluster: zcluster

Hardware resources What is zcluster? GACRC zcluster is a Linux high performance computing cluster. Operating system: 64-bit Red Hat Enterprise Linux 5 zcluster consists of: A login node Many compute nodes Some interactive nodes Queueing system software to run jobs on the compute nodes and on the interactive nodes.

Hardware resources CPU resources on zcluster The zcluster has the following nodes: Nodes cores/ CPU type RAM/ Total Note node node cores 45 12 Intel Xeon 48GB 540 Regular 150 8 Intel Xeon 16GB 1200 Regular 4 8 Intel Xeon 192GB 32 Medium memory 10 12 Intel Xeon 256GB 120 Medium memory 2 32 Intel Xeon 512GB 64 Big memory 4 32 AMD Opteron 64GB 192 Many cores 2 48 AMD Opteron 132GB 96 Interactive Total peak performance: 23 Tflops

Hardware resources GPU resources on zcluster The zcluster has the following NVIDIA GPU resources: Tesla S1070, 4 GPU cards, each with 30 multiprocessors (MP) and 8 cores/mp =960 cores Tesla M2070 (Fermi), 12 GPU cards, each with 14 multiprocessors and 32 cores/mp=5376 cores Tesla C2075 (Fermi), 1 GPU card = 448 cores Tesla K20Xm (Kepler), 32 GPU cards, each with 14 multiprocessors and 192 cores/mp = 86,016 cores

Connecting and transferring files How do I connect to zcluster? From Mac OSX and Unix/Linux: Open a Terminal window Use SSH to login to zcluster.rcc.uga.edu (login node). local$ ssh -X username@zcluster.rcc.uga.edu where username is your zcluster usermane (e.g. s 21). Enter your password when prompted for it. From Windows: Install an SSH Secure Shell Utility for Windows, such as the one available at https://eits.uga.edu/hardware and software/software. Open an SSH connection to zcluster.rcc.uga.edu

Connecting and transferring files How do I transfer files to/from zcluster? From Mac OSX and Unix/Linux: Use SCP to transfer files between your local machine and zcluster. Open a connection to copy.rcc.uga.edu (copy nodes). Examples: To copy a file from your local machine to zcluster, type the following at a terminal on your local machine local$ scp filename username@copy.rcc.uga.edu: To copy a file from zcluster to your local machine, type the following at a terminal on your local machine local$ scp username@copy.rcc.uga.edu:filename.

Connecting and transferring files How do I connect to zcluster? - continued From Windows: Use SSH Secure File transfer and connect to copy.rcc.uga.edu (copy nodes). Use the drag and drop feature to transfer files between your local machine and zcluster. For more information on how to transfer files to/from zcluster and between filesystems on zcluster, please see https://wiki.gacrc.uga.edu/wiki/transferring Files

System software OS and directory structure Operating System: 64-bit Linux (RHEL5) Once you login, you will get a shell prompt Shell prompt s 21@zcluster:/home/student/phys4601/s 21# And you will be at the top level of your home directory. Check your path s 21@zcluster:/home/student/phys4601/s 21# pwd /home/student/phys4601/s 21 The directory path for the top level of your home directory can be referenced as ${HOME} in your scripts.

System software You can create directories within other directories. Example: Create directories s 21@zcluster:/home/student/phys4601/s 21# mkdir test s 21@zcluster:/home/student/phys4601/s 21# cd test s 21@zcluster:/home/student/phys4601/s 21/test# pwd /home/student/phys4601/s 21/test s 21@zcluster:/home/student/phys4601/s 21/test# mkdir projecta s 21@zcluster:/home/student/phys4601/s 21/test# mkdir projectb s 21@zcluster:/home/student/phys4601/s 21/test# cd projecta s 21@zcluster:/home/student/phys4601/s 21/test/projectA# cd../projectb s 21@zcluster:/home/student/phys4601/s 21/test/projectB# mkdir dirname : Create a directory called dirname. cd dirname : Change to the dirname directory. cd.. : Go one level up. cd : Go to the top level of your home dir.

System software Unix Shell What is the Unix Shell: program that defines the environment of a terminal and interprets commands typed at the prompt. Basic shells: bash, sh, csh, tcsh, ksh, zsh Check the shell in use s 21@zcluster:/home/student/phys4601/s 21# echo $SHELL /bin/bash For simplicity, in the examples below the shell prompt used will be zcluster#

System software Changing the password Use the passwd command to change your password. To change the password zcluster# passwd Changing password for user s 21. (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.

System software Listing files and file properties ls : List the contents (files and subdirectories) of a directory. ls -a : List all files, including hidden ones that start with dot. ls -l : Show additional info of the files and dirs. ls -lh : Shows sizes in human readable format. ls -lt : List the contents of a dir in cronological order. zcluster# ls -lha drwx------ 2 s 21 student 4.0K Dec 11 2012 s empty -rw------- 1 s 21 student 1.3K Mar 13 15:35.bashrc -rw------- 1 s 21 student 79M Feb 20 2013 mult.f -rwx------ 1 s 21 student 513 Dec 11 2012 sub.sh lrwxrwxrwx 1 root root 46 Jan 10 04:26 submitted homework File permissions: d: directory, r: read, w: write, x: execute drwxrwxrwx: by user by group by others Use the chmod command to change permissions.

System software Manipulating files and directories cp filename dirname : Copy a file into a directory. cp file1 file2 : Copy a file into another. cp -i file dir : Copy a file into dir, ask before overwriting. cp -r dir1 dir2 : Copy a directory with its contents. mv filename dirname : Move a file into a directory. mv file1 file2 : Renames a file. mv -i file dir : Move a file and ask before overwriting. rm filename : Remove a file. rm -r dirname : Remove a directory with its contents. rm -i filename : Ask before removing a file. rm -i -r dirname : Confirm deletion of dir and its contents. mkdir dirname : Make a directory. rmdir dirname : Remove an empty directory.

System software View file contents and text editors file filename: Determine the type of a file. less filename: View text files and paginate them if needed. Converting files to Linux format dos2unix filename: Removes DOS/Windows line endings in file. mac2unix filename: Removes Mac line endings in file. Text Editors vi, vim, emacs, xemacs, nano, nedit. Manual pages for Linux commands: man command For example: man ls man chmod man dos2unix

Applications Applications installed on zcluster Compilers: Intel, Portland Group and GNU C/C++ and Fortran; LLVM-Clang, Java https://wiki.gacrc.uga.edu/wiki/code Compilation on zcluster Debuggers: GNU gdb, PGI pgdbg (with MPI support, GUI) Profilers: GNU gprof, PGI pgprof Math libraries: BLAS, LAPACK, FFTW, GSL, etc MPI libraries: MPICH, MPICH2, OpenMPI https://wiki.gacrc.uga.edu/wiki/mpi Perl, Python, awk, sed Matlab, Maple, R Queueing system: Univa Grid Engine For a list of applications installed see: https://wiki.gacrc.uga.edu/wiki/software

Code and Compilation Write a Fortran77 code Option 1: Write the code on your local machine Transfer it to zcluster Use dos2unix or mac2unix to convert it to Linux Option 2: Use a text editor on zcluster to create/edit the code. Example: zcluster# nano mult.f Sample code: /home/student/phys4601/ins data/mult.f You can copy it to your home directory: zcluster# cp../ins data/mult.f.

Code and Compilation How to compile a Fortran77 code To compile this Fortran77 code (called mult.f), type the following command at the zcluster terminal prompt: zcluster# pgf77 mult.f -o mult.x which will create an executable named mult.x. On zcluster, type man pgf77 at a terminal prompt to get the documentation for this compiler. For more information, please see https://wiki.gacrc.uga.edu/wiki/code Compilation on zcluster.

Running the executable Running interactive jobs on zcluster No jobs should be run on the zcluster login node! To run an interactive job: use the qlogin command: zcluster# qlogin Your job 1391816 ( QLOGIN ) has been submitted waiting for interactive job to be scheduled... Your interactive job 1391816 has been successfully scheduled.... compute-14-7.local# This will open a session on an interactive node. Current maximum runtime is 12 hours. Please remember to exit the session when you are done. Detailed example of how to run an interactive parallel job is at https://wiki.gacrc.uga.edu/wiki/running Jobs on zcluster

Running the executable Running serial batch jobs on zcluster Step 1: Create a job submission script file. Example: Script file: sub.sh #!/bin/bash cd ${HOME}/testdir time./mult.x Line 1: #!/bin/bash Specifies the Unix shell to use Line 2: cd ${HOME}/testdir Goes to a working directory called testdir in your home dir. Line 3: time./mult.x Runs the executable mult.x. The time command was added to record the amount of time used by the application (mult.x). zcluster# cp../ins data/sub.sh.

Running the executable Step 2: Submit it to the queue Submit a job to a batch queue zcluster# qsub -q fsr6 sub.sh Your job 12345 ( sub.sh ) has been submitted Options for qsub: -q : specify a queuename, e.g. fsr6 The batch queue used in this class is called fsr6 and the maximum runtime of any job in this queue is 2 minutes.

Running the executable Step 3: To check the status of your jobs zcluster# qstat job-id name user state submit/start at queue slots 131 sub.sh s 21 r 01/11/2016 1:32:12 fsr6@compute-11-3.local 1 132 sub.sh s 21 qw 01/11/2016 1:34:23 1 130 sub.sh s 21 Eqw 01/11/2016 1:10:23 1 Common states for jobs: r: job is running, job start time shown qw: job is pending, job submission time is shown Eqw: job is in error state, needs attention To view more details of a job zcluster# qsj jobid zcluster# qstat -j jobid

Running the executable More queueing system commands You can cancel a running or pending job. To cancel a job zcluster# qdel jobid Example: To cancel a job that has jobid 12345, use the command zcluster# qdel 12345 You can obtain a report with information such as the wall-clock time, the cpu time, etc for a job that finished. To get information about a finished job zcluster# qacct -j jobid >summary.log

Running the executable How do I monitor memory usage of running jobs? Use the command zcluster# qsj jobid The maximum virtual memory used so far by the job is given by the parameter maxvmem. Example: zcluster# qsj 12345 =========================================== submission time: Fri Jan 8 17:24:25 2016 owner: s 21 cwd: /home/student/phys4601/s 21/testdir hard queue list: fsr6 script file: sub.sh usage 1: cpu=00:01:15, mem=115.36 GBs, io=0.01083, vmem=1.648g, maxvmem=1.648g

Running the executable How do I view memory used by job that ended? Use the command zcluster# qacct -j jobid The maximum virtual memory used by the job is given by the parameter maxvmem. Example: zcluster# qacct -j 12345 ============================================= hostname compute-11-3.local owner s 21 jobname job1.sh start time Fri Jan 8 17:17:12 2016 end time Fri Jan 8 17:18:40 2016 ru wallclock 137 cpu 136.713 maxvmem 1.966G

How to get support? The preferred method to ask questions and report problems is to use the online form available at: http://help.gacrc.uga.edu When you request support, please let us know your zcluster username (e.g. s 21) as well as details of the problem or question. Training opportunities: The GACRC offers regular training workshops, please see https://wiki.gacrc.uga.edu/wiki/training GACRC communication resources: Web Site - general overview: http://gacrc.uga.edu/ Wiki - software docs, how-to s: https://wiki.gacrc.uga.edu/