User Submitted Documentation

This is user submitted documentation. This will eventually contain tip and tricks from users.

VPN alternatives

While the official way to connect to Rāpoi is using the Cisco Anyconnect client, there are some alternatives if that is causing problems.

ECS ssh bastions

ECS users can come in via the ECS ssh bastions greta-pt.ecs.vuw.ac.nz or barretts.ecs.vuw.ac.nz. Note that this will only work for users with valid ECS credentials.

The best way to do this is with a ProxyJump either in the ssh command directly, or you can add it to your ssh_config file.

Directly

ssh -J <ecs user>@barretts.ecs.vuw.ac.nz <raapoi user>@raapoi.vuw.ac.nz

Or via you ssh_config file

Host raapoi
    HostName raapoi.vuw.ac.nz
    ProxyJump <ECS user>@greta-pt.ecs.vuw.ac.nz
    User <Raapoi user>

OpenConnect

OpenConnect is an opensource implimentation of the Cisco anyconnect clients. Some users find this easier to use than the official client.

As all VPN connections currently require 2FA you need to use the openconnect-sso python package. This has only been tested in Linux, it should be possible to make this work in a windows WSL2 terminal as well as in MacOS, but it may require modifications.

Step 0: make sure you've already setup the Microsoft Authenticator App on your phone or setup SMS as the 2FA method.

sudo apt install pipx
pipx install "openconnect-sso[full]"  # can just use "openconnect-sso" if Qt 5.x already installed
pipx ensurepath

Last line required because of the 'Note' that displays when you run pipx install "openconnect-sso[full]" If you have Qt 5.x installed you can skip 2 to 3 and instead: pipx install openconect-sso]

Now you can connect using CLI:

openconnect-sso --server vpn.vuw.ac.nz --user <firstname.lastname>@vuw.ac.nz

It remembers the last used server so after the first time you can reconnect with just

openconnect-sso

You then just leave a tab of your command line open on this, and in a different tab connect to Raapoi.

If this doesn't work for you, ogten due to the difficulty in resolving the QT5 dependancies on macOS silicon you could try Alternative Openconnect-sso

ParaView (via OpenFOAM)

Firstly, see the FAQ entry on visualisation (i.e. consider if this is something you really need to do remotely). If doing your visualisation/plotting locally is not an option, proceed. Note that this FAQ entry is aimed at those using ParaView alongside OpenFOAM, i.e. you'll need an installation of OpenFOAM on your local computer and on Rāpoi.

To connect ParaView to Rāpoi, you will need 3 terminal windows: two to extend the virtual handshake from Rāpoi and from your local computer, and one to open ParaView.

Terminal window 1:

  1. Log in to Rāpoi.

  2. Initiate an interactive job to avoid putting strain on the login node (assign desired cpus and memory).

  3. Run command hostname -I | awk '{print $1}' to identify the IP address of the computing node.

  4. Run command ./pvserver

Terminal window 2:

  1. Run command ssh -N -L 11111:<IP address>:11111 <username>@raapoi.vuw.ac.nz (make sure to enter the IP address of the computing node you identified earlier).

Terminal window 3:

  1. Source OpenFOAM from your local computer (make sure the OpenFOAM version you source is the same version as what is installed on Rāpoi)

  2. Run command paraFoam to open ParaView.

  3. On ParaView, select File -> Connect...

  4. Highlight the desired server, and click Connect

Gview

Firstly, see the FAQ entry on visualisation (i.e. consider if this is something you really need to do remotely). If doing your visualisation/plotting locally is not an option, proceed.

Begin by logging into Rāpoi using -X flag when using graphical applications on your local machine.

ssh -X <username>@raapoi.vuw.ac.nz

Then, from the login node. Get an interactive session by passing --x11 flag.

<username>@raapoi-login:~$ srun --x11 --pty bash

Once a compute node has been allocated, load Gaussview module

<username>@amd01n01:~$ module load Gaussview/6.1

Launch gview and it should open graphical windows on your local device.

<username>@amd01n01:~$ gview

Ray

Ray is a powerful distributed computing framework that can be used to accelerate High Performance Computing (HPC) workloads.

For this exercise, I'll need two terminal windows and a browser.

# Terminal 1
# Start by requesting an interactive session
srun --cpus-per-task=4 --mem=8G --time=0-00:59:00 --pty bash

# Begin with a clear environment
module purge

# Create a python environment
module load gompi/2022a Python/3.10.4-bare
python -m venv env
source env/bin/activate

# Install Ray
pip install 'ray[default]'

# Verify installation
python -c "import ray;print(ray.__version__)";

# Start Ray head node by defining port,object_store_memory(osm),
# ncpus, dashboardhost; osm should be 80% of the requested mem 
# srun command. Here just using 20% 1.6G of 8G
PORT="6379"
OSM="1600000000"
NCPUS="4"
DBHOST="0.0.0.0"

ray start --head --port $PORT --object_store_memory $OSM --num-cpus $NCPUS --dashboard-host=$DBHOST

# A node name should be printed and
# Ray runtime started 
# with address to the dashboard
# In my case it was: 130.195.XX.XX:8265

# Terminal 2
# Now, leave this terminal running and 
# open a new terminal to that port and ip
# to start a tunnel
ssh -L 8265:130.195.XX.XX:8265 USERNAME@raapoi.vuw.ac.nz

# You should now open a browser to view your dashboard at
http://127.0.0.1:8265

# To submit a job
RAY_ADDRESS='http://130.195.XX.XX:8265' ray job submit --working-dir . -- python my_script.py

# To stop Ray
# Go back to terminal 1 and type
ray stop