From d22751d23e33e248fc3b4df527826e2c1a005b2d Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Fri, 11 Sep 2026 15:41:39 -0600 Subject: [PATCH 1/4] Update FAQ Add Alternative Text to DUO Images, Condense the DUO Instructions into one subsection that references the primary OIT Documentation --- docs/getting_started/faq.md | 60 +++++++++++-------------------------- 1 file changed, 18 insertions(+), 42 deletions(-) diff --git a/docs/getting_started/faq.md b/docs/getting_started/faq.md index 3eb408d8..31ffd316 100644 --- a/docs/getting_started/faq.md +++ b/docs/getting_started/faq.md @@ -46,10 +46,18 @@ Duo offers a variety of methods to log into your account. Depending on what you 2. Enter your identikey password when prompted. 3. Wait for a push to your phone. - ![](./faq_images/duo_app2.png) ![](./faq_images/duo_app1.png) + `````{image} ./faq_images/duo_app2.png + :alt: The DUO app's home screen showing a pending login request for a CU Boulder managed DUO account. + :align: center + ````` + + `````{image} ./faq_images/duo_app1.png + :alt: A Duo Security login request showing the username, location and time details, and options to approve or deny the request. + :align: center + ````` ```{note} -Duo push is tied to your device so [you will need to add or remove your device if you get a new phone.](#as-a-cu-boulder-user-how-can-i-manage-my-duo-devices) +Duo push is tied to your device so [you will need to add or remove your device if you get a new phone.](#as-a-cu-boulder-user-how-do-i-manage-my-duo-account) There is also an option to generate a temporary passcode from within the Duo app. This passcode can be used to log into . ``` @@ -93,53 +101,21 @@ This documentation is for customers who have [registered a Yubikey with CU Bould :::::: -### I have a new phone. As a CU Boulder user, how do I move my Duo onto it? -::::{dropdown} Show -:icon: note - -You can add a new device to your duo account by visiting https://duo.colorado.edu. -After a CU authorization page you will be directed to a Duo authentication page. **Ignore the Duo Push prompt and instead click "Add a new device":** - -![](faq_images/duo_new_device1.png) - -Duo will then try to authenticate your account by push notification to verify your identity. Cancel this push notification... - -![](faq_images/duo_new_device2.png) - -...and click on "Enter a Passcode", or "Call Me". -- If you select "Call Me" the simply receive the call and press 1. -- If you select "Enter a Passcode" then click "Text me new codes" and you will be sent a list of one time passwords. Type in any one of the codes and you will be authenticated. - -Once you have verified your identity, follow the instructions provided by Duo to add your device. - -If you cannot authenticate your account (e.g. do not have your old device), we suggest reviewing the [Duo FAQ page](https://oit.colorado.edu/services/identity-access-management/multi-factor-remote-access/faq) or contacting . - -:::: - -### As a CU Boulder user, how can I manage my Duo devices? +### As a CU Boulder user, how do I manage my DUO account? ::::{dropdown} Show :icon: note -Users can manage their own Duo devices by visiting . This enables users to add or remove activated devices at their discretion. - -After a CU authorization page, you will be directed to a Duo authentication page. Do not respond to the Push notification and instead click the "Settings" button: +**Not sure how to setup your DUO account?** -![](./faq_images/duo-management1edit.png) +Then we recommend checking OIT's [Guide for DUO MFA](https://oit.colorado.edu/services/identity-access-management/duo-multi-factor-authentication). -This will bring up a menu that provides several options on device management and general help. +**Need to add a new device or manage existing DUO devices?** -Clicking "Add a new device" will allow you to add a new smart phone, tablet, or land-line. Simply select the option you wish to add and follow the steps provided by Duo to complete setting up your new device. +Then we recommend checking OIT's [Guide for Managing DUO Devices](https://oit.colorado.edu/tutorial/duo-multi-factor-authentication-manage-devices) -Selecting "My Settings & Devices" provides a more detailed list of all devices you have registered. From here you can also add a new device, set your default device, and change your default authentication method when you attempt to log in. -:::: - -### None of the FAQs for Duo resolved my issue, how do I proceed as a CU Boulder user? -::::{dropdown} Show -:icon: note +**Running into issues with using DUO MFA?** -If none of the above resolved the issues you were experiencing, then your Duo account may have expired. The university purges Duo accounts after six months of non-use. You can -re-enroll by visiting . If that did not resolve your issue, then we suggest contacting the University helpdesk at or calling -303-735-4357. +Then we recommend checking OIT's [DUO Troubleshooting Guide](https://oit.colorado.edu/services/identity-access-management/multi-factor-remote-access/faq) :::: ## Microsoft Multi-Factor Authentication @@ -359,7 +335,7 @@ Our recommendation is to use >= `nvhpc_sdk/2025.251` on all GPUs. If you require * A100: Ampere * L40: Ada -* H200: Hopper +* H100, H200: Hopper * RTX Pro 6000: Blackwell :::: From fad61c74b1e3b115a05c715a6d10d7acbd108004 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Fri, 11 Sep 2026 15:46:59 -0600 Subject: [PATCH 2/4] Update faq.md --- docs/getting_started/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting_started/faq.md b/docs/getting_started/faq.md index 31ffd316..ceae618a 100644 --- a/docs/getting_started/faq.md +++ b/docs/getting_started/faq.md @@ -270,7 +270,7 @@ There are a couple ways you can check your FairShare priority: ``` The `sshare` command will print out a table of information regarding your usage and priority on all allocations. The `-U` flag will specify the current user and the `-l` flag will print out more details in the table. The field we are looking for is the _LevelFS_. The LevelFS holds a number from 0 to infinity that describes the fair share of an association in relation to its other siblings in an account. Over-serviced accounts will have a LevelFS between 0 and 1. Under-serviced accounts will have a LevelFS greater than 1. Accounts that haven't run any jobs will have a LevelFS of infinity (inf). - For more information on fair share the `sshare` command, [take a look at Slurm's documentation on fair share](https://slurm.schedmd.com/fair_tree.html) Or [check out the Slurm reference page on sshare](https://slurm.schedmd.com/sshare.html) + For more information on fair share the `sshare` command, [take a look at Slurm's documentation on fair share](https://slurm.schedmd.com/fair_tree.html) or [check out the Slurm reference page on sshare](https://slurm.schedmd.com/sshare.html) :::: ### Why is my job pending with reason `ReqNodeNotAvail`? From a5c7a2005e0e1f5f5ab809c281338dcaa1581e26 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Sat, 12 Sep 2026 09:16:08 -0600 Subject: [PATCH 3/4] Update faq.md --- docs/getting_started/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting_started/faq.md b/docs/getting_started/faq.md index ceae618a..fa0a054d 100644 --- a/docs/getting_started/faq.md +++ b/docs/getting_started/faq.md @@ -335,7 +335,7 @@ Our recommendation is to use >= `nvhpc_sdk/2025.251` on all GPUs. If you require * A100: Ampere * L40: Ada -* H100, H200: Hopper +* H200: Hopper * RTX Pro 6000: Blackwell :::: From 978dbae7c8fb85a54d941de9c05ffe059b5f1918 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Wed, 16 Sep 2026 16:04:06 -0600 Subject: [PATCH 4/4] Update for Accessibility This commit includes modifications to add alternative text and other accessibility requirements, as well as modifying the rapids.md document which NVIDIA is renaming CUDA-X. --- docs/open_ondemand/files_app.md | 5 +++- docs/open_ondemand/jobs_app.md | 38 +++++++++++++++++++++++++ docs/open_ondemand/terminal_app.md | 1 + docs/open_ondemand/vs_code-server.md | 12 ++++++-- docs/running-jobs/error-status-codes.md | 6 ++-- docs/running-jobs/interactive-jobs.md | 20 +++++++++---- docs/running-jobs/job-arrays.md | 4 +-- docs/software/GNUParallel.md | 7 ++--- docs/software/alphafold.md | 2 +- docs/software/containerization.md | 2 +- docs/software/gaussian.md | 11 ++++--- docs/software/matlab.md | 6 ++-- docs/software/python.md | 6 ++-- docs/software/rapids.md | 27 ++++++++++-------- docs/software/sratoolkit.md | 35 ++++++++++++++++++----- docs/software/uv.md | 2 +- 16 files changed, 133 insertions(+), 51 deletions(-) diff --git a/docs/open_ondemand/files_app.md b/docs/open_ondemand/files_app.md index 9314dc1b..9b16ba14 100644 --- a/docs/open_ondemand/files_app.md +++ b/docs/open_ondemand/files_app.md @@ -5,6 +5,7 @@ The **Files** application allows users to easily make modifications to directori ```{eval-rst} .. figure:: ./OnDemand/files_app_main_drop_down.png :align: center + :alt: A screenshot of Open OnDemand's file browser with the "Files" dropdown expanded to list a user's home directory, scratch directory, projects directory, and PetaLibrary. Instructions for navigating the file browser are provided under the "Files application" header. ``` ```{important} @@ -24,11 +25,13 @@ From the picture provided above, one can see that there are several convenient f ```{eval-rst} .. figure:: ./OnDemand/files_app_copy_move.png :align: center + :alt: A closeup screenshot of the file browser's Copy or Move window. Instructions for using the Copy or Move window are provided under the "Files application features" header. ``` -- Renaming, downloading, and deleting files or directories can be done from the drop-down menu next to the data. Additionally, one can view and edit files using this drop-down menu. The menu can be found by selecting the three vertical dots next to the data (pictured below). +- `Actions Dropdown` - Renaming, downloading, and deleting files or directories can be done from the drop-down menu next to the data. Additionally, one can view and edit files using this drop-down menu. The menu can be found by selecting the three vertical dots next to the data (pictured below). ```{eval-rst} .. figure:: ./OnDemand/files_app_view_edit.png :align: center + :alt: A screenshot of the actions dropdown which lists the options for potential file modifications as View, Edit, Rename, Download, and Delete. ``` ```{note} diff --git a/docs/open_ondemand/jobs_app.md b/docs/open_ondemand/jobs_app.md index 6ffcc127..160ea494 100644 --- a/docs/open_ondemand/jobs_app.md +++ b/docs/open_ondemand/jobs_app.md @@ -3,6 +3,7 @@ The **Jobs** application within Open OnDemand is the perfect tool for individuals who would prefer to use a graphical user interface (GUI) to submit and monitor jobs. Users have the ability to interact with both the [Alpine](../clusters/alpine/index.md) and [Blanca](../clusters/blanca/blanca.md) clusters with a few simple clicks. To access either of these tools, select the **Jobs** tab (pictured below). This provides the user with two options **Active Jobs** and **Job Composer**. Details for both of these options are provided in the subsections that follow. ```{eval-rst} .. figure:: ./OnDemand/jobs_tab.png + :alt: A screenshot of Open OnDemand's menu bar, showing the dropdown menu for "Jobs" which lists options for "Active Jobs" and "Job Composer" :align: center ``` @@ -11,6 +12,7 @@ The **Jobs** application within Open OnDemand is the perfect tool for individual The **Active Jobs** tool allows users to view any of their active jobs (or all jobs) for a specific cluster (or all clusters). A user can view jobs running on [Alpine](../clusters/alpine/index.md), [Blanca](../clusters/blanca/blanca.md), or Core (the cluster that [Core Desktop](./core_desktop.md) and the [MATLAB GUI](./matlab.md) run on) clusters. Additionally, users can cancel their jobs using this tool. To view currently running jobs, first select the **Active Jobs** tool, this will bring you to the interface pictured below. On the right-hand side, you will see a drop-down button that allows you to view all jobs on the specified cluster (determined by the furthest right button) or only your jobs. To cancel a running job, navigate to the job you would like to cancel and select the red delete button. ```{eval-rst} .. figure:: ./OnDemand/active_jobs_interface.png + :alt: A screenshot showing Open OnDemands Active Jobs dashboard which lists a set of example active jobs. The screenshot highlights the ability to cancel jobs and change the cluster, both of which are explained under the "Active Jobs" heading. :align: center ``` @@ -19,9 +21,45 @@ The **Active Jobs** tool allows users to view any of their active jobs (or all j Although interactive jobs can be extremely helpful, it is often the case that a user would rather submit their job to a cluster where it can run whenever the resources are available. This is accomplished through [Batch Jobs and Job Scripting](../running-jobs/batch-jobs.md). To provide a simple interface for creating batch jobs and jobs scripting, we include the **Job Composer** tool. This tool allows users to modify and create job scripts, schedule jobs, and manage these jobs all in one central location. To create a job, navigate to the **Job Composer** tool and select **New Job**. When first getting started, it is easiest to select **From Default Template**, which will construct a template job with a default name and submit script (job script). Once a new job has been selected, a user can modify the job to their liking by navigating the provided interface. Below we provide a graphic that highlights some of the key features users may be interested in. ```{eval-rst} .. figure:: ./OnDemand/job_composer_nav.png + :alt: A screen shot of the Open OnDemand Job Composer dashboard, which includes annotated notes for accessing the user interfaces different buttons and an example job script. Descriptions of each button and the screenshot's example code can be found under the "Job Composer Interface Description" heading. :align: center ``` +### Job Composer Interface Description +The Job Composer's interface includes the following key buttons for interacting with job batch scripts: + +* Job Options : Click to modify a job's name, account, or cluster +* Submit : Click to submit the selected batch job(s) +* Stop : Click to cancel the selected batch job(s) +* Delete : Click to delete batch job script and its containing directory + +The Job Detail's pane (on the right side of the display) will display the job's settings and basic information. An example job's information is provided below. + +``` +Job Name: +My First Job +Submit to: +Alpine +Account: +Not specified +Script location: +/projects/breyes@xsede.org/ondemand/projects/default/1 +Script name: +main_job.sh +Folder Contents: +main_job.sh +``` +The Submit Script pane, located beneath Job Details, includes the batch job's script. A starter scripted is provided and can be edited by clicking the "Open Editor" button. +``` +#!/bin/bash +#SBATCH --time=00:01:00 +#SBATCH --partition=amilan +#SBATCH --qos=normal +#SBATCH --output=sample-%j.out +echo "Hello World" +``` + + ```{important} Be sure to select the appropriate cluster when creating a job. Additionally, caution should be taken when selecting the delete button. The delete button will remove the entire directory created for the job. In the example provided above, this means that `/projects/breyes@xsede.org/ondemand/projects/default/1` would be completely deleted. ``` diff --git a/docs/open_ondemand/terminal_app.md b/docs/open_ondemand/terminal_app.md index b9b29972..69fbfbc4 100644 --- a/docs/open_ondemand/terminal_app.md +++ b/docs/open_ondemand/terminal_app.md @@ -4,6 +4,7 @@ Individuals who are comfortable with the Linux command line may be interested in ```{eval-rst} .. figure:: ./OnDemand/cluster_terminal_app.png + :alt: A screenshot that shows on the left the "Alpine Shell Access" option selected from the Cluster's dropdown menu in Open OnDemand. On the right is a screenshot of an active terminal session, where the terminal commands "module list" and "ls" have been entered. :align: center ``` diff --git a/docs/open_ondemand/vs_code-server.md b/docs/open_ondemand/vs_code-server.md index 49b5aeda..177cef5a 100644 --- a/docs/open_ondemand/vs_code-server.md +++ b/docs/open_ondemand/vs_code-server.md @@ -4,17 +4,19 @@ ```{eval-rst} .. figure:: ./OnDemand/vs_code_server_gui.png + :alt: A screenshot of VS Code's GUI interface, showing a Hello World python program in the code editor. At the bottom of the screen is an active terminal showing the output of the program, a message of "Hello World!". :align: center ``` ## Launching a VS Code-Server -1. Navigate to either the __Interactive Apps__ or __My Interactive Sessions__ tab and select **VS Code-Server**. +1. In Open OnDemand, Navigate to either the __Interactive Apps__ or __My Interactive Sessions__ tab and select **VS Code-Server**. 2. Select the VS Code-Server version you would like to launch the application with. ```{eval-rst} .. figure:: ./OnDemand/vs_code_server_config.png + :alt: A screenshot for Open OnDemand's VS Code configuration settings that shows the "Code-Server version" set to 4.16.1 via a dropdown menu. :align: center ``` @@ -24,6 +26,7 @@ ```{eval-rst} .. figure:: ./OnDemand/vs_code_server_launch.png + :alt: A screenshot of Open OnDemand's interactive application launcher which is configured for the VS Code-Server application. The launcher shows information on the host, creation date, time remaining for the interactive app, the Session ID, and includes buttons labeled "Connect to VS Code" and "Delete". :align: center :scale: 50% ``` @@ -45,7 +48,12 @@ When attempting to install an extension, we suggest the following methods (liste 2. Use the provided search bar to search for the application you want. 3. Select the application and then click the `Install` button. - ![](OnDemand/vs_code_marketplace_install.png) +```{eval-rst} +.. figure:: ./OnDemand/vs_code_marketplace_install.png + :alt: A screenshot of VS Code's Extension Marketplace showing an active search "Jupyter" and a listing of three different Jupyter extensions. + :align: center + :scale: 50% +``` - Install the application by dragging the downloaded file into the **extensions column** (for visual representation, please see above video). 1. Navigate to the [VS Code Marketplace](https://marketplace.visualstudio.com/vscode) in your browser. diff --git a/docs/running-jobs/error-status-codes.md b/docs/running-jobs/error-status-codes.md index e426ab87..78d92aba 100644 --- a/docs/running-jobs/error-status-codes.md +++ b/docs/running-jobs/error-status-codes.md @@ -25,8 +25,7 @@ may encounter when using squeue to check on your jobs. | STOPPED | `ST` | A running job has been stopped with its cores retained. | ```{seealso} -A full list of these Job State codes can be found in [Slurm’s -documentation.](https://slurm.schedmd.com/squeue.html#lbAG) +A full list of these Job State codes can be found in [Slurm’s Job State Codes](https://slurm.schedmd.com/squeue.html#lbAG) documentation. ``` ### Job Reason Codes @@ -49,8 +48,7 @@ documentation.](https://slurm.schedmd.com/squeue.html#lbAG) | `AssociationNodeLimit` | All nodes assigned to your job’s specified association are in use; the job will run eventually. | ```{seealso} -A full list of these Job Reason Codes can be found [in Slurm’s -documentation.](https://slurm.schedmd.com/squeue.html#lbAF) +A full list of these Job Reason Codes can be found in [Slurm’s Job Reason Codes](https://slurm.schedmd.com/squeue.html#lbAF) documentation. ``` ## Alpine Job Submission Error Codes diff --git a/docs/running-jobs/interactive-jobs.md b/docs/running-jobs/interactive-jobs.md index 13e3fb34..1244ed0d 100644 --- a/docs/running-jobs/interactive-jobs.md +++ b/docs/running-jobs/interactive-jobs.md @@ -15,7 +15,7 @@ sinteractive --partition=acpu --time=00:10:00 --ntasks=1 --nodes=1 --qos=cpu-nor This will run an interactive job to the Slurm queue that will start a terminal session that will run on one core of one node on the `acpu` partition for ten minutes. Once the session has started you can run any application or script you may need from the command line. For example, if you load the Python module using `module load python` and then type `python`, you will open an interactive python shell on a compute node (rather than the login nodes, which is forbidden). When you are finished with your interactive job, you can end the session by typing `exit`. If you do not end your session, the interactive job will run for the full time requested, which will use up part of your allocation. ```{seealso} -Check out this [page](job-resources.md) for a list of Slurm directives that can be used with interactive jobs. +Check out the [Slurm Flags, Partitions, and QoS](job-resources.md) page for a list of Slurm directives that can be used with interactive jobs. ``` ## Interactive GUI Applications @@ -36,11 +36,17 @@ this. [Download Xming here](http://www.straightrunning.com/XmingNotes/). Download and install the [PuTTY application](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) here if you have not done so already. -![](./interactive_jobs_images/putty-1.png) +```{image} ./interactive_jobs_images/putty-1.png +:alt: A screenshot of the Putty application, with the SSH tab highlighted. Instructions for using Putty are provided under the "Windows setup" header. +:align: center +``` Expand the SSH tab on the left side of the application and click X11. -![](./interactive_jobs_images/putty-2.png) +```{image} ./interactive_jobs_images/putty-2.png +:alt: A screenshot of the Putty application, with the X11 tab and X11 configurations highlighted. Instructions for configuring X11 in Putty are provided under the "Windows setup" header. +:align: center +``` In the X11 Menu check the "Enable X11 Forwarding" checkbox and type "localhost:0" in the X display location field. Clicking "Open" will open a terminal window where you can login. ```` @@ -49,7 +55,7 @@ In the X11 Menu check the "Enable X11 Forwarding" checkbox and type "localhost:0 :sync: interactive-windows-command-prompt ```{seealso} -This tutorial assumes that you are already set up with OpenSSH for Windows. Here is a [guide](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui) for setting up OpenSSH for Windows. Note that OpenSSH Server does not have to be running for you to proceed. +This tutorial assumes that you are already set up with OpenSSH for Windows. Here is a [guide for setting up OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui). Note that OpenSSH Server does not have to be running for you to proceed. ``` You can deploy Xming by running the Xlaunch application (or opening the Xlaunch shortcut on your desktop). When prompted to select display settings, select 'Multiple windows' and set the Display number to 0. From there, use the default selections until Xlaunch is finished. @@ -116,7 +122,11 @@ matlab ``` This will start MATLAB on the allocated compute node and display the interface on your local machine via X11 forwarding. The MATLAB window should appear shortly after the command is executed. See the example image below for reference. -![](./interactive_jobs_images/matlab_GUI.png) +```{image} ./interactive_jobs_images/matlab_GUI.png +:alt: A screenshot showing a MATLAB GUI being launched for an interactive terminal session. Instructions for launching MATLAB can be found under the "Running GUI Applications" header. +:align: center +``` + diff --git a/docs/running-jobs/job-arrays.md b/docs/running-jobs/job-arrays.md index 20b8b035..4c9f3925 100644 --- a/docs/running-jobs/job-arrays.md +++ b/docs/running-jobs/job-arrays.md @@ -67,7 +67,7 @@ Also, please be aware that a job array can only be created from a [batch script] ```{important} The tasks in a job array are not guaranteed to run simultaneously or in any specific order. Therefore, you must write your batch script so that each task can run independently. If your tasks must execute in a particular sequence, you may need to include the `--dependency` directive. -Further information on the `--dependency` directive can be found in [SLURM's documentation](https://slurm.schedmd.com/job_array.html#dependencies). +Further information on the `--dependency` directive can be found in [SLURM's Job Array Support](https://slurm.schedmd.com/job_array.html#dependencies) documentation. ``` ## Task Indexes @@ -329,5 +329,5 @@ You can use this method with any program that takes command-line arguments, not ```{seealso} -The content presented in this page uses examples and information provided in the official SLURM Documentation. If you would like to learn more about Job Arrays, please see the [Job Array Support page](https://slurm.schedmd.com/job_array.html). +The content presented in this page uses examples and information provided in the official SLURM Documentation. If you would like to learn more about Job Arrays, please see the [Job Array Support](https://slurm.schedmd.com/job_array.html) page. ``` \ No newline at end of file diff --git a/docs/software/GNUParallel.md b/docs/software/GNUParallel.md index d9808524..1e6be5e9 100644 --- a/docs/software/GNUParallel.md +++ b/docs/software/GNUParallel.md @@ -33,9 +33,9 @@ Now create a job script called `run_hello.sh` that will use GNU Parallel to run as many instances of your python script as you want. Before running GNU Parallel in our script, we need to load the python and GNU Parallel modules. Your job script should look something like this: ```{tip} -This example uses a custom python environment built with conda, +This example uses a custom python environment built with Anaconda, more information on using python or R with conda can be found -[here](./python.md) +[in the python and R tutorial](./python.md) ``` ```bash @@ -49,7 +49,7 @@ more information on using python or R with conda can be found #SBATCH --output gnuparallel.out module purge -module load anaconda +module load miniforge conda activate your_custom_env module load gnu_parallel @@ -97,5 +97,4 @@ Tip: For sufficiently-large workflows one can add the `--joblog` and `--resume` - [https://www.gnu.org/software/parallel/parallel_tutorial.html](https://www.gnu.org/software/parallel/parallel_tutorial.html) - [https://github.com/ResearchComputing/easy_parallelization_htc_primer](https://github.com/ResearchComputing/easy_parallelization_htc_primer) - [https://rcc-uchicago.github.io/user-guide/tutorials/kicp/#gnu-parallel](https://rcc-uchicago.github.io/user-guide/tutorials/kicp/#gnu-parallel) -- [https://rcc.uchicago.edu/docs/tutorials/kicp-tutorials/running-jobs.html](https://rcc.uchicago.edu/docs/tutorials/kicp-tutorials/running-jobs.html) diff --git a/docs/software/alphafold.md b/docs/software/alphafold.md index 6eb17c51..d814697d 100644 --- a/docs/software/alphafold.md +++ b/docs/software/alphafold.md @@ -119,7 +119,7 @@ Loading the AlphaFold 3 module does the following: #### AlphaFold 3 Model Weights ```{important} -Due to license restrictions for AlphaFold 3 model weights, you must read and comply with the [Model Parameters](https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md) and [Outputs](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) Terms of Use. In short, only non-profit activity is allowed, unethical use of the outputs is disallowed and make sure to cite the AlphaFold 3 paper in any publication. To gain access to AlphaFold 3 at CURC, request access to the weights by filling out [this form](https://docs.google.com/forms/d/e/1FAIpQLSfWZAgo1aYk0O4MuAXZj8xRQ8DafeFJnldNOnh_13qAx2ceZw/viewform). You will receive two e-mails. First is acknowledgement of receipt of the request form. The second, in a day or so, is the approval with a link to download the weights. Once you have downloaded them, put them in a filesystem you have access to on Alpine. +Due to license restrictions for AlphaFold 3 model weights, you must read and comply with the [Model Parameters](https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md) and [Outputs](https://github.com/google-deepmind/alphafold3/blob/main/OUTPUT_TERMS_OF_USE.md) Terms of Use. In short, only non-profit activity is allowed, unethical use of the outputs is disallowed and make sure to cite the AlphaFold 3 paper in any publication. To gain access to AlphaFold 3 at CURC, request access to the weights by filling out the [AlphaFold3 Model Parameters Access Form](https://docs.google.com/forms/d/e/1FAIpQLSfWZAgo1aYk0O4MuAXZj8xRQ8DafeFJnldNOnh_13qAx2ceZw/viewform). You will receive two e-mails. First is acknowledgement of receipt of the request form. The second, in a day or so, is the approval with a link to download the weights. Once you have downloaded them, put them in a filesystem you have access to on Alpine. You will need to specify the path to the directory where you save the model weights using the `--model_dir=`. ``` diff --git a/docs/software/containerization.md b/docs/software/containerization.md index 2f13fde6..b4d0769c 100644 --- a/docs/software/containerization.md +++ b/docs/software/containerization.md @@ -287,7 +287,7 @@ The `CMD` tag indicates the default command you wish your container to run (opti The `WORKDIR` tag indicates the directory you wish start in when running the container. -Docker will parse through the Dockerfile and build the image exactly as you’ve specified. There is a large assortment of commands that can be utilized in a Dockerfile including default file transfers, volume mounting, changing the default shell, and more. Read more about creating Dockerfiles here: +Docker will parse through the Dockerfile and build the image exactly as you’ve specified. There is a large assortment of commands that can be utilized in a Dockerfile including default file transfers, volume mounting, changing the default shell, and more. You can learn more on the [Dockerfile Reference](https://docs.docker.com/engine/reference/builder/) page. In the directory with your Dockerfile, you can build your Docker image with the following command: diff --git a/docs/software/gaussian.md b/docs/software/gaussian.md index d21c887e..1aee0e3c 100644 --- a/docs/software/gaussian.md +++ b/docs/software/gaussian.md @@ -6,7 +6,7 @@ Gaussian is available on Alpine and Blanca, only to members of universities that This document describes how to run G16 jobs efficiently on Alpine. It does not attempt to teach how to use Gaussian for solving science/engineering questions. -Good general instructions can be found [here](http://gaussian.com/running/); however some minor modifications are needed when running on Alpine. +Good general instructions can be found on the [Running Gaussian](http://gaussian.com/running/) page; however some minor modifications are needed when running on Alpine. ## Running G16 @@ -19,7 +19,7 @@ _Scratch storage:_ It is important to specify `GAUSS_SCRDIR` to tell G16 where t _Memory:_ The default dynamic memory request in G16 is frequently too small to support the amount of memory that needs to be allocated to efficiently support computations on even modest-sized molecules. If too little memory is requested, the job can crash. Thus, use the `-m` flag in -your `g16` command line (e.g. `-m=48gb`) to specify at least 50% of the amount of memory your Slurm job has requested. +your `g16` command line (e.g. `-m=48gb`) to specify how much memory your G16 run may access. We recommend setting aside at least 50% of the memory your Slurm job has requested. For example, if your Slurm job has requested 60GB of memory, than you would want to assign at least 30GB of memory to G16 (`-m=30gb`). ### Single-node parallel jobs (SMP) @@ -109,7 +109,7 @@ Not all G16 computations scale efficiently beyond a single node! According to th ### G16 on Alpine NVIDIA GPUs -Please see the [Gaussian GPU documentation](https://gaussian.com/running/?tabid=5)] for information on how configure Gaussian input files to run on GPUs. CURC presently does not have example job scripts for running Gaussian on GPUs. The Gaussian GPU documentation will also enable you to determine whether the A100 GPUs in Alpine's `aa100` partition will be effective for your calculations. In many cases, SMP parallelization across all of the cores in an `acpu` node will provide better speedup than offloading computational work to a GPU. +Please see the [Gaussian GPU](https://gaussian.com/running/?tabid=5) documentation for information on how configure Gaussian input files to run on GPUs. CURC presently does not have example job scripts for running Gaussian on GPUs. The Gaussian GPU documentation will also enable you to determine which of the [GPU types](../clusters/alpine/alpine-hardware.md#general-resources-gres) currently supported by Alpine will be effective for your calculations. In many cases, SMP parallelization across all of the cores in an `acpu` node will provide better speedup than offloading computational work to a GPU. ```{warning} G16 can not use the AMD MI100 GPUs in Alpine's `ami100` partition. @@ -130,7 +130,10 @@ $ gview.exe ...this will start the `GaussView` graphical user interface. Your screen should look similar to the following example: -![](software_images/gview_ood.png) +```{image} ./software_images/gview_ood.png +:alt: A screenshot of the Gauss View GUI launched from within Open OnDemand's Core Desktop. Instructions for launching GaussView are provided under the "Running GaussView" header. +:align: center +``` ## Sample input file diff --git a/docs/software/matlab.md b/docs/software/matlab.md index 8a9d946e..f87c988e 100644 --- a/docs/software/matlab.md +++ b/docs/software/matlab.md @@ -41,7 +41,7 @@ OnDemand. CURC OnDemand is a browser-based, integrated, single access point for HPC resources. It includes access to interactive apps such as Matlab, a virtual desktop, and more. - You can find instructions to start an interactive Matlab session in our [OnDemand documentation](../open_ondemand/matlab.md). + You can find instructions to start an interactive Matlab session in our [OnDemand Matlab](../open_ondemand/matlab.md) documentation. 2. Interactive SLURM job: @@ -133,9 +133,7 @@ This file has a few basic parts: by bash, but will be read by Slurm. Of particular note is the `--output` parameter which specifies the file where stderr and stdout (including the output from our Matlab script) will be - written. For a description of the Slurm parameters, [please see the - general Slurm documentation - here](https://slurm.schedmd.com/sbatch.html) + written. For a description of the Slurm parameters, [please see the Slurm documentation on sbatch](https://slurm.schedmd.com/sbatch.html) 3. The lines beginning with `module purge` remove any unneeded software and ensure that the appropriate Matlab module is loaded on diff --git a/docs/software/python.md b/docs/software/python.md index 3a80e06e..38485bed 100644 --- a/docs/software/python.md +++ b/docs/software/python.md @@ -44,7 +44,7 @@ Follow these steps from a Research Computing terminal session on an Alpine Run the following command to load the base Anaconda software: ``` -[johndoe@c3cpu-a7-u19-1 ~]$ module load anaconda +[johndoe@c3cpu-a7-u19-1 ~]$ module load miniforge ``` ```{note} @@ -116,7 +116,7 @@ In the examples below the environment is created in `/projects/$USER/software/an __1. Initialize Anaconda if you haven't already done so:__ ``` -[johndoe@c3cpu-a7-u19-1 ~]$ module load anaconda +[johndoe@c3cpu-a7-u19-1 ~]$ module load miniforge (base) [johndoe@c3cpu-a7-u19-1 ~]$ ``` @@ -175,7 +175,7 @@ If you encounter a `--- Please select a CRAN mirror for use in this session ---` >install.packages('RMySQL', repos='http://cran.us.r-project.org') ``` -For more information on managing conda environments, [check out Anaconda's documentation here.](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) +For more information on managing conda environments, check out Anaconda's documentation on [managing environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html). ### Basic Conda commands to get you started: diff --git a/docs/software/rapids.md b/docs/software/rapids.md index 900aaa72..054b8e17 100644 --- a/docs/software/rapids.md +++ b/docs/software/rapids.md @@ -1,11 +1,15 @@ -# RAPIDS +# CUDA-X (Formerly RAPIDS) -[NVIDIA RAPIDS](https://rapids.ai/) allows researchers to adapt existing CPU-based Python data analytics and machine learning workflows for GPU acceleration with relatively small code changes. +[NVIDIA CUDA-X](https://developer.nvidia.com/topics/ai/data-science/cuda-x-for-data-science?size=n_6_n&sort-field=featured&sort-direction=desc) allows researchers to adapt existing CPU-based Python data analytics and machine learning workflows for GPU acceleration with relatively small code changes. -## Using our RAPIDS Environment +```{note} +Beginning August 11, 2026, the NVIDIA RAPIDS brand will transition to NVIDIA CUDA-X. All library functionality remains the same but, during this transition, much of the documentation will continue reference RAPIDS and/or CUDA-X. Please note that both refer to the same set of NVIDIA supported tools and libraries. +``` + +## Using our CUDA-X Environment ```{note} -This environment contains only the basic packages required to run RAPIDS and Python 3.13. If you'd like to install additional packages for use alongside RAPIDS, please follow the instructions at the bottom to create your own custom environment. +This environment contains only the basic packages required to run CUDA-X and Python 3.13. If you'd like to install additional packages for use alongside CUDA-X, please follow the instructions at the bottom to create your own custom environment. ``` 1. Start an interactive session on an NVIDIA GPU compute node, or create a batch script. @@ -26,12 +30,12 @@ module load miniforge mamba activate /curc/sw/conda_env/rapids-25.10 ``` -4. Start using RAPIDS in your Python code! The [RAPIDS user guide](https://docs.rapids.ai/user-guide) has some great examples. +4. Start using CUDA-X in your Python code! The [CUDA-X user guide](https://docs.nvidia.com/datascience/user-guide/) has some great examples. -## Creating a Custom RAPIDS Environment +## Creating a Custom CUDA-X Environment ```{note} -The example below is for installing RAPIDS version 25.10. Information on installing the most recent version can be found in the [RAPIDS installation guide](https://docs.rapids.ai/install/). +The example below is for installing CUDA-X version 26.08. Information on installing the most recent version can be found in the [CUDA-X installation guide](https://docs.nvidia.com/datascience/install/). ``` 1. Start an interactive session on a GPU node: @@ -45,17 +49,16 @@ sinteractive --partition=aa100 --qos=gpu-testing --ntasks=10 --gres=gpu:a100_3g. module load miniforge ``` -5. Install RAPIDS: +5. Install CUDA-X: ``` -mamba create -n rapids-25.10 -c rapidsai -c conda-forge -c nvidia \ - rapids=25.10 python=3.13 'cuda-version>=12.0,<=12.9' +mamba create -n rapids-26.08 -c rapidsai -c conda-forge rapids=26.08 python=3.14 'cuda-version>=13.0,<=13.3' ``` 7. Activate the environment: ``` -mamba activate rapids-25.10 +mamba activate rapids-26.08 ``` -8. Start using RAPIDS in your Python code! The [RAPIDS user guide](https://docs.rapids.ai/user-guide) has some great examples. +8. Start using CUDA-X in your Python code! The [CUDA-X user guide](https://docs.nvidia.com/datascience/user-guide/) has some great examples. diff --git a/docs/software/sratoolkit.md b/docs/software/sratoolkit.md index 2a20c088..18281239 100644 --- a/docs/software/sratoolkit.md +++ b/docs/software/sratoolkit.md @@ -33,18 +33,29 @@ module load sra-toolkit vdb-config -i ``` -A configuration window will open in your terminal. +A configuration window will open in your terminal, with a set of file operations listed across the top of the window (save, exit, discard, and default). The primary tabs for the configuration window are MAIN, CACHE, AWS, GCP, NET, and TOOLS. The first letter of each file operation and tab is underlined, which indicates the key stroke needed to select each. The configuration window's elements can also be navigated by pressing the `tab` key and then activted by pressing the `enter` key. + +```{image} ./software_images/config_window.png +:alt: A screenshot of the sra toolkit configuration terminal window, showing the first option on the MAIN tab has been selected. That option is "Enable Remote Access". The configuration window is described in detail under the header "Configuring SRA Toolkit" +:align: center +``` -![](./software_images/config_window.png) Navigate to the CACHE tab using your tab key. Press enter when the red cursor lands on CACHE. Keep pressing tab until the red cursor is on `location of user-repository: [ choose ]`. -![](./software_images/navigating_to_cache_location.png) +```{image} ./software_images/navigating_to_cache_location.png +:alt: A screenshot of the sra toolkit configuration terminal window, showing the first option on the CACHE tab has been enabled, "enable local file-caching", and the active cursor set to "location of user-repository". The configuration window is described in detail under the header "Configuring SRA Toolkit". +:align: center +``` Press enter. A `select directory` window will appear. -![](./software_images/file_navigator.png) +```{image} ./software_images/file_navigator.png +:alt: A screenshot of the sra toolkit's file browser, showing a default directory path of "/home/lrf20@xsede.org" and a list of directories that only includes "[..]". On the bottom of the window are options for OK, Cancel, Goto, and Create Dir. +:align: center +``` + Tab over to `[ Goto ]` and press enter. A new pop-up window will appear. Delete the existing file path (e.g., `/home/lrf20@xsede.org`) using your delete/backspace key and enter the absolute path of your new `sra` cache directory. @@ -52,16 +63,26 @@ the absolute path of your new `sra` cache directory. `vdb-config -i` requires your specified directory to exist (it won't create it for you) and be an *empty* directory. You must also have read/write permissions. The program will not save your selection if these criteria aren't met. -![](./software_images/select_new_cache_dir_2.png) +```{image} ./software_images/select_new_cache_dir_2.png +:alt: A screenshot of the sra toolkit's file browser, showing a secondary window for the "goto path" configuration. The following path has been entered, "/scratch/alpine/lrf20@xsede.org/sra". The options OK and Cancel are listed at the bottom of the "goto path" window. +:align: center +``` Tab over to `[ OK ]` and press enter. Confirm the directory listed at the top of the 'select directory' window says `/scratch/alpine/` Tab over to `[ OK ]` and press enter. -![](./software_images/see_new_path.png) +```{image} ./software_images/see_new_path.png +:alt: A screenshot of the sra toolkit's file browser, showing a directory path of "/scratch/alpine/lrf20@xsede.org/sra" and a list of directories that only includes "[..]". On the bottom of the window are options for OK, Cancel, Goto, and Create Dir. +:align: center +``` A window asking you to confirm the change will appear. Select `[ yes ]`. -![](./software_images/confirm_new_dir.png) +```{image} ./software_images/confirm_new_dir.png +:alt: A screenshot of the sra toolkit configuration terminal window, showing a secondary window to confirm "do you want to change the location to '/scratch/alpine/lrf20@xsede.org/sra'" with the option "yes" selected. The configuration window is described in detail under the header "Configuring SRA Toolkit" +:align: center +``` + Tab over to `[ save ]` and press enter. A window will appear telling you the changes have been saved successfully. Select `[ ok ]`. diff --git a/docs/software/uv.md b/docs/software/uv.md index 347030f7..4610c97e 100644 --- a/docs/software/uv.md +++ b/docs/software/uv.md @@ -140,4 +140,4 @@ python myscript.py - `uv` Documentation: [https://astral.sh/blog/uv/](https://astral.sh/blog/uv/) -- Python `venv` Documentation: [https://docs.python.org/3/library/venv.html](https://astral.sh/blog/uv/) \ No newline at end of file +- Python `venv` Documentation: [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html) \ No newline at end of file