29
Installing Software on WestGrid Systems Belaid Moa Compute Canada/WestGrid/University Systems University of Victoria

Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Installing Software on WestGrid Systems

Belaid Moa

Compute Canada/WestGrid/University Systems

University of Victoria

Page 2: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Topics

• Global software installation on a WestGrid system

• User-based software installation: – Who, When, Where, How

• Specific software package customization

• Software installation challenges faced by WestGrid users

• Effective guidelines to address these challenges

2

Page 3: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Software on WestGrid

• Each cluster has it own independent software stack

• The list of software available on WestGrid systems is available at: http://www.westgrid.ca/support/software

3

Page 4: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Software on WestGrid

Global

Group

Public

Specific

Private

Shared

Cluster

4

Page 5: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Global Software on WestGrid

Group

• Terms/conditions

• Join the group

• [Load modules]

Public

• Available to all

• [Load modules]

Location

• /global/software

• /usr/local

• ?

5

Page 6: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Global Software

Installation on WestGrid

• Who:

– a site admin and/or

– a support staff

• The challenges faced: – The list of software to install is usually long

– Expect a long waiting time, especially when the software is used by a single user

Better to install the software needed yourself in your own home directory

6

Page 7: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Location

• Source: /global/scratch/username/source

• Install: /home/username/software

User-Specific Software on WestGrid

Private

• Specific to a single user

• Under his home directory • Set environment

variables, especially PATH

Shared

• Ask for a UNIX group

• Ask for users to be added • Change the permissions

on the software folder for the group

7

Page 8: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

User-Specific Software

Installation on WestGrid

• WestGrid allows users to install software under their home directories

• The installation process:

Pre-Installation

• Find the perfect software

• Choose the perfect cluster

• When, Where

• Be prepared!

Installation

• Who

• Which

• How

Post-Installation

• Keep a history of the installation process

• Set any environment variables

• Test and Validate; Run and Keep a reference job

• Run production jobs

8

Page 9: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

User-Specific Software

Installation on WestGrid

• You

• Support staff are ready to help

• just ask [email protected] Who

• Not available globally

• check the software page

• No other globally available software is good enough

• Very specific to you/closed source

• Cannot wait for a global installation

When

• Choose the right cluster

• Serial, openMP/threads, MPI

• Memory

• Dependencies

• Put the source in /global/scratch and the binaries in /home

Where

9

Page 10: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software

Installation on WestGrid

Which: Binary vs. Source

How: WCCMM

10

Page 11: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software Installation: How

Wget

unCompress

Configure

Make

Make install

11

Verify the signature of the file; md5sum

Page 12: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software

Installation: cufflinks

Wget

unCompress

Configure

Make

Make install

wget http://cufflinks.cbcb.umd.edu/downloads/cufflinks-1.2.0.Linux_x86_64.tar.gz

tar xzvf cufflinks-1.2.0.Linux_x86_64.tar.gz

• Set PATH • Run cufflinks

12

Page 13: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software

Installation: ALMOST

Wget

unCompress

Configure

Make

Make install

wget http://www-almost.ch.cam.ac.uk/site/downloads/almost-1.0.4.tar.gz

make

tar xzvf almost-1.0.4.tar.gz; cd almost-1.0.4

./configure --prefix=/home/bmoa/software/almost-1.0.4

make install

• Set PATH • Run almost

13

Page 14: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software

Installation: A Perl Package

Wget

unCompress

Configure

Make

Make install

wget http://search.cpan.org/CPAN/authors/id/C/CO/COLINK/Statistics-Descriptive-2.6.tar.gz

make; make test

tar xzvf Statistics-Descriptive-2.6.tar.gz; cd Statistics-Descriptive-2.6

perl Makefile.PL PREFIX=/home/bmoa/software/perl

make install; make clean

• Set PERL5LIB

14

Page 15: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

More …

15

litai05:/home/bmoa$ GTK_CFLAGS=-I/home/bmoa/software/include/gtk-2.0 GTK_LIBS=-L/home/bmoa/software/lib CFLAGS="-I/home/bmoa/software/include -I/home/bmoa/software/include/gtk-2.0" FFTW3_CFLAGS=-I/global/software/ fftw-3.2.2/include FFTW3_LIBS=-L/global/software/fftw-3.2.2/lib LDFLAGS= "-L/home/bmoa/software/lib -L/global/software/netcdf-4.1.2/lib -L/home/bmoa/software/readline-6.2/shlib" LIBS=-lncurses ./configure --prefix=/home/bmoa/software/Galacticus/Tools --with-boost=/home/bmoa/software/boost_1_35_0 --with-mpi=/global/software/ openmpi-1.4.2 litai05:/home/bmoa$ make CXXFLAGS="-I/global/software/netcdf-4.1.2/include -I/home/bmoa/software/include -I/usr/include -O3" CFLAGS="-O3"

