Install Required Software and Data
General Software Requirements
Many
of the hands-on sessions require an active connection to a
supercomputer/cluster. All participants should have the following installed on their laptops prior to the hands-on sessions.
SSH and SCP client
- Windows: we recommend PuTTY for SSH and WinSCP for SCP. Both can be downloaded from here. Alternatively, you can install MobaXterm, which provides both an ssh client and an X Windows environment.
- Mac OS X / Linux: SSH and SCP clients should be part of the OS and can be installed using the OS's package manager.
X Windows environment
- Windows: we recommend the following two packages to be downloaded and installed prior to the course:
- Windows alternative: you could also install MobaXterm, which provides both an ssh client and an X Windows environment.
- Mac OS X: X11 is no longer installed by default, but can be found here: https://www.xquartz.org; otherwise an optional install of Xcode from the Mac OS X media (CD/DVD) may be required.
- Linux: nothing to be done if using a GUI version of Linux (e.g. Ubuntu Desktop).
Scientific Visualization
- We will be using the VisIt software.
- You can download VisIt from
https://wci.llnl.gov/simulation/computer-codes/visit/executables
scroll down and select the corresponding OS for your computer. - The installation using the pre-compiled binaries is usually straightforward, just follow the instructions displayed during the installation procedure.
HPC Python Programming
Although we will be working on Bridges, for the smaller examples, or in case Bridges and Comet are both not available, you will need to have Python installed on your laptop.
- Distributions such as Anaconda by Continuum Analytics (free) and Enthought Canopy (basic version free, academic license gives access to more features) are a good starting point.
- Your laptop python environment should have the following packages (in addition to what comes standard with python):
- numpy
- scipy
- matplotlib
- psutil
- line_profiler
- memory_profiler
- numexpr
- ipython
- cython
- mpi4py
- ipyparallel (or IPython.parallel if your python version is a bit older)
- Depending on your python distribution, you can install these from the package manager that comes with it or on the command line with commands like "pip install <packagename>" or "conda install <packagename>". Note that for mpi4py you will need an mpi library installation as well; this may prove hard on Windows machines.
Single Node Optimization
We are going to do performance measurements on Bridges (Phase 2). No need to install anything on your laptops, some ssh client is enough. We will install LIKWID on the cluster (in your home directory) together.
Parallel Performance Analysis and Optimization
We are going to do performance measurements on Bridges (or Comet). The measurements will then be analyzed on your laptops using Cube. We will do the analysis on your laptops and not on a remote machine
because the network latency will impact responsiveness of GUIs in a way
that it is just too slow.
I.e., you need to install Cube on your laptop. Alternatively, you can use the latest VI-HPS Linux Live ISO/OVA for execution within VirtualBox. Both options are described below.
Use Cube from the latest VI-HPS Linux Live ISO/OVA within VirtualBox
Either choose this option or Install Cube on your laptop, see below. You don't need both.
- Install a 64bit VirtualBox. Linux distributions often provide a ready-to-use package. Packages for various operating systems can be found here.
- Once installed, download the latest VI-HPS Linux Live ISO/OVA. The lite version will be sufficient for our purpose.
- If you are going to download the OVA file, you need to do this prior to arriving for the summer school. Don't expect downloading the 4GB OVA via the wireless network to succeed!
- We will provide a few USB drives containing the OVA. You can do the import using this drives. Please do this prior to the session on Thursday. The drives are exFAT formatted. exFAT is natively supported on Windows and MacOS. On Linux please install support for exFAT (e.g., for Ubuntu you need the packages exfat-fuse and exfat-utils).
- Import the OVA file into VirtualBox.
- Note that this requires at least 12GB of free disk space.
- Boot into the new virtual machine.
- login: livetau
password: HPCLinux12!
Install Cube on your laptop
Either choose this option or Use Cube from the latest VI-HPS Linux Live ISO/OVA within VirtualBox, see above. You don't need both.
- Cube
Download and install Cube on your laptops. There are installers for Windows and MacOS. The Linux installation from source takes a few steps, see the instructions below. After installation, please start Cube/cube to verify the installation was successful. - WIndows: cube-4.4.exe (MD5sum: 7486ce267d2b89f314c8145d266516de)
- Mac OS: cube-4.4.dmg (MD5sum: 94c699434ee737cce41c627c6117806c) (If you can not launch CUBE, please use older version)
- Linux: firstly install CubeLib and then install CubeGUI (see detailed description below)
# Linux build and install
# you need to have Qt's qmake (or qmake-qt4/5) in $PATH. If this is not the case,
# please install a package like qt5-qmake (depends on your distribution).
#
# set path where you want to install cube
cube_prefix=<choose_cube_prefix>
# install CubeLib component
wget http://swatci.pages.jsc.fz-juelich.de/CubeLib/cubelib-4.4-latest-trunk.tar.gz
tar xvf cubelib-4.4-latest-trunk.tar.gz
cd cubelib-4.4-latest-trunk ; mkdir _build ; cd _build
./../configure --prefix=$cube_prefix ; make ; make install ; cd ../..
# install CubeGUI component
wget http://swatci.pages.jsc.fz-juelich.de/CubeGUI/cubegui-4.4-latest-trunk.tar.gz
tar xvf cubegui-4.4-latest-trunk.tar.gz
cd cubegui-4.4-latest-trunk ; mkdir _build ; cd _build
PATH=$cube_prefix/bin:$PATH ; export PATH
./../configure --prefix=$cube_prefix --with-nocross-compiler-suite=gcc ; make ; make install ; cd ../..
echo export PATH=$cube_prefix/bin:'$PATH' >> $HOME/.bashrc
echo export CUBE_DOCPATH="https://apps.fz-juelich.de/scalasca/releases/scalasca/2.4/help/:https://apps.fz-juelich.de/scalasca/releases/scalasca/2.3/help/:https://apps.fz-juelich.de/scalasca/releases/scalasca/2.2/help/:https://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/help/:https://apps.fz-juelich.de/scalasca/releases/scalasca/2.0/help/:http://www.vi-hps.org/upload/packages/scorep/" >> $HOME/.bashrc
source $HOME/.bashrc
# launch Cube
cube