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: On currently updated versions of Windows10 (and Windows 11), SSH and SCP can be accessed from the Windows command line or Windows Terminal (an optional add-on for Windows 10).  One can verify that ssh is available in windows 10 by launching the Windows command prompt (type "cmd" in the search bar), and at the command prompt, type "ssh -v" -- which will report back usage for ssh.  Alternatively, we recommend PuTTY for SSH and WinSCP for SCP. Both can be downloaded from here. Another alternative is to 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://visit-dav.github.io/visit-website/releases-as-tables/
    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 is not available, you will need to have Python installed on your laptop.

  • Distributions such as Anaconda by Continuum Analytics (free)  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
    • numexpr
    • icython
    • mpi4py
    • scalene
  • 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.

Performance Analysis and Optimization

We are going to do performance measurements on Bridges2. The measurements can be analyzed on your laptops using Cube (AppImage is available here) and Vampir (demo version). 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.


GPU Performance Analysis

We will extensively use the GUI tool NVIDIA Visual Profiler. The internet connection is too slow for X-forwarding from Bridges. We will record profiles of our application runs on Bridges, and analyze them locally on your notebooks. Please install the CUDA toolkit with the installation instructions for your OS. Installing CUDA and running the NVIDIA Visual Profiler does not require having CUDA hardware in your notebook. The recorded profiles will also be provided, so connecting to the cluster is not strictly necessary.

Last modified: Monday, July 10, 2023, 7:43 AM