diff --git a/docs/blog/posts/ssh_key_creation.md b/docs/blog/posts/ssh_key_creation.md new file mode 100644 index 0000000..f60b465 --- /dev/null +++ b/docs/blog/posts/ssh_key_creation.md @@ -0,0 +1,10 @@ +--- +date: + created: 2026-01-15 +draft: true +--- + +# Creating an SSH Key Pair for Password-less Logins + +{% set resource = "gautschi" %} +{{ ssh_keys_snippet(resource) }} diff --git a/docs/blog/posts/thinlinc-login.md b/docs/blog/posts/thinlinc-login.md new file mode 100644 index 0000000..4b9839d --- /dev/null +++ b/docs/blog/posts/thinlinc-login.md @@ -0,0 +1,10 @@ +--- +date: + created: 2026-01-14 +draft: true +--- + +# Logging in to the community clusters via ThinLinc + +{% set resource = "gautschi" %} +{{ thinlinc_snippet(resource) }} diff --git a/docs/userguides/gautschi/accounts.md b/docs/userguides/gautschi/accounts.md index ef3c39d..1e6901d 100644 --- a/docs/userguides/gautschi/accounts.md +++ b/docs/userguides/gautschi/accounts.md @@ -11,24 +11,30 @@ search: ## Accounts on Gautschi ### Obtaining an Account -To obtain an account, you must be part of a research group which has purchased access to Gautschi. Refer to the [Accounts / Access](https://www.rcac.purdue.edu/account/request) page for more details on how to request access. +To obtain an account, you must be part of a research group which has purchased access to {{ resource }}. Refer to the [Accounts / Access](https://www.rcac.purdue.edu/account/request) page for more details on how to request access. -### Outside Collaborators -A valid Purdue Career Account is required for access to any resource. If you do not currently have a valid Purdue Career Account you must have a current Purdue faculty or staff member file a [Request for Privileges (R4P)](https://www.purdue.edu/apps/account/r4p) before you can proceed. +!!! note + External (non-Purdue) collaborators can be granted access to {{ resource }}, provided the collaborator has a valid Purdue career account. If the collaborator does not have a Purdue career account, a current Purdue faculty or staff member must file a [Request for Privileges (R4P)](https://www.purdue.edu/apps/account/r4p) to have the career account created. + +## Logging In To {{ resource }} +There are several ways to login to {{ resource }}: -## Logging In -To submit jobs on {{ resource }}, log in to the submission host `{{ resource }}.rcac.purdue.edu` via SSH. This submission host is actually {{ resource }} front-end hosts: `login00.{{ resource }}` through `login07.{{ resource }}`. The login process randomly assigns one of these front-ends to each login to `{{ resource }}.rcac.purdue.edu`. +### Thinlinc web client +One can login to the {{ resource }} front-end with a full desktop environment via the [Thinlinc web client](https://desktop.gautschi.rcac.purdue.edu). -## Purdue Login ---8<-- "docs/snippets/purdue_login.md" +!!! important + Your full password,push Duo passphrase is needed to trigger the Duo notification that is sent to your phone for approval. -## Passwords -Gautschi supports either Purdue two-factor authentication ([Purdue Login](#purdue-login)) or SSH keys. +### Gateway / OnDemand +One can login to {{ resource }}'s [Gateway](https://gateway.gautschi.rcac.purdue.edu) to manage files in your home/scratch/depot directories and start Slurm jobs for supported OnDemand applications. -## SSH Client Software +### SSH +*Secure Shell* or *SSH* is a way of establishing a secure connection between two computers. It uses public-key cryptography to authenticate the user with the remote computer and to establish a secure connection. Its usual function involves logging in to a remote machine and executing commands. There are many SSH clients available for all operating systems. -*Secure Shell* or *SSH* is a way of establishing a secure connection between two computers. It uses public-key cryptography to authenticate the user with the remote computer and to establish a secure connection. Its usual function involves logging in to a remote machine and executing commands. There are many SSH clients available for all operating systems: +!!! note + {{ resource }} supports either Purdue's Duo two-factor authentication or SSH keys. +#### SSH Client Software Linux / Solaris / AIX / HP-UX / Unix: - The `ssh` command is pre-installed. Log in using `ssh username@gautschi.rcac.purdue.edu` from a terminal. @@ -41,17 +47,12 @@ Mac OS X: - The `ssh` command is pre-installed. You may start a local terminal window from "Applications->Utilities". Log in by typing the command `ssh username@gautschi.rcac.purdue.edu`. -!!! note - When prompted for password, enter your Purdue career account password **followed by "**`,push` **"**. Your Purdue Duo client will then receive a notification to approve the login. +!!! important + When prompted to enter a password, enter your Purdue career account password **followed by "**`,push` **"**. Your Duo app will then receive a notification to approve the login. -## SSH Keys -{% set resource = "gautschi" %} -{{ ssh_keys_snippet(resource) }} +### SSH Keys +SSH keys can be used in lieu of the Duo passphrase "password,push" for password-less logins. Refer to the blog post at [PLACEHOLDER URL](http://localhost:8080/blog/2026/01/15/creating-an-ssh-key-pair-for-password-less-logins) for more information. -## SSH X11 Forwarding -{% set resource = "gautschi" %} -{{ ssh_x11_snippet(resource) }} -## ThinLinc -{% set resource = "gautschi" %} -{{ thinlinc_snippet(resource) }} \ No newline at end of file +### ThinLinc +It's possible to login to {{ resource }} using the ThinLinc desktop app. Refer to the blog post at [PLACEHOLDER URL](http://localhost:8080/blog/2026/01/14/logging-in-to-the-community-clusters-via-thinlinc) URL for more information on the installation and login steps. diff --git a/docs/userguides/gautschi/run_jobs/checking_output.md b/docs/userguides/gautschi/run_jobs/checking_output.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/userguides/gautschi/run_jobs/creating_the_submission_script.md b/docs/userguides/gautschi/run_jobs/creating_the_submission_script.md new file mode 100644 index 0000000..eaf909d --- /dev/null +++ b/docs/userguides/gautschi/run_jobs/creating_the_submission_script.md @@ -0,0 +1,36 @@ +--- +tags: + - Gautschi + - Python +authors: + - jin456 + - remender +cluster: Gautschi +search: + boost: 2 +--- + +To submit work to a SLURM queue, you must first create a job submission file. This job submission file is essentially a simple shell script that includes special comments to specify sbatch options. It will set any required environment variables, load any necessary modules, create or modify files and directories, and run any applications that you need. A simple submission script to the {{ resource }} cpu partition looks like: + +``` bash +#!/bin/bash +# FILENAME: myjobsubmissionfile + +#SBATCH --account=myLabAccount +#SBATCH --partition=cpu +#SBATCH --qos=normal +#SBATCH --nodes=1 +#SBATCH --ntasks=1 +#SBATCH --time=1-00:00:00 + +# Loads Matlab and sets the application up +module load matlab + +# Change to the directory from which you originally submitted this job. +cd $SLURM_SUBMIT_DIR + +# Runs a Matlab script named 'myscript' +matlab -nodisplay -singleCompThread -r myscript +``` + +[**Return to the guide**](index.md) \ No newline at end of file diff --git a/docs/userguides/gautschi/run_jobs/index.md b/docs/userguides/gautschi/run_jobs/index.md index 6db29f0..8222686 100644 --- a/docs/userguides/gautschi/run_jobs/index.md +++ b/docs/userguides/gautschi/run_jobs/index.md @@ -3,14 +3,20 @@ tags: - Gautschi authors: - jin456 + - remender resource: Gautschi search: boost: 2 --- -There is one method for submitting jobs to {{ resource }}. You may use Slurm to submit jobs to a partition on {{ resource }}. Slurm performs job scheduling. Jobs may be any type of program. You may use either the batch or interactive mode to run your jobs. Use the batch mode for finished programs; use the interactive mode only for debugging. +Jobs are submitted on {{ resource }} via the SLURM (Simple Linux Utility for Resource Management) scheduler, which is responsible for allocating resources and scheduling the start time of a job. You may use either the batch or interactive mode to run your jobs. The batch mode is ideal for finished programs, and the interactive mode is useful for debugging your job. -In this section, you'll find a few pages describing the basics of creating and submitting Slurm jobs. As well, a number of example Slurm jobs that you may be able to adapt to your own needs. +!!! important + Do NOT run large, long, multi-threaded, parallel, or CPU-intensive jobs on a front-end login host. All users share the front-end hosts, and running anything but the smallest test job will negatively impact everyone's ability to use Gautschi. Always use SLURM to submit your work as a job. -- [**Python on {{ resource }} resource**](running_jobs_python.md) -- [**R on {{ resource }} resource**](running_jobs_r.md) +Batch jobs submitted via SLURM have four main steps: + +- [**Creating the submission script**](creating_the_submission_script.md) +- [**Submitting the script as a job**](submit_script.md) +- [**Monitoring the job**](monitoring_job.md) +- [**Checking the job output**](checking_output.md) diff --git a/docs/userguides/gautschi/run_jobs/monitoring_job.md b/docs/userguides/gautschi/run_jobs/monitoring_job.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/userguides/gautschi/run_jobs/submit_script.md b/docs/userguides/gautschi/run_jobs/submit_script.md new file mode 100644 index 0000000..2108a7b --- /dev/null +++ b/docs/userguides/gautschi/run_jobs/submit_script.md @@ -0,0 +1,33 @@ +--- +tags: + - Gautschi +authors: + - jin456 + - remender +cluster: Gautschi +search: + boost: 2 +--- + +Once you have a job submission script, you may submit the script to SLURM using the sbatch command. SLURM will find, or wait for, available resources matching your request and run your job there. If you have included your sbatch options as special comments in your submission script, submitting the job is as simple as: + +``` bash +sbatch myjobsubmissionfile +``` + +Should you wish to override any of the sbatch options that you've specified in your submission script, you can add them as command-line options to the sbatch command: + +``` bash +sbatch myjobsubmissionfile -q standby -t 04:00:00 +``` + +This command will override the --qos and --time options that were specified in the script in the [Creating the submission script](creating_the_submission_script.md) section. You could also choose to omit any sbatch options from your submission script and include them all in the submission command: + +``` bash +sbatch -A myLabAccount -p cpu -q normal -N1 -n1 -t 1-00:00:00 myjobsubmissionfile +``` + +!!! note + Any sbatch options that you specify in the command-line submission will override what is specified in your job submission script. + +[**Return to the guide**](index.md) diff --git a/docs/userguides/gautschi/software.md b/docs/userguides/gautschi/software.md index e69de29..678b94d 100644 --- a/docs/userguides/gautschi/software.md +++ b/docs/userguides/gautschi/software.md @@ -0,0 +1,58 @@ +--- +tags: + - Gautschi +authors: + - remender +resource: gautschi +search: + boost: 2 +--- + +## Software Catalog + +A comprehensive list of centrally installed software applications can be found here: + +[PLACEHOLDER URL](http://localhost:8080/software/app_catalog/) + +## Running the Apps +### Find available apps in the terminal +In addition to searching the software catalog for available applications, one can generate a list via the terminal: + +``` bash +$ module avail +---------------------- Core Applications --------------------- + amduprof/5.1.701 hypershell/2.5.2 ngc/default + anaconda/2024.10-py312 hypershell/2.6.5 oclfpga/2024.1.0 + anaconda/2025.06-py313 (D) hypershell/2.7.0 (D) openblas/0.3.27 +[MORE...] +``` +### View module prequisites and license information +After finding the module that you want to load, use 'module spider' to find any prerequisites or license information, if applicable: + +``` bash +$ module spider hypershell + +------------------------------------------------------------- + hypershell: +------------------------------------------------------------- + Description: + A cross-platform, high-throughput computing utility for processing shell commands over a + distributed, asynchronous queue. + + Versions: + hypershell/2.5.2 + hypershell/2.6.5 + hypershell/2.7.0 + + +``` +### Load the module +Use the command specified in the 'module spider' output to load your software module: + +``` bash +module load hypershell/2.7.0 +``` + +### Running GUI versions of apps +If the app you want to use has a GUI, you can also login to {{ resource }} via Thinlinc. More information on this process can be found here: +[PLACEHOLDER URL](http://localhost:8080/blog/2026/01/14/logging-in-to-the-community-clusters-via-thinlinc)