Page 16: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software

Installation: A Python Module

Wget

unCompress

Configure

Make

Make install

wget wget http://numexpr.googlecode.com/files/numexpr-1.4.2.tar.gz

python setup.py build

tar xzvf numexpr-1.4.2.tar.gz; cd numexpr-1.4.2

python setup.py install --prefix=/home/…

• Set PYTHONPATH

16

Page 17: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software

Installation: An R Package

Wget

unCompress

Configure

Make

Make install

Rscript -e "install.packages('evd', lib='~/R/library', contriburl=contrib.url('http://cran.r-project.org/'))"

• Set R_LIBS_USER

Rscript -e "source('http://bioconductor.org/biocLite.R');biocLite(lib='~/R/library')"

17

Page 18: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Specific Software Installation: How

• Get the software – Usually a tar ball (tar.gz, tar.bz2, .tgz) – Do not forget to check and get any patch

• Uncompress the tar ball – tar xvf[z,j] tar_ball

• [Apply any patch] • [Flags] ./configure [options]

– Read the README and/or INSTALL files; look in the doc/ folder – ./configure --help

• Make [options] • [Make test] [make check] • Make install

18

Page 19: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Configure

• Gather information about the machine

• Check for dependencies/things needed

• Yes/No messages

Make

• Requires a Makefile

• Targets, rules and dependencies

Make test/check [no always available]

• Test whether the package is built and runs properly

Make Install

• Copy the executables, scripts, includes and libraries to their the prefix location

19

Page 20: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Configure

• Detect information about the system • Do requirements testing • Report the available/missing requirements/dependencies • Helps in customizing the build process • [flags] ./configure [options]

– ./configure –help

• Very important option: --prefix – Allows you to install the software under a specific folder – ./configure --prefix=WHERE_TO_INSTALL_IT

The main outcome: makefiles needed by make

20

Page 21: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Make

• A utility to simplify the building and the maintenance of programs, especially large ones – A programming utility

• Make reads and processes instructions from a text file – By default the file used is makefile/Makefile

• The instructions consists of targets, dependencies and rules, and structured as shown below

target: dependencies

commands

cxx=icpc -Wall

hello: hello.o $(cxx) hello.o -o $@

hello.o: hello.cpp hello.h

$(cxx) -c hello.cpp

make hello

21

Page 22: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Make

• The main purpose of make is to – Compile the code

– Generate the executables and the libraries

The main outcome: executables and libraries

• make test/check: runs the target test/check – Run few tests on the executable

• make install: runs the target install The main outcome: Copy headers, scripts, libraries,

executables into the Prefix directory

22

Page 23: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Challenges • Which software to use?

• MPI > OpenMP/Threads > serial

• Efficient; uses modest amount of resources

• Which cluster to use?

• Has the software

• Matches the requirements of your jobs

• procs, mem, walltime, storage, etc.

Pre-installation

23

Page 24: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Challenges • Headers/libraries not found

• Make sure they are installed

• Point to the right location using […]FLAGS/LIBS

• Check whether the existing libraries are compatible with the software

• Error not clear

• Read config.log

• Find which test code failed

Installation: Configure

24

Page 25: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Challenges • Warnings

• Usually Ignore, especially with Intel compilers

• Not found error - compilation

• Header files missing

• Include folders using […]FLAGS with –I

• Undefined reference error – linking

• Libraries are missing: install them

• Libraries not found: help the system to find them - LDFLAGS/--with-libraries

Installation: make

25

Page 26: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Challenges • Nothing copied

• Run make first

• Permission problem

• Prefix not specified

• Quota exceeded

• Number of files

• User storage exceeded

• Take advantage of large space on /global/scratch

Installation: make install

26

Page 27: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Challenges • Command not found

• Missed make install?

• Add the path of the command to your PATH

• Library couldn’t be loaded

• Use ldd to check the libraries used; adjust LD_LIBRARY_PATH

• Consider recompiling with rpath

• Static linking ?!

• Argument missing

• Read the manul/help of the software

• Start by running an installation check test

Post-Installation

27

Page 28: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Challenges • Segmentation faults

• Check how the software should be used

• Did you apply patches? Did you set the stack size as required?

• Google!, Software User Forum – Join the mailing list…

• Debug the code: gdb, valgrind, etc …

• Results are not what you expect

• Run a test for which others reported the results and compare

• Find what’s different

• The compilers

• The compilation flags

• The libraries

• … Ask [email protected]

Post-Installation

28

Page 29: Installing Software on WestGrid Systems · Topics •Global software installation on a WestGrid system •User-based software installation: –Who, When, Where, How •Specific software

Thank You!

29