Linux Clusters Institute:

Size: px
Start display at page:

Download "Linux Clusters Institute:"

Transcription

1 Linux Clusters Institute: 3 rd Party Software Management Instructor: Timothy Bouvet Title: System Engineer NCSA tbouvet@illinois.edu 3 rd Party Software Management Topics: Best Practices Software Request Environment Modules Advanced Topics: Software Management Tools Software Maintenance 4-8 August

2 Best Practices Logbook - Maintain on your management node. Documentation - User pages, admin only. Test System - Create a test node or vm. Installs - User vs Root. 3rd Party Software - Deploy on a global filesystem. Sources - Keep in a common source directory. Build Directories keep around for reference. 4-8 August Online Logbook 4-8 August

3 User Documentation 4-8 August Admin Documentation 4-8 August

4 Software Request Software Request 1. Staff or User requests a package. Evaluate the request 1. Useful for many users or a few? 2. Used where? Compute, login, mom or a combination? 3. Do we want to deploy and support this software? 4. Yes forward to admin, No assist user deployment Admin rpm vs source install 1. Is an rpm available from repos or web search? 2. Yes Update/Install rpm(easiest to maintain). 3. No Source install in a global file system. Note: Develop a process for your site or institution 4-8 August Environment Modules What are modules? - dynamic way to support multiple versions of software like compilers. Why use modules? - easiest way to select versions of software and set user default environment. Who uses modules? - CRAY, Large HPC Centers, DOE to name a few. Uses tcl - tool command language for modulefiles. Managed Software - software installed in non default locations (source packages, relocatable rpms, srpms) Installing - Source vs RPM 4-8 August

5 Source Install As Root: mkdir /global mode 775; chgrp to your $USER group As $USER(SAFER): mkdir /global/src ; cd /global/src/ wget tar -xf modules tar.gz; cd modules /configure --prefix=/global --with-etc-path=/global/modules/etc make; make install (does not copy all needed files to prefix) mkdir /global/modules/etc; mkdir /global/modulefiles cp /global/modules/3.2.10/modulefiles/null /global/modulefiles/ cp /global/src/modules /etc/global/profile.modules and csh.modules to /global/modules/etc/ (location for testing) 4-8 August Source Install Cont. cd /global/modules/; ln -sf default (Required to work) To test add to your.bashrc or.cshrc: $HOME/.bashrc:. /global/modules/etc/profile.modules $HOME/.cshrc: source /global/modules/etc/csh.modules Enable for all as root: (On all systems and images, note rename) cp /global/modules/etc/profile.modules /etc/profile.d/modules.sh cp /global/modules/etc/csh.modules /etc/profile.d/modules.csh Note: INSTALL guide - ignore run add.modules as each user to setup $USER/.dot files and as root for default /etc/skel/.dot files to enable modules. Modifying user.dot files is a bad practice. 4-8 August

6 Source Modules.sh # # # system-wide profile.modules # # Initialize modules for all sh-derivative shells # # # trap "" #Exempt root env from global file system if [ `id -u`!= 0 ] ; then case "$0" in -bash bash */bash). /global/modules/default/init/bash ;; -ksh ksh */ksh). /global/modules/default/init/ksh ;; -zsh zsh */zsh). /global/modules/default/init/zsh ;; *). /global/modules/default/init/sh ;; # sh and default for scripts esac module use /global/modulefiles #add our search path module load modules #add module man pages etc. module load null #add default modules fi trap August Source Modules.csh # # # system-wide csh.modules # # Initialize modules for all csh-derivative shells # # # # Exempt root env from global file system if ("`id -u`"!= "0") then if ($?tcsh) then source /global/modules/default/init/tcsh else source /global/modules/default/init/csh endif module use /global/modulefiles #add our search path module load modules #add module man pages etc. module load null #add default modules endif 4-8 August

7 Source Module versioning 4-8 August RPM Install Check repos for environment modules/modules rpm Install the rpm on all systems and images Installs /etc/profile.d/module.sh module.csh If this is an upgrade rpm install it should save module.sh & modules.csh to x.rpmsave in /etc/profile.d Default module search path: /usr/share/modules/init/.modulespath (don t use, lost on rpm update) mkdir /global/modulefiles - for our modulefiles cp /usr/share/modules/modulefiles/null /global/modulefiles/ 4-8 August

8 RPM Modules.sh # # # system-wide profile.modules # # Initialize modules for all sh-derivative shells # # # trap "" case "$0" in -bash bash */bash). /usr/share/modules/init/bash ;; -ksh ksh */ksh). /usr/share/modules/init/ksh ;; -zsh zsh */zsh). /usr/share/modules/init/zsh ;; *). /usr/share/modules/init/sh ;; # sh and default for scripts esac #Exempt root env from global file system if [ `id -u`!= 0 ] ; then module use /global/modulefiles #add our search path module load null #add default modules fi trap August RPM Modules.csh # # # system-wide csh.modules # # Initialize modules for all csh-derivative shells # # # if ($?tcsh) then source /usr/share/modules/init/tcsh else source /usr/share/modules/init/csh endif # Exempt root env from global file system if ("`id -u`"!= "0") then module use /global/modulefiles #add our search path module load null #add default modules endif 4-8 August

9 How does the module command work? The command "module" is an alias for something like: sh: module () { eval `/some/path/modulecmd sh $*` } csh: eval `/some/path/modulecmd csh!* where the modulecmd outputs valid shell commands to stdout which manipulates the shell's environment. Any text that is meant to be seen by the user must be sent to stderr. Source: August Module Commands add/load - adds a module to your shell rm/unload - removes module from your shell avail - lists available module list - currently loaded modules display/show - what a modules will do to shell help - modulefile or module help information switch/swap - swap one module for another use/unuse - add/remove modulefile search path 4-8 August

10 How to capture the module command output? Since the module command is essentially an eval the visible output to the screen must necessarily be sent to stderr. Output to file: sh: module avail 2> spoolfile csh: module avail >&! spoolfile Pipe output: sh: module avail 2>&1 grep gcc csh: ( module avail ) & grep gcc NOTE: module avail gcc will list only gcc versions available Source: August Module Load tbouvet@h2ologin4:~> which gcc /usr/bin/gcc (native gcc) tbouvet@h2ologin4:~> module load gcc/4.8.2 tbouvet@h2ologin4:~> which gcc /opt/gcc/4.8.2/bin/gcc tbouvet@h2ologin4:~> echo $PATH /opt/gcc/4.8.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/x11:/ usr/x11r6/bin:/usr/games:/usr/lib64/jvm/jre/bin:/usr/lib/mit/ bin:/usr/lib/mit/sbin:/sbin:/usr/sbin NOTE: Loads in front of shell search path if the modulefile uses prepend-path directives. 4-8 August

11 which gcc /opt/gcc/4.8.2/bin/gcc Module Unload module unload gcc/4.8.2 echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/bin/x11:/usr/x11r6/bin:/usr/game s:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/sbin:/usr /sbin which gcc /usr/bin/gcc (native gcc) NOTE: When a modulefile is unloaded, append-path and prepend-path become remove-path. 4-8 August Module Avail 4-8 August

12 Module List Currently loaded modules 4-8 August Module Show module show gcc /opt/modulefiles/gcc/4.8.2: conflict gcc prepend-path PATH /opt/gcc/4.8.2/bin prepend-path MANPATH /opt/gcc/4.8.2/snos/share/man prepend-path INFOPATH /opt/gcc/4.8.2/snos/share/info prepend-path LD_LIBRARY_PATH /opt/gcc/4.8.2/snos/lib64 prepend-path LD_LIBRARY_PATH /opt/gcc/gmp/4.3.2/lib prepend-path LD_LIBRARY_PATH /opt/gcc/mpfr/2.4.2/lib prepend-path LD_LIBRARY_PATH /opt/gcc/mpc/0.8.1/lib setenv GCC_PATH /opt/gcc/4.8.2 setenv GCC_VERSION setenv GNU_VERSION August

13 Module Help module help modules Module Specific Help for 'modules' modules - loads the modules software & application environment This adds /global/modules/3.2.10/* to several of the environment variables. Version August Module Swap tbouvet@h2ologin4:~> module list Currently Loaded Modulefiles: 1) java/jdk1.7.0_45 3) swtools 5) gsissh/6.2p2 2) globus/ ) gcc/4.8.2 tbouvet@h2ologin4:~> module swap gcc/4.8.2 gcc/4.9.0 tbouvet@h2ologin4:~> module list Currently Loaded Modulefiles: 1) java/jdk1.7.0_45 3) swtools 5) gsissh/6.2p2 2) globus/ ) gcc/ August

14 Module Use env grep MODULEPATH MODULEPATH=/usr/share/Modules:/usr/share/Modules/modulefile s tbouvet@bwbsles:~> module use /global/modulefiles tbouvet@bwbsles:~> env grep MODULEPATH MODULEPATH=/global/modulefiles:/usr/share/Modules:/usr/share/ Modules/modulefiles tbouvet@bwbsles:~> module avail /global/modulefiles null test2/2.4.3(default) test2/2.4.4 NOTE: Adds to $MODULEPATH search path 4-8 August Module Unuse tbouvet@bwbsles:~> env grep MODULEPATH MODULEPATH=/global/modulefiles:/usr/share/Modules:/usr/share/ Modules/modulefiles tbouvet@bwbsles:~> module unuse /global/modulefiles tbouvet@bwbsles:~> env grep MODULEPATH MODULEPATH=/usr/share/Modules:/usr/share/Modules/modulefile s NOTE: Removes from $MODULEPATH search path 4-8 August

15 Modulefile Structure 4-8 August Modulefile GCC example from the web #%Module1.0 proc ModulesHelp { } { global dotversion puts stderr "\tgcc (gcc, g++, gfortran) } module-whatis "GCC (gcc, g++, gfortran)" conflict gcc (if true modulefile will not load) prepend-path PATH /packages/gcc/4.6.2/bin prepend-path LD_LIBRARY_PATH /packages/gcc/4.6.2/lib64 prepend-path LIBRARY_PATH /packages/gcc/4.6.2/lib64 prepend-path MANPATH /packages/gcc/4.6.2/man setenv CC gcc setenv CXX g++ setenv FC gfortran setenv F77 gfortran setenv F90 gfortran 4-8 August

16 Writing Modulefiles Use modules modulefile as a template Include build directories in modulefile: $PATH /bin /sbin, $MANPATH /man /share/man, $LD_LIBRARY_PATH $LD_RUN_PATH /lib /lib64, $INFOPATH /share/info Man modulefile - helpful man page Web search writing modulefiles Use system with modulefiles as examples Test modulefile for deployment functionality 4-8 August Module load use.own tbouvet@h2ologin4:~> module load use.own tbouvet@h2ologin4:~> module avail null /u/staff/tbouvet/privatemodules null NOTE: Will create privatemodules directory and add null modulefile. An empty modulefile directory will not show up. Use this directory to create and test modulefiles. 4-8 August

17 Hiding Modulefiles Incorrect Method: h2ologin4:/opt/cray/modulefiles/perftools-lite # chmod tbouvet@h2ologin4:~> module avail perftools-lite utility.c(2173):error:50: Cannot open file '/opt/cray/modulefiles/perftoolslite/6.1.0' for 'reading Correct Method: h2ologin4:/opt/cray/modulefiles/perftools-lite # mv tbouvet@h2ologin4:~> module avail perftools-lite /opt/cray/modulefiles perftools-lite/6.1.1 perftools-lite/6.1.2 perftools-lite/6.1.3(default) perftools-lite/6.2.0 perftools-lite/6.1.4 NOTE: perftools-lite/6.1.0 is now invisible 4-8 August Modulefile Default tbouvet@h2ologin4:~> module avail gcc /opt/modulefiles gcc/4.6.3 gcc/4.7.3 gcc/4.8.2(default) gcc/4.9.0 tbouvet@h2ologin4:~> cat /opt/modulefiles/gcc/.version #%Module set ModulesVersion "4.8.2 NOTE:.version file in modulefiles/gcc/ controls default gcc that will be loaded by module load gcc. Edit.version file to change the default. Place a.version file in all your modulefile deployment directories as a good practice. 4-8 August

18 Metamodules Loads a suite of modules 4-8 August Module Questions? 4-8 August

19 Software Management Tools Structure for 3 rd party software installs, rebuilds, utilize environment modules Swtools - product of the National Center for Computational Sciences (NCCS) at Oak Ridge National Laboratory (ORNL) (Used by NCSA:Blue Waters for 3 rd Party Software Management) Smithy - product of the National Center for Computational Sciences (NCCS) at Oak Ridge National Laboratory (ORNL) Based on swtools and homebrew PMS for Mac OS X Generates modulefile for your builds. Easybuild - software build and installation framework written in Python that allow you to install software in a structured, repeatable and robust way. Generates modulefile for your builds. 4-8 August SWTools Python code developed to manage third-party software installations and rebuilds in a structured manner. Used at large sites with many software Installers For global installs by $USER in a common group Ensures consistency of installations Generates html files suitable for web pages Provides for quick rebuild or upgrade of package by group Requires modulefiles to be generated by hand for builds 4-8 August

20 Software Maintenance Recommend maintaining five versions of packages. one production, one testing, three down-rev Need to determine 3 rd party software usage? Poll Users with questionnaire or Install altd library tracking utility (ORNL) Analyze usage for licensing, removal, upgrade decisions. Focus user support on widely used modules. Use MOTD or to notify users of software changes. 4-8 August ALTD Is a wrapper around the linker and job launcher. Tracks library usage by job and user. We module load altd into users PATH. It Populates a MySQL database. Python script used to mine data in MySQL for reports. Blue Waters uses ALTD to monitor module usage. Mainly used on CRAY systems at HPC centers. Can be installed on any machine. 4-8 August

21 Altd Report ALTD Usage from to ======= Top 10 Library usage, ranked by number of linking instances mpt/ libsci/ cudatoolkit/ fftw/ papi/ hdf5/ acml/ tpsl/ mpt/ hdf5-parallel/ ======= Top 10 Compiler usage, ranked by number of linking instances gcc/ gcc/ cce/ gcc/ gcc/ pgi/ pgi/ cce/ pgi/ pgi/ August Questions? Thank You! 4-8 August

Sunday, February 19, 12

Sunday, February 19, 12 1 LEARNIT EXPRESS in a Nutshell 2 THE LINUX ENVIRONMENT Most programs have preferences that tailor their behavior Word, Matlab, Mathematica: all rely on preference files The BASH shell (and many other

More information

Lmod Documentation. Release 7.0. Robert McLay

Lmod Documentation. Release 7.0. Robert McLay Lmod Documentation Release 7.0 Robert McLay Jul 12, 2018 Contents 1 PURPOSE 1 2 OVERVIEW 3 3 Introduction to Lmod 5 4 Installing Lmod 23 5 Advanced Topics 45 6 Topics yet to be written 99 7 Indices and

More information

Using Environment Modules on the LRZ HPC Systems

Using Environment Modules on the LRZ HPC Systems Using Environment Modules on the LRZ HPC Systems Reinhold Bader Leibniz Computing Centre February 2007 Programming Environment under UNIX/Linux Shell essentially two families sh-derived: sh, ksh, zsh (?),

More information

The Cray Programming Environment. An Introduction

The Cray Programming Environment. An Introduction The Cray Programming Environment An Introduction Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent

More information

Modules. Help users managing their shell environment. Xavier Delaruelle UST4HPC May 15th 2018, Villa Clythia, Fréjus

Modules. Help users managing their shell environment. Xavier Delaruelle UST4HPC May 15th 2018, Villa Clythia, Fréjus Modules Help users managing their shell environment Xavier Delaruelle UST4HPC May 15th 2018, Villa Clythia, Fréjus whoami I am Xavier Delaruelle Joined CEA in 2007 as HPC system

More information

Linux Command Line Interface. December 27, 2017

Linux Command Line Interface. December 27, 2017 Linux Command Line Interface December 27, 2017 Foreword It is supposed to be a refresher (?!) If you are familiar with UNIX/Linux/MacOS X CLI, this is going to be boring... I will not talk about editors

More information

Assignment clarifications

Assignment clarifications Assignment clarifications How many errors to print? at most 1 per token. Interpretation of white space in { } treat as a valid extension, involving white space characters. Assignment FAQs have been updated.

More information

First steps on using an HPC service ARCHER

First steps on using an HPC service ARCHER First steps on using an HPC service ARCHER ARCHER Service Overview and Introduction ARCHER in a nutshell UK National Supercomputing Service Cray XC30 Hardware Nodes based on 2 Intel Ivy Bridge 12-core

More information

Introduction to Shell Scripting

Introduction to Shell Scripting Introduction to Shell Scripting Evan Bollig and Geoffrey Womeldorff Presenter Yusong Liu Before we begin... Everyone please visit this page for example scripts and grab a crib sheet from the front http://www.scs.fsu.edu/~bollig/techseries

More information

Introduction to Linux

Introduction to Linux Introduction to Linux January 2011 Don Bahls User Consultant (Group Leader) bahls@arsc.edu (907) 450-8674 Overview The shell Common Commands File System Organization Permissions Environment Variables I/O

More information

Processes. Shell Commands. a Command Line Interface accepts typed (textual) inputs and provides textual outputs. Synonyms:

Processes. Shell Commands. a Command Line Interface accepts typed (textual) inputs and provides textual outputs. Synonyms: Processes The Operating System, Shells, and Python Shell Commands a Command Line Interface accepts typed (textual) inputs and provides textual outputs. Synonyms: - Command prompt - Shell - CLI Shell commands

More information

Programming Environment 4/11/2015

Programming Environment 4/11/2015 Programming Environment 4/11/2015 1 Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent interface

More information

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

Introduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical

More information

UNIX System Programming Lecture 3: BASH Programming

UNIX System Programming Lecture 3: BASH Programming UNIX System Programming Outline Filesystems Redirection Shell Programming Reference BLP: Chapter 2 BFAQ: Bash FAQ BMAN: Bash man page BPRI: Bash Programming Introduction BABS: Advanced Bash Scripting Guide

More information

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018 GNU/Linux 101 Casey McLaughlin Research Computing Center Spring Workshop Series 2018 rccworkshop IC;3df4mu bash-2.1~# man workshop Linux101 RCC Workshop L101 OBJECTIVES - Operating system concepts - Linux

More information

Modules and Software. Daniel Caunt Harvard FAS Research Computing

Modules and Software. Daniel Caunt Harvard FAS Research Computing Modules and Software Daniel Caunt Harvard FAS Research Computing 1 What is Research Computing? Faculty of Arts and Sciences (FAS) department that handles non-enterprise IT requests from researchers. (Contact

More information

CSE 15L Winter Midterm :) Review

CSE 15L Winter Midterm :) Review CSE 15L Winter 2015 Midterm :) Review Makefiles Makefiles - The Overview Questions you should be able to answer What is the point of a Makefile Why don t we just compile it again? Why don t we just use

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

System administration

System administration System administration Packages and probes Douglas Temple duggles@netsoc.tcd.ie For DU Internet Society [Netsoc] 5 th December, 2016 Tonight s outline Package managers for RHEL/Debian What to do with multiple

More information

If you had a freshly generated image from an LCI instructor, make sure to set the hostnames again:

If you had a freshly generated image from an LCI instructor, make sure to set the hostnames again: Storage Node Setup A storage node (or system as your scale) is a very important unit for an HPC cluster. The computation is often about the data it produces and keeping that data safe is important. Safe

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

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

EE516: Embedded Software Project 1. Setting Up Environment for Projects EE516: Embedded Software Project 1. Setting Up Environment for Projects By Dong Jae Shin 2015. 09. 01. Contents Introduction to Projects of EE516 Tasks Setting Up Environment Virtual Machine Environment

More information

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Generation 1: Mono-programming

More information

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs

Table of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs Summer 2010 Department of Computer Science and Engineering York University Toronto June 29, 2010 1 / 36 Table of contents 1 2 3 4 2 / 36 Our goal Our goal is to see how we can use Unix as a tool for developing

More information

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Dependent on hardware and

More information

The Automatic Library Tracking Database

The Automatic Library Tracking Database The Automatic Library Tracking Database Mark Fahey National Institute for Computational Sciences Scientific Computing Group Lead May 24, 2010 Cray User Group May 24-27, 2010 Contributors Ryan Blake Hitchcock

More information

Practical: a sample code

Practical: a sample code Practical: a sample code Alistair Hart Cray Exascale Research Initiative Europe 1 Aims The aim of this practical is to examine, compile and run a simple, pre-prepared OpenACC code The aims of this are:

More information

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

Introduction to SahasraT. RAVITEJA K Applications Analyst, Cray inc E Mail : Introduction to SahasraT RAVITEJA K Applications Analyst, Cray inc E Mail : raviteja@cray.com 1 1. Introduction to SahasraT 2. Cray Software stack 3. Compile applications on XC 4. Run applications on XC

More information

Stable Cray Support in EasyBuild 2.7. Petar Forai

Stable Cray Support in EasyBuild 2.7. Petar Forai Stable Cray Support in EasyBuild 2.7 Petar Forai 1 Major Areas of Interest Specific to Cray Support Version pinning in Cray toolchain to achieve reproducible builds New toolchain naming scheme that is

More information

Introduction to UNIX Shell Exercises

Introduction to UNIX Shell Exercises Introduction to UNIX Shell Exercises Determining Your Shell Open a new window or use an existing window for this exercise. Observe your shell prompt - is it a $ or %? What does this tell you? Find out

More information

Introduction to the Linux for HPC. Basic Linux for Beginner HPC Users

Introduction to the Linux for HPC. Basic Linux for Beginner HPC Users Introduction to the Linux for HPC Basic Linux for Beginner HPC Users Purpose of This Lecture Fundamentals of using Linux and Linux-like systems on HPC systems History of Linux Shell and basic commands

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

MVAPICH MPI and Open MPI

MVAPICH MPI and Open MPI CHAPTER 6 The following sections appear in this chapter: Introduction, page 6-1 Initial Setup, page 6-2 Configure SSH, page 6-2 Edit Environment Variables, page 6-5 Perform MPI Bandwidth Test, page 6-8

More information

Modules v4. Pushing forward user environment management. Xavier Delaruelle FOSDEM 2018 February 4th 2018, ULB, Bruxelles

Modules v4. Pushing forward user environment management. Xavier Delaruelle FOSDEM 2018 February 4th 2018, ULB, Bruxelles Modules v4 Pushing forward user environment management Xavier Delaruelle FOSDEM 2018 February 4th 2018, ULB, Bruxelles whoami I am Xavier Delaruelle Work at CEA, a large research

More information

Combining CVMFS, Nix, Lmod, and EasyBuild at Compute Canada. Bart Oldeman, McGill HPC, Calcul Québec, Compute Canada

Combining CVMFS, Nix, Lmod, and EasyBuild at Compute Canada. Bart Oldeman, McGill HPC, Calcul Québec, Compute Canada Combining CVMFS, Nix, Lmod, and EasyBuild at Compute Canada Bart Oldeman, McGill HPC, Calcul Québec, Compute Canada Motivation 1. New bigger national systems replacing many smaller local clusters, with

More information

CS246 Spring14 Programming Paradigm Notes on Linux

CS246 Spring14 Programming Paradigm Notes on Linux 1 Unix History 1965: Researchers from Bell Labs and other organizations begin work on Multics, a state-of-the-art interactive, multi-user operating system. 1969: Bell Labs researchers, losing hope for

More information

Shifter and Singularity on Blue Waters

Shifter and Singularity on Blue Waters Shifter and Singularity on Blue Waters Maxim Belkin June 7, 2018 A simplistic view of a scientific application DATA RESULTS My Application Received an allocation on Blue Waters! DATA RESULTS My Application

More information

5/20/2007. Touring Essential Programs

5/20/2007. Touring Essential Programs Touring Essential Programs Employing fundamental utilities. Managing input and output. Using special characters in the command-line. Managing user environment. Surveying elements of a functioning system.

More information

The Online Unix Manual

The Online Unix Manual ACS-294-001 Unix (Winter Term, 2018-2019) Page 14 The Online Unix Manual Unix comes with a large, built-in manual that is accessible at any time from your terminal. The Online Manual is a collection of

More information

Command-line interpreters

Command-line interpreters Command-line interpreters shell Wiki: A command-line interface (CLI) is a means of interaction with a computer program where the user (or client) issues commands to the program in the form of successive

More information

Vi & Shell Scripting

Vi & Shell Scripting Vi & Shell Scripting Comp-206 : Introduction to Week 3 Joseph Vybihal Computer Science McGill University Announcements Sina Meraji's office hours Trottier 3rd floor open area Tuesday 1:30 2:30 PM Thursday

More information

What is Research Computing?

What is Research Computing? Spring 2017 3/19/17 Modules and Software Plamen Krastev, PhD Harvard - Research Computing 1 What is Research Computing? Faculty of Arts and Sciences (FAS) department that handles nonenterprise IT requests

More information

Introduction to Unix: Fundamental Commands

Introduction to Unix: Fundamental Commands Introduction to Unix: Fundamental Commands Ricky Patterson UVA Library Based on slides from Turgut Yilmaz Istanbul Teknik University 1 What We Will Learn The fundamental commands of the Unix operating

More information

Deep Learning With. Zhe Li Zhuoning Yuan Prof. Tianbao Yang

Deep Learning With. Zhe Li Zhuoning Yuan Prof. Tianbao Yang Deep Learning With Zhe Li Zhuoning Yuan Prof. Tianbao Yang Agenda! Introduc)on to Caffe! Demo! Installa)on Caffe! Ge4ng Start with Caffe Claim! hand-on Installa)on of Caffe on Argon Cluster! Help You Get

More information

5.3 Install grib_api for OpenIFS

5.3 Install grib_api for OpenIFS 5.3 Install grib_api for OpenIFS Introduction The ECMWF grib_api software library provides a set of functions/subroutines and command line tools for encoding and decoding WMO FM- 92 GRIB edition 1 and

More information

Introduction to Linux

Introduction to Linux Introduction to Linux University of Bristol - Advance Computing Research Centre 1 / 47 Operating Systems Program running all the time Interfaces between other programs and hardware Provides abstractions

More information

Using the MaRC2 HPC Cluster

Using the MaRC2 HPC Cluster Using the MaRC2 HPC Cluster Manuel Haim, 06/2013 Using MaRC2??? 2 Using MaRC2 Overview Get access rights and permissions Starting a terminal session (Linux, Windows, Mac) Intro to the BASH Shell (and available

More information

Introduction to the shell Part II

Introduction to the shell Part II Introduction to the shell Part II Graham Markall http://www.doc.ic.ac.uk/~grm08 grm08@doc.ic.ac.uk Civil Engineering Tech Talks 16 th November, 1pm Last week Covered applications and Windows compatibility

More information

Operating Systems. Copyleft 2005, Binnur Kurt

Operating Systems. Copyleft 2005, Binnur Kurt 3 Operating Systems Copyleft 2005, Binnur Kurt Content The concept of an operating system. The internal architecture of an operating system. The architecture of the Linux operating system in more detail.

More information

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

Operating Systems 3. Operating Systems. Content. What is an Operating System? What is an Operating System? Resource Abstraction and Sharing Content 3 Operating Systems The concept of an operating system. The internal architecture of an operating system. The architecture of the Linux operating system in more detail. How to log into (and out

More information

a. puppet should point to master (i.e., append puppet to line with master in it. Use a text editor like Vim.

a. puppet should point to master (i.e., append puppet to line with master in it. Use a text editor like Vim. Head Node Make sure that you have completed the section on Precursor Steps and Storage. Key parts of that are necessary for you to continue on this. If you have issues, please let an instructor know to

More information

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

COMPILING FOR THE ARCHER HARDWARE. Slides contributed by Cray and EPCC COMPILING FOR THE ARCHER HARDWARE Slides contributed by Cray and EPCC Modules The Cray Programming Environment uses the GNU modules framework to support multiple software versions and to create integrated

More information

Shell Scripting. With Applications to HPC. Edmund Sumbar Copyright 2007 University of Alberta. All rights reserved

Shell Scripting. With Applications to HPC. Edmund Sumbar Copyright 2007 University of Alberta. All rights reserved AICT High Performance Computing Workshop With Applications to HPC Edmund Sumbar research.support@ualberta.ca Copyright 2007 University of Alberta. All rights reserved High performance computing environment

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

CISC 220 fall 2011, set 1: Linux basics

CISC 220 fall 2011, set 1: Linux basics CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week

More information

CHE3935. Lecture 1. Introduction to Linux

CHE3935. Lecture 1. Introduction to Linux CHE3935 Lecture 1 Introduction to Linux 1 Logging In PuTTY is a free telnet/ssh client that can be run without installing it within Windows. It will only give you a terminal interface, but used with a

More information

8/19/13. Blue Waters User Monthly Teleconference

8/19/13. Blue Waters User Monthly Teleconference 8/19/13 Blue Waters User Monthly Teleconference Extreme Scaling Workshop 2013 Successful workshop in Boulder. Presentations from 4 groups with allocations on Blue Waters. Industry representatives were

More information

EECS2301. Lab 1 Winter 2016

EECS2301. Lab 1 Winter 2016 EECS2301 Lab 1 Winter 2016 Lab Objectives In this lab, you will be introduced to the Linux operating system. The basic commands will be presented in this lab. By the end of you alb, you will be asked to

More information

McGill University School of Computer Science Sable Research Group. *J Installation. Bruno Dufour. July 5, w w w. s a b l e. m c g i l l.

McGill University School of Computer Science Sable Research Group. *J Installation. Bruno Dufour. July 5, w w w. s a b l e. m c g i l l. McGill University School of Computer Science Sable Research Group *J Installation Bruno Dufour July 5, 2004 w w w. s a b l e. m c g i l l. c a *J is a toolkit which allows to dynamically create event traces

More information

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze EECS 2031 Software Tools Prof. Mokhtar Aboelaze Footer Text 1 EECS 2031E Instructor: Mokhtar Aboelaze Room 2026 CSEB lastname@cse.yorku.ca x40607 Office hours TTH 12:00-3:00 or by appointment 1 Grading

More information

Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage. Colin MacLean

Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage. Colin MacLean Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage Colin MacLean Large Software Stacks Most modules are, at most, a handful of packages Currently available tools ill-suited for large

More information

Hands-On Practice Session

Hands-On Practice Session Hands-On Practice Session HPC User Services LSU HPC LONI sys-help@loni.org Louisiana State University Baton Rouge March 07, 2018 Outline Things to be covered in the training Introduction to Linux Basic

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Lmod. Robert McLay. Jan. 11, The Texas Advanced Computing Center

Lmod. Robert McLay. Jan. 11, The Texas Advanced Computing Center Robert McLay The Texas Advanced Computing Center Jan. 11, 2015 Why invent Y.A. Module System? Many thing right with the Original. But it was designed before multi-compilers/mpi Sites make it work but with

More information

Supercomputing environment TMA4280 Introduction to Supercomputing

Supercomputing environment TMA4280 Introduction to Supercomputing Supercomputing environment TMA4280 Introduction to Supercomputing NTNU, IMF February 21. 2018 1 Supercomputing environment Supercomputers use UNIX-type operating systems. Predominantly Linux. Using a shell

More information

System Programming. Unix Shells

System Programming. Unix Shells Content : Unix shells by Dr. A. Habed School of Computer Science University of Windsor adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 Interactive and non-interactive

More information

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Shell. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong Shell Prof. Jinkyu Jeong (Jinkyu@skku.edu) TA -- Minwoo Ahn (minwoo.ahn@csl.skku.edu) TA -- Donghyun Kim (donghyun.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

More information

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

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza Sommario Shell command language Introduction A

More information

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

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

Shifter on Blue Waters

Shifter on Blue Waters Shifter on Blue Waters Why Containers? Your Computer Another Computer (Supercomputer) Application Application software libraries System libraries software libraries System libraries Why Containers? Your

More information

Modules v4. Yes, Environment Modules project is not dead. Xavier Delaruelle

Modules v4. Yes, Environment Modules project is not dead. Xavier Delaruelle Modules v4 Yes, Environment Modules project is not dead Xavier Delaruelle 3rd EasyBuild User Meeting January 30th 2018, SURFsara, Amsterdam whoami I am Xavier Delaruelle Joined

More information

Short Read Sequencing Analysis Workshop

Short Read Sequencing Analysis Workshop Short Read Sequencing Analysis Workshop Day 2 Learning the Linux Compute Environment In-class Slides Matt Hynes-Grace Manager of IT Operations, BioFrontiers Institute Review of Day 2 Videos Video 1 Introduction

More information

Scripting Languages Course 1. Diana Trandabăț

Scripting Languages Course 1. Diana Trandabăț Scripting Languages Course 1 Diana Trandabăț Master in Computational Linguistics - 1 st year 2017-2018 Today s lecture Introduction to scripting languages What is a script? What is a scripting language

More information

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1 Linux Essentials Smith, Roderick W. ISBN-13: 9781118106792 Table of Contents Introduction xvii Chapter 1 Selecting an Operating System 1 What Is an OS? 1 What Is a Kernel? 1 What Else Identifies an OS?

More information

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater)

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater) CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater) 28 January 2013 Jason Yosinski Original slides available under Creative Commons Attribution-ShareAlike 3.0

More information

ECE 471 Embedded Systems Lecture 10

ECE 471 Embedded Systems Lecture 10 ECE 471 Embedded Systems Lecture 10 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 3 October 2013 Announcements Homework #2 has been assigned. extended until the 10th. The due

More information

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

Linux at the Command Line Don Johnson of BU IS&T Linux at the Command Line Don Johnson of BU IS&T We ll start with a sign in sheet. We ll end with a class evaluation. We ll cover as much as we can in the time allowed; if we don t cover everything, you

More information

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80 CSE 303 Lecture 2 Introduction to bash shell read Linux Pocket Guide pp. 37-46, 58-59, 60, 65-70, 71-72, 77-80 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 Unix file system structure

More information

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Shell Scripting. Winter 2019

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Shell Scripting. Winter 2019 CSCI 2132: Software Development Shell Scripting Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Reading Glass and Ables, Chapter 8: bash Your Shell vs Your File Manager File manager

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection. June 14, 2017

Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection. June 14, 2017 Lmod: A Modern Environment Module System XALT: Understanding HPC Usage via Job Level Collection June 14, 2017 Outline What are Environment Modules? What is Lmod? Can Lmod help manage your site? Advanced

More information

Scientific Computing, IT department. Introduction to HPC. Part 2. Lóránd Szentannai Saerda Halifu. uib.no

Scientific Computing, IT department. Introduction to HPC. Part 2. Lóránd Szentannai Saerda Halifu. uib.no U N I V E R S I T Y O F B E R G E N Scientific Computing, IT department Introduction to HPC Part 2 Lóránd Szentannai Saerda Halifu U N I V E R S I T Y O F B E R G E N Agenda UNIX command line interface

More information

Linux Refresher (1) 310/ Fourth Workshop on Distributed Laboratory Instrumentation Systems (30 October - 24 November 2006)

Linux Refresher (1) 310/ Fourth Workshop on Distributed Laboratory Instrumentation Systems (30 October - 24 November 2006) 310/1779-4 Fourth Workshop on Distributed Laboratory Instrumentation Systems (30 October - 24 November 2006) Linux Refresher (1) Razaq Babalola IJADUOLA These lecture notes are intended only for distribution

More information

Introduction to Linux Scripting (Part 2) Brett Milash and Wim Cardoen CHPC User Services

Introduction to Linux Scripting (Part 2) Brett Milash and Wim Cardoen CHPC User Services Introduction to Linux Scripting (Part 2) Brett Milash and Wim Cardoen CHPC User Services Overview Advanced Scripting Compiling Code Getting the exercise files For today s exercises, open a session to one

More information

An Introduction to Unix Power Tools

An Introduction to Unix Power Tools An to Unix Power Tools Randolph Langley Department of Computer Science Florida State University August 27, 2008 History of Unix Unix Today Command line versus graphical interfaces to COP 4342, Fall History

More information

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

Lezione 8. Shell command language Introduction. Sommario. Bioinformatica. Esercitazione Introduzione al linguaggio di shell Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Esercitazione Introduzione al linguaggio di shell Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza

More information

(a) About Unix. History

(a) About Unix. History Part 1: The Unix Operating System (a) About Unix History First roots in the Bell Laboratories, early 60s Kernel rewrite in C by Ritchie / Thompson in the early 70s Source code licenses for Universities

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come

More information

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester

Linux Essentials. Programming and Data Structures Lab M Tech CS First Year, First Semester Linux Essentials Programming and Data Structures Lab M Tech CS First Year, First Semester Adapted from PDS Lab 2014 and 2015 Login, Logout, Password $ ssh mtc16xx@192.168.---.--- $ ssh X mtc16xx@192.168.---.---

More information

Embedded System Design

Embedded System Design Embedded System Design Lecture 10 Jaeyong Chung Systems-on-Chips (SoC) Laboratory Incheon National University Environment Variables Environment variables are a set of dynamic named values that can affect

More information

Unix/Linux Operating System. Introduction to Computational Statistics STAT 598G, Fall 2011

Unix/Linux Operating System. Introduction to Computational Statistics STAT 598G, Fall 2011 Unix/Linux Operating System Introduction to Computational Statistics STAT 598G, Fall 2011 Sergey Kirshner Department of Statistics, Purdue University September 7, 2011 Sergey Kirshner (Purdue University)

More information

Advanced Linux Commands & Shell Scripting

Advanced Linux Commands & Shell Scripting Advanced Linux Commands & Shell Scripting Advanced Genomics & Bioinformatics Workshop James Oguya Nairobi, Kenya August, 2016 Man pages Most Linux commands are shipped with their reference manuals To view

More information

Introduction of Linux

Introduction of Linux Introduction of Linux 阳 oslab2018_class1@163.com 寅 oslab2018_class2@163.com PART I Brief Introduction Basic Conceptions & Environment Install & Configure a Virtual Machine Basic Commands PART II Shell

More information

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples

3/8/2017. Unix/Linux Introduction. In this part, we introduce. What does an OS do? Examples EECS2301 Title Unix/Linux Introduction These slides are based on slides by Prof. Wolfgang Stuerzlinger at York University Warning: These notes are not complete, it is a Skelton that will be modified/add-to

More information

Introduction to Linux Organizing Files

Introduction to Linux Organizing Files Introduction to Linux Organizing Files Computational Science and Engineering North Carolina A&T State University Instructor: Dr. K. M. Flurchick Email: kmflurch@ncat.edu Arranging, Organizing, Packing

More information

Chapter 9. Shell and Kernel

Chapter 9. Shell and Kernel Chapter 9 Linux Shell 1 Shell and Kernel Shell and desktop enviroment provide user interface 2 1 Shell Shell is a Unix term for the interactive user interface with an operating system A shell usually implies

More information

Computer Systems and Architecture

Computer Systems and Architecture Computer Systems and Architecture Stephen Pauwels Computer Systems Academic Year 2018-2019 Overview of the Semester UNIX Introductie Regular Expressions Scripting Data Representation Integers, Fixed point,

More information

Introduction to Linux Part 2b: basic scripting. Brett Milash and Wim Cardoen CHPC User Services 18 January, 2018

Introduction to Linux Part 2b: basic scripting. Brett Milash and Wim Cardoen CHPC User Services 18 January, 2018 Introduction to Linux Part 2b: basic scripting Brett Milash and Wim Cardoen CHPC User Services 18 January, 2018 Overview Scripting in Linux What is a script? Why scripting? Scripting languages + syntax

More information

Using Spack to Manage Software on Cray Supercomputers

Using Spack to Manage Software on Cray Supercomputers Using Spack to Manage Software on Cray Supercomputers May 9 th, 2017-1 - Mario Melara (NERSC)! Todd Gamblin (LLNL)! Gregory Becker (LLNL)! Robert French (ORNL)! Matt P. Belhorn (ORNL)! Kelly Thompson (LANL)!

More information

Unix Shell Environments. February 23rd, 2004 Class Meeting 6

Unix Shell Environments. February 23rd, 2004 Class Meeting 6 Unix Shell Environments February 23rd, 2004 Class Meeting 6 Shell Characteristics Command-line interface between the user and the system Automatically starts when you log in, waits for user to type in

More information