Terminal emulator and SSH client is now available as a Google Chrome browser extension: run your ssh session to HPC from Chrome!
Secure Shell is an xterm-compatible terminal emulator and stand-alone ssh client for Chrome. It uses Native-Client to connect directly to ssh servers without the need for external proxies.
not essential, but useful: create password-less access to zeus, in the terminal of your OSX/Linux do:
ssh-keygen
(just press Enter few times, do not enter any passwords or “secrets”)
Changing username to your HPC login name, do
ssh-copy-id username@zeus1.coventry.ac.uk
(enter HPC password as prompted, this will copy public ssh key created above to your zeus profile, now you can connect to zeus without entering password -> very useful for following steps). Only need to be done ONCE (per client computer)!
——————————————————————————————————————-
Next steps can be scripted, i.e. put code lines into shell script and call it later with different node name or number (node name can be passed as a parameter to the script)
2. Launch VNC server job in the zeus queue, say, on 1 GPU node asking for 1 K80 GPU and exclusive access to the node (remove –exclusive if the whole node is not needed)
Say the result of that is compute node zeus400 assigned to your VNC job (you can always check with “qstat” or “squeue -u $USER” on zeus or on zeus website (show queue)
3. Establish tunnel from your Mac to target node (e.g. zeus400) via zeus2.coventry.ac.uk (or zeus1):
For running GUI jobs on HPC compute node (rather than on login node), you can use my new Windows HTA-scripts from here: aa3025/hpc (coventry.ac.uk). They will also work via University VPN (Anyconnect)
##### optional step – usually already done when your HPC account is created ########
Prior to all the following you need to set your VNC password on the HPC (you can also change your VNC password this way):
login via ssh to HPC,
issue the command “vncpasswd” to change your VNC password (VNC password can be different to your HPC password, but it makes life easier if it is the same as your HPC password). Use this password for connecting to your VNC sessions in future.
0) Download the whole distribution from aa3025/hpc (coventry.ac.uk) You have at least to download 2 folders: “tools” and either “zeus” or “pluto” depending on which HPC you use. You can use git for synchronising the whole distribution:
Alternatively you can download the zip archive from : HERE
1) Depending which HPC you are about to use, choose a folder zeus or pluto to launch VNC session on required HPC. Before proceeding further check that HPC has free (idle) compute nodes available (“sinfo” in HPC console or check Zeus website or Pluto website)
2) Launch only one script: 01_START_VNC_Session_….._1_node.hta (by double-clicking on it), a.k.a. “submission app”
3) Fill in your HPC username, password and the rest of info. Hit “Submit” button, the script will then submit the “VNC” job to the HPC queue in order to start “vncserver” process [Remote Desktop session] on the assigned compute node.
4) Wait for your VNC job to start in the queue of HPC (you will see job listing in the newly opened black “plink” console window), note the target node name (it is also presented in the last column of the small table at the bottom of the submission app).
5) Once VNC job has started (“Running” state, “R”) in the black console, you can close it. Make sure your VNC job is in Running state (also specified by “R” against your job ID in the table at the bottom of the submission app, if it is still in “PD” state (means still “pending”), waiting for resources to be allocated).
6) Once you closed the first (job submission) app and black console window, the second script will start automatically to get the ssh-tunnel running between your PC and the allocated compute node and will connect you to the node’s VNC session — fill in the target node name from the previous step and your HPC password. The VNC screen number is always :1 (you can’t change it).
7) Now, the VNC password window will pop up — enter your VNC password there (theoretically it can be different from your HPC password). If you do not have VNC password, return to the top of this page (“Prior to all of the following…”) and set it up.
8) If all went well, the VNC Remote Desktop windows will be presented. You can toggle it to full screen by pressing F8 on your keyboard (amongst some other options in F8 as well).
By default the VNC job will last for 24 hours and will request 1 whole node, you can select different time and less CPUs than on the whole node or more than one compute node to be allocated.
More than one compute node. If you specify more than one node in VNC job submission app, the VNC Desktop session will start on the first allocated node, but the resources of all other allocated nodes will still be available from your VNC Desktop session.
VNC job termination
When the slurm VNC job expires (the time limit of your job [normally 24 hours if you did not change it] was reached), your VNC Desktop session will be terminated.
However, if you wish to terminate the VNC job before it expires (you do not use it any more and need to free the HPC resources), you can either just kill it from ssh console with “scancel JOBID” command, or by selecting “Logout” in your VNC Desktop session and your slurm job with VNC sessions will terminate.
If you just close the VNC viewer window on your PC –> the VNC Desktop session will remain running until termination time is reached or you cancel your VNC job. Make sure you do not waste HPC resources by having idle VNC sessions’ jobs hanging in the queue!
To simplify usage of different queues, we combined all nodes into a single default queue (slurm partition) “all”. The usage limits are now solely user-based, each user has default (for now) number of CPU*minutes that they can use at any time moment (subject to available resources). If this number of CPU*min is reached, the new jobs from this user will be put on queue until their running jobs will free resources. This is independent of type of compute nodes. During this initial stage we will try to adapt the default CPU*min allowance to suite better and more effective HPC usage. The simple principle behind this is that user can use more CPU cores but for less time, or, less CPU cores, but for longer time. The run time of the job to be submitted is determined by the value you set in –time or -t parameter during the submission of a job (e.g. -t 24:00:00).
If you require a particular type of compute nodes (CPU/GPU/Phi etc), this can be done in submission script or during the submission with sbatch command: by specifying an additional parameter “constraint”:
for 56 Intel Broadwell CPU based nodes (128GB RAM each) with 32xCPU-cores , specify --constraint=broadwell
for 144 Intel Nehalem CPU based nodes (48 GB RAM each) with 8xCPU-cores, specify --constraint=nehalem
for 18 Intel SandyBridge CPU based nodes (48 GB RAM) with 12xCPU-cores, do --constraint=sandy
for 1 x 32 CPU, 512GB RAM SMP node ask for --constraint=smp
for 10 nodes x 2 NVidia Kepler K20 GPUs, ask for --gres=gpu:K20:N (where N is the Nr of GPUs needed, max is 2 GPUs/node)
for 18 nodes x 2 NVidia Kepler K80 GPUs, ask for --gres=gpu:K80:N (where N is the Nr of GPUs needed, max is 2 GPUs/node)
for N Intel Phi, ask for --gres=mic:N or --constraint=phi.
If you have no particular preference on the type of CPU or compute node and are running parallel job, please specify ONLY TOTAL Nr of CPUs required, NOT Nr of nodes!: SLURM will assign the nodes automatically.
e.g. if I need 64 CPUs in total for 24 hours on whatever available nodes I submit my slurm script with:
sbatch -n 64 -t 24:00:00 myslurmscriptname.slurm
if I need 64 CPUs in total for 48 hours on Broadwell-based nodes (32 CPUs/node) I submit my slurm script with:
Certainly some variations of these sbatch commands are possible, also these flags can be specified inside the slurm submission script itself. For full list of possible sbatch options see slurm docs: https://slurm.schedmd.com/sbatch.html
If you need to launch GUI application on the actual compute node the job was assigned to by slurm, you can do VNC-session through ssh-tunnel (tunneling from outside to the node via login node).
You can connect “directly” to one of the reserved nodes (node assigned by slurm to your job) from university network (or from outside via VPN) using ssh tunnel. E.g. on your local machine issue the command (we presume SSH is installed on your PC, if not, you can use cygwin from w:\Students\Shared\EC\STUDENT\HPC\cygwin\)
This will connect the port 5901 (i.e. VNC-server session :1 running on zeus15) to the port 5901 (you can hook it to any other if 5901 is already taken on your PC) of your local machine via login node zeus4. Obviously replace “username” by your HPC user name. Then, to connect to VNC session running on zeus15:1, just connect your vncviewer to localhost:1. If you need to forward any other non-privileged port from compute node to your local PC, just change the port numbers in the command above.
PGI Community Edition includes a no-cost license to a recent release of the PGI Fortran, C and C++ compilers and tools for multicore CPUs and NVIDIA Tesla GPUs, including all OpenACC, OpenMP and CUDA Fortran features. The PGI Community Edition enables development of performance-portable HPC applications with uniform source code across the most widely used parallel processors and systems.
Warning: Attempt to read property "comment_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 72
Warning: Attempt to read property "comment_author_email" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 592
Warning: Attempt to read property "comment_post_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 593
Warning: Attempt to read property "comment_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 72
Warning: Attempt to read property "comment_author_email" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 592
Warning: Attempt to read property "comment_post_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 593
Warning: Attempt to read property "comment_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 72
Warning: Attempt to read property "comment_author_email" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 592
Warning: Attempt to read property "comment_post_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 593
Warning: Attempt to read property "comment_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 72
Warning: Attempt to read property "comment_author_email" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 592
Warning: Attempt to read property "comment_post_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 593
Warning: Attempt to read property "comment_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 72
Warning: Attempt to read property "comment_author_email" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 592
Warning: Attempt to read property "comment_post_ID" on null in /home/hpccoven/public_html/wp-content/plugins/subscribe-to-comments/subscribe-to-comments.php on line 593
Recent Comments