<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/umiacs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jolmsted</id>
	<title>UMIACS - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/umiacs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jolmsted"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php/Special:Contributions/Jolmsted"/>
	<updated>2026-06-02T02:13:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=12796</id>
		<title>Nexus</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=12796"/>
		<updated>2025-09-05T15:29:53Z</updated>

		<summary type="html">&lt;p&gt;Jolmsted: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nexus is the combined scheduler of resources in UMIACS.  The resource manager for Nexus is [[SLURM]].  Resources are arranged into partitions where users are able to schedule computational jobs.  Users are arranged into a number of SLURM accounts based on faculty, lab, or center investments.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
All accounts in UMIACS are sponsored.  If you don&#039;t already have a UMIACS account, please see [[Accounts]] for information on getting one.  You need a full UMIACS account (not a [[Accounts/Collaborator | collaborator account]]) in order to access Nexus.&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
Your access to submission nodes (alternatively called login nodes) for Nexus computational resources is determined by your account sponsor&#039;s department, center, or lab affiliation.  You can log into the [https://intranet.umiacs.umd.edu/directory/cr/ UMIACS Directory CR application] and select the Computational Resource (CR) in the list that has the prefix &amp;lt;code&amp;gt;nexus&amp;lt;/code&amp;gt;.  The Hosts section lists your available submission nodes - generally a pair of nodes of the format &amp;lt;tt&amp;gt;nexus&amp;lt;department, lab, or center abbreviation&amp;gt;[00,01]&amp;lt;/tt&amp;gt;, e.g., &amp;lt;tt&amp;gt;nexusgroup00&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nexusgroup01&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Once you have identified your submission nodes, you can [[SSH]] into them [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0016076 after connecting to UMD&#039;s GlobalProtect VPN].  From there, you are able to submit to the cluster via our [[SLURM]] workload manager.  You need to make sure that your submitted jobs have the correct account, partition, and qos.&lt;br /&gt;
&lt;br /&gt;
== Jobs ==&lt;br /&gt;
[[SLURM]] jobs are [[SLURM/JobSubmission | submitted]] by either &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sbatch&amp;lt;/code&amp;gt; depending if you are doing an interactive job or batch job, respectively.  You need to provide the where/how/who to run the job and specify the resources you need to run with.&lt;br /&gt;
&lt;br /&gt;
For the who/where/how, you may be required to specify &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--partition&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; (respectively) to be able to adequately submit jobs to the Nexus.&lt;br /&gt;
&lt;br /&gt;
For resources, you may need to specify &amp;lt;code&amp;gt;--time&amp;lt;/code&amp;gt; for time, &amp;lt;code&amp;gt;--cpus-per-task&amp;lt;/code&amp;gt; for CPUs, &amp;lt;code&amp;gt;--mem&amp;lt;/code&amp;gt; for RAM, and &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt; for GPUs in your submission arguments to meet your requirements.  There are defaults for all four; if you don&#039;t specify something, you will get the default value for that resource, which is minimal (e.g., by default, NO GPUs are included if you do not specify &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt;).  For more information about submission flags for GPU resources, see [[SLURM/JobSubmission#Requesting_GPUs | here]].  You may also use &amp;lt;code&amp;gt;--ntasks&amp;lt;/code&amp;gt; to specify the number of parallel processes to run, with each task having its own set of the resources specified above. You can run &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt; on your submission node for a complete list of available submission arguments.&lt;br /&gt;
&lt;br /&gt;
For a list of available GPU types on Nexus and their specs, please see [[Nexus/GPUs]].&lt;br /&gt;
&lt;br /&gt;
For details on how the network for Nexus is architected, please see [[Nexus/Network]]. This can be important if you wish to optimize performance of your jobs.&lt;br /&gt;
&lt;br /&gt;
=== Interactive ===&lt;br /&gt;
Once logged into a submission node, you can run simple interactive jobs.  If your session is interrupted from the submission node, the job will be killed.  As such, we encourage use of a terminal multiplexer such as [[Tmux]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --pty --cpus-per-task=4 --mem=2gb --gres=gpu:1 bash&lt;br /&gt;
srun: Job account was unset; set to user default of &#039;nexus&#039;&lt;br /&gt;
srun: Job partition was unset; set to cluster default of &#039;tron&#039;&lt;br /&gt;
srun: Job QoS was unset; set to association default of &#039;default&#039;&lt;br /&gt;
srun: Job time limit was unset; set to partition default of 60 minutes&lt;br /&gt;
srun: job 1 queued and waiting for resources&lt;br /&gt;
srun: job 1 has been allocated resources&lt;br /&gt;
$ hostname&lt;br /&gt;
tron62.umiacs.umd.edu&lt;br /&gt;
$ nvidia-smi -L&lt;br /&gt;
GPU 0: NVIDIA GeForce RTX 2080 Ti (UUID: GPU-daad6a04-a2ce-1183-ce53-b267048f750a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Batch ===&lt;br /&gt;
Batch jobs are scheduled with a script file with an optional ability to embed job scheduling parameters via variables that are defined by &amp;lt;code&amp;gt;#SBATCH&amp;lt;/code&amp;gt; lines at the top of the file.  You can find some examples in our [[SLURM/JobSubmission]] documentation.&lt;br /&gt;
&lt;br /&gt;
= Partitions = &lt;br /&gt;
The SLURM resource manager uses partitions to act as job queues which can restrict size, time and user limits. The Nexus has a number of different partitions of resources. Different Centers, Labs, and Faculty are able to invest in computational resources that are restricted to approved users through these partitions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by all non-[[ClassAccounts |class account]] users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/Tron]] - Pool of resources available to all non-class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
* Scavenger - [https://slurm.schedmd.com/preempt.html Preemption] partition that contains [https://en.wikipedia.org/wiki/X86-64 x86_64] architecture nodes from multiple other partitions. More resources are available to schedule simultaneously than in other partitions, however jobs are subject to preemption rules. You are responsible for ensuring your jobs handle this preemption correctly. The SLURM scheduler will simply restart a preempted job with the same submission arguments when it is available to run again. For an overview of things you can check within scripts to determine if your job was preempted/resumed, see [[SLURM/Preemption]].&lt;br /&gt;
* Scavenger (aarch64) - Preemption partition identical in design to &amp;lt;tt&amp;gt;scavenger&amp;lt;/tt&amp;gt;, but only contains [https://en.wikipedia.org/wiki/AArch64 aarch64] architecture nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by [[ClassAccounts]]:&#039;&#039;&#039;&lt;br /&gt;
* [[ClassAccounts | Class]] - Pool of resources available to class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by specific lab/center users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/CBCB]] - CBCB lab pool available for CBCB lab members.&lt;br /&gt;
* [[Nexus/CLIP]] - CLIP lab pool available for CLIP lab members.&lt;br /&gt;
* [[Nexus/CML]] - CML lab pool available for CML lab members.&lt;br /&gt;
* [[Nexus/GAMMA]] - GAMMA lab pool available for GAMMA lab members.&lt;br /&gt;
* [[Nexus/MBRC]] - MBRC lab pool available for MBRC lab members.&lt;br /&gt;
* [[Nexus/MC2]] - MC2 lab pool available for MC2 lab members.&lt;br /&gt;
* [[Nexus/QuICS]] - QuICS lab pool available for QuICS lab members.&lt;br /&gt;
* [[Nexus/Vulcan]] - Vulcan lab pool available for Vulcan lab members.&lt;br /&gt;
&lt;br /&gt;
You can view the partitions that you have access to by using the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. By default, the command will show only the partitions that are available to you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------               &lt;br /&gt;
               scavenger               scavenger                      scavenger   UNLIMITED                brigid[16-19]                                                                                                             &lt;br /&gt;
                                                                                                             cbcb[00-29]                                                                                                             &lt;br /&gt;
                                                                                                             clip[00-13]                                                                                               &lt;br /&gt;
                                                                                               cml[00,02-13,15-28,30-33]                                                                                                     &lt;br /&gt;
                                                                                                     cmlcpu[00-04,06-07]                                                                                                         &lt;br /&gt;
                                                                                                         gammagpu[00-21]                                                                                               &lt;br /&gt;
                                                                                               legacy[00-11,13-28,30-36]                                                                                                        &lt;br /&gt;
                                                                                                        legacygpu[00-07]                                                                                                                 &lt;br /&gt;
                                                                                                                 quics00                                                                                                       &lt;br /&gt;
                                                                                                       tron[00-44,46-69]                                                                                                           &lt;br /&gt;
                                                                                                           vulcan[00-45]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
       scavenger-aarch64               scavenger              scavenger-aarch64   UNLIMITED                 oasis[00-39]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------                    &lt;br /&gt;
                    tron                   nexus                        default   UNLIMITED            tron[00-44,46-69]                                                                           &lt;br /&gt;
                                                                           high                                                                                                                  &lt;br /&gt;
                                                                         medium                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see information for all of the partitions, you can use the &amp;lt;code&amp;gt;show_partitions --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions --all&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------                    &lt;br /&gt;
                    cbcb                    cbcb                        default   UNLIMITED            cbcb[00-20,22-29]                                                                         &lt;br /&gt;
                                                                         medium                legacy[00-11,13-28,30-36]                                                                           &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
               cbcb-heng               cbcb-heng                        default   UNLIMITED                  cbcb[26-29]                                                                         &lt;br /&gt;
                                                                         medium                                                                                                                     &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------        &lt;br /&gt;
        cbcb-interactive                    cbcb                    interactive   UNLIMITED                       cbcb21&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Quality of Service (QoS) =&lt;br /&gt;
SLURM uses Quality of Service (QoS) both to provide limits on job sizes (termed by us as &amp;quot;job QoS&amp;quot;) as well as to limit resources used by all jobs running in a partition, either per user or per group (termed by us as &amp;quot;partition QoS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Job QoS ===&lt;br /&gt;
Job QoS are used to provide limits on the size of job that you can run. You should try to allocate only the resources your job actually needs, as resources that each of your jobs schedules are counted against your [[SLURM/Priority#Fair-share | fair-share priority]] in the future.&lt;br /&gt;
* default - Default job QoS. Limited to 4 CPU cores, 1 GPU, and 32GB RAM per job.  The maximum wall time per job is 3 days.&lt;br /&gt;
* medium - Limited to 8 CPU cores, 2 GPUs, and 64GB RAM per job.  The maximum wall time per job is 2 days.&lt;br /&gt;
* high - Limited to 16 CPU cores, 4 GPUs, and 128GB RAM per job.  The maximum wall time per job is 1 day.&lt;br /&gt;
* scavenger - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  576 total CPU cores, 72 total GPUs, and 2304GB total RAM are permitted simultaneously across all of your jobs running with this job QoS.  This job QoS is paired 1-1 with the scavenger partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt; in your submission arguments.  Do not include any job QoS argument other than &amp;lt;code&amp;gt;--qos=scavenger&amp;lt;/code&amp;gt; (optional) or submission will fail.&lt;br /&gt;
* scavenger-aarch64 - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  1600 total CPU cores and 281140MB total RAM are permitted simultaneously across all of your jobs running with this job QoS.  This job QoS is paired 1-1 with the scavenger-aarch64 partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger-aarch64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--qos=scavenger-aarch64&amp;lt;/code&amp;gt; in your submission arguments.&lt;br /&gt;
&lt;br /&gt;
You can display these job QoS from the command line using the &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt; command.  By default, the command will only show job QoS that you can access.  The above five job QoS are the ones that everyone can access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU &lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------ &lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G                                          &lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G                                          &lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G                                          &lt;br /&gt;
           scavenger  3-00:00:00                                           cpu=576,gres/gpu=72,mem=2304G &lt;br /&gt;
   scavenger-aarch64  3-00:00:00                                                    cpu=1600,mem=281140M &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all job QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_qos --all&amp;lt;/code&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
             cml-cpu  7-00:00:00                                        8&lt;br /&gt;
         cml-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
            cml-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
       cml-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
          cml-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       cml-scavenger  3-00:00:00                                                             gres/gpu=24&lt;br /&gt;
       cml-very_high  1-12:00:00     cpu=32,gres/gpu=8,mem=256G         8                    gres/gpu=12&lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G&lt;br /&gt;
     gamma-huge-long 10-00:00:00    cpu=32,gres/gpu=16,mem=256G&lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G&lt;br /&gt;
             highmem 21-00:00:00                 cpu=128,mem=2T&lt;br /&gt;
           huge-long 10-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
         interactive    12:00:00                 cpu=4,mem=128G&lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G&lt;br /&gt;
        oasis-exempt 10-00:00:00                                                      cpu=160,mem=28114M&lt;br /&gt;
           scavenger  3-00:00:00                                           cpu=576,gres/gpu=72,mem=2304G&lt;br /&gt;
   scavenger-aarch64  3-00:00:00                                                    cpu=1600,mem=281140M&lt;br /&gt;
         tron-exempt              cpu=32,gres/gpu=8,mem=383030M         1&lt;br /&gt;
          vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4&lt;br /&gt;
      vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
       vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2&lt;br /&gt;
         vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
    vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
       vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
    vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
vulcan-scavenger-mu+  3-00:00:00  cpu=288,gres/gpu=72,mem=1152G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You are able to submit to any partition that is listed in the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. If you need to use an account other than the default account &amp;lt;tt&amp;gt;nexus&amp;lt;/tt&amp;gt;, you will need to specify it via the &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt; submission argument.&lt;br /&gt;
&lt;br /&gt;
=== Partition QoS ===&lt;br /&gt;
Partition QoS are used to limit resources used by all jobs running in a partition, either per user (MaxTRESPU) or per group (GrpTRES).&lt;br /&gt;
&lt;br /&gt;
To view partition QoS, use the &amp;lt;code&amp;gt;show_partition_qos&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos&lt;br /&gt;
                Name MaxSubmitPU                      MaxTRESPU              GrpTRES&lt;br /&gt;
-------------------- ----------- ------------------------------ --------------------&lt;br /&gt;
           scavenger         500  cpu=576,gres/gpu=72,mem=2304G&lt;br /&gt;
   scavenger-aarch64         500           cpu=1600,mem=281140M&lt;br /&gt;
                tron         500     cpu=32,gres/gpu=4,mem=256G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all partition QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partition_qos --all&amp;lt;/code&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all&lt;br /&gt;
                Name MaxSubmitPU                      MaxTRESPU              GrpTRES&lt;br /&gt;
-------------------- ----------- ------------------------------ --------------------&lt;br /&gt;
                cbcb         500                                 cpu=1228,mem=48003G&lt;br /&gt;
           cbcb-heng         500&lt;br /&gt;
    cbcb-interactive         500&lt;br /&gt;
               class         500     cpu=32,gres/gpu=4,mem=256G&lt;br /&gt;
                clip         500                                   cpu=564,mem=5590G&lt;br /&gt;
                 cml         500                                 cpu=1096,mem=10890G&lt;br /&gt;
             cml-cpu         500&lt;br /&gt;
         cml-furongh         500&lt;br /&gt;
       cml-scavenger         500                    gres/gpu=24&lt;br /&gt;
           cml-wriva         500&lt;br /&gt;
            cml-zhou         500&lt;br /&gt;
               gamma         500                                   cpu=616,mem=5204G&lt;br /&gt;
                mbrc         500                                   cpu=240,mem=2345G&lt;br /&gt;
                 mc2         500                                   cpu=312,mem=3092G&lt;br /&gt;
               oasis         500&lt;br /&gt;
               quics         500                                   cpu=328,mem=3484G&lt;br /&gt;
           scavenger         500  cpu=576,gres/gpu=72,mem=2304G&lt;br /&gt;
   scavenger-aarch64         500           cpu=1600,mem=281140M&lt;br /&gt;
                tron         500     cpu=32,gres/gpu=4,mem=256G&lt;br /&gt;
              vulcan         500                                 cpu=1272,mem=11710G&lt;br /&gt;
       vulcan-ampere         500&lt;br /&gt;
          vulcan-cpu         500&lt;br /&gt;
       vulcan-ramani         500&lt;br /&gt;
    vulcan-scavenger         500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: These QoS cannot be used directly when submitting jobs, with the exception of the scavenger QoS (i.e., they are not in the AllowQos field for their respective partition). Partition QoS limits apply to all jobs running on a given partition, regardless of what job QoS is used.&lt;br /&gt;
&lt;br /&gt;
For example, in the default non-preemption partition (&amp;lt;tt&amp;gt;tron&amp;lt;/tt&amp;gt;), you are restricted to 32 total CPU cores, 4 total GPUs, and 256GB total RAM at once across all jobs you have running in the partition.&lt;br /&gt;
&lt;br /&gt;
Lab/group-specific partitions may also have their own user limits, and/or may also have group limits on the total number of resources consumed simultaneously by all users that are using their partition, codified by the line in the output above that matches their lab/group name. Note that the values listed above in the two &amp;quot;TRES&amp;quot; columns are not fixed and may fluctuate per-partition as more resources are added to or removed from each partition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All partitions also only allow a maximum of 500 submitted (running (R) or pending (PD)) jobs per user in the partition simultaneously.&#039;&#039;&#039; This is to prevent excess pending jobs causing [https://slurm.schedmd.com/sched_config.html#backfill backfill] issues with the SLURM scheduler.&lt;br /&gt;
* If you need to submit more than 500 jobs in batch at once, you can develop and run an &amp;quot;outer submission script&amp;quot; that repeatedly attempts to run an &amp;quot;inner submission script&amp;quot; (your original submission script) to submit jobs in the batch periodically, until all job submissions are successful. The outer submission script should use looping logic to check if you are at the max job limit and should then retry submission after waiting for some time interval.&lt;br /&gt;
: An example outer submission script is as follows. In this example, &amp;lt;code&amp;gt;example_inner.sh&amp;lt;/code&amp;gt; is your inner submission script and is not an [[SLURM/ArrayJobs | array job]], and you want to run 1000 jobs. If your inner submission script is an array job, adjust the number of jobs accordingly. Array jobs must be of size 500 or less.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
numjobs=1000&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $numjobs ]&lt;br /&gt;
do&lt;br /&gt;
  while [[ &amp;quot;$(sbatch example_inner.sh 2&amp;gt;&amp;amp;1)&amp;quot; =~ &amp;quot;QOSMaxSubmitJobPerUserLimit&amp;quot; ]]&lt;br /&gt;
  do&lt;br /&gt;
    echo &amp;quot;Currently at maximum job submissions allowed.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Waiting for 5 minutes before trying to submit more jobs.&amp;quot;&lt;br /&gt;
    sleep 300&lt;br /&gt;
  done&lt;br /&gt;
  i=$(( $i + 1 ))&lt;br /&gt;
  echo &amp;quot;Submitted job $i of $numjobs&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is suggested that you run the outer submission script in a [[Tmux]] session to keep the terminal window executing it from being interrupted.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
All network storage available in Nexus is currently [[NFS]] based, and comes in a few different flavors. Compute nodes also have local scratch storage that can be used.&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
== Scratch Directories ==&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Nexus compute infrastructure:&lt;br /&gt;
* Network scratch directories&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
Please note that [[ClassAccounts | class accounts]] do not have network scratch directories.&lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directories ===&lt;br /&gt;
You are allocated 200GB of scratch space via NFS from &amp;lt;code&amp;gt;/fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;USERNAME&amp;gt; is your UMIACS username.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;[[Automounter | automounted]]&#039;&#039;&#039;; you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access it.&lt;br /&gt;
&lt;br /&gt;
You can view your quota usage by running &amp;lt;code&amp;gt;df -h /fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You may request a permanent increase of up to 400GB total space without any faculty approval by [[HelpDesk | contacting staff]].  If you need space beyond 400GB, you will need faculty approval and/or a [[#Project_Allocations | project allocation]] for this. If you choose to increase your scratch space beyond 400GB, the increased space is also subject to the 270 TB days limit mentioned in the project allocation section before we check back in for renewal. For example, if you request 1.4TB total space, you may have this for 270 days (1TB beyond the 400GB permanent increase). The amount increased beyond 400GB will also count against your faculty member&#039;s 20TB total storage limit mentioned below.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission, data management, and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directories ===&lt;br /&gt;
Each computational node that you can schedule compute jobs on also has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc. and &#039;&#039;&#039;are not backed up or protected in any way.&#039;&#039;&#039;  These directories are almost always more performant than any other storage available to the job as they are mounted from disks directly attached to the compute node.  However, you must stage your data within the confines of your job and extract the relevant resultant data elsewhere before the end of your job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month during our [[MonthlyMaintenanceWindow | monthly maintenance windows]].  Please make sure you secure any resultant data you wish to keep from these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Faculty Allocations ==&lt;br /&gt;
Each faculty member can be allocated 1TB of permanent lab space upon request.  We can also support grouping these individual allocations together into larger center, lab, or research group allocations if desired by the faculty.  Please [[HelpDesk | contact staff]] to inquire.&lt;br /&gt;
&lt;br /&gt;
Lab space storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
== Project Allocations ==&lt;br /&gt;
Project allocations are available per user for 270 TB days; you can have a 1TB allocation for up to 270 days, a 3TB allocation for 90 days, etc..&lt;br /&gt;
&lt;br /&gt;
A single faculty member can not have more than 20TB of project allocations across all of their sponsored accounts active simultaneously. Network scratch allocation space increases beyond the 400GB permanent maximum also have the increase count against this limit (i.e., a 1TB network scratch allocation would have 600GB counted towards this limit).&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
The maximum allocation length you can request is 540 days (500GB space) and the maximum storage space you can request is 9TB (30 day length).&lt;br /&gt;
&lt;br /&gt;
To request an allocation, please [[HelpDesk | contact staff]] with the faculty member(s) that the project is under involved in the conversation.  Please include the following details:&lt;br /&gt;
* Project Name (short)&lt;br /&gt;
* Description&lt;br /&gt;
* Size (1TB, 2TB, etc.)&lt;br /&gt;
* Length in days (270 days, 135 days, etc.)&lt;br /&gt;
* Other user(s) that need to access the allocation, if any&lt;br /&gt;
&lt;br /&gt;
These allocations are available via &amp;lt;code&amp;gt;/fs/nexus-projects/&amp;lt;project name&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;Renewal is not guaranteed to be available due to limits on the amount of total storage.&#039;&#039;&#039;  Near the end of the allocation period, staff will contact you and ask if you are still in need of the storage allocation.  If renewal is available, you can renew for up to another 270 TB days with reapproval from the original faculty approver.&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
== Datasets ==&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/nexus-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Nexus datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Nexus here].&lt;/div&gt;</summary>
		<author><name>Jolmsted</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/GAMMA&amp;diff=12792</id>
		<title>Nexus/GAMMA</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/GAMMA&amp;diff=12792"/>
		<updated>2025-08-28T17:25:29Z</updated>

		<summary type="html">&lt;p&gt;Jolmsted: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://gamma.umd.edu/ GAMMA] lab has a partition of GPU nodes available in the [[Nexus]]. Only GAMMA lab members are able to run non-interruptible jobs on these nodes.&lt;br /&gt;
&lt;br /&gt;
=Access=&lt;br /&gt;
You can always find out what hosts you have access to submit via the [[Nexus#Access]] page.  The GAMMA lab in particular has a special submission node that has additional local storage available.&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusgamma00.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please do not run anything on the submission node. Always allocate yourself machines on the compute nodes (see instructions below) to run any job.&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
GAMMA users have access to all of the [[Nexus#Quality_of_Service_.28QoS.29 | standard job QoSes]] in the &amp;lt;code&amp;gt;gamma&amp;lt;/code&amp;gt; partition using the &amp;lt;code&amp;gt;gamma&amp;lt;/code&amp;gt; account.&lt;br /&gt;
&lt;br /&gt;
The additional job QoSes for the GAMMA partition specifically are:&lt;br /&gt;
* &amp;lt;code&amp;gt;huge-long&amp;lt;/code&amp;gt;: Allows for longer jobs using higher overall resources.&lt;br /&gt;
* &amp;lt;code&amp;gt;gamma-huge-long&amp;lt;/code&amp;gt;: Allows for longer jobs using higher overall resources, with even more available GPUs per job.&lt;br /&gt;
&lt;br /&gt;
Please note that the partition has a &amp;lt;code&amp;gt;GrpTRES&amp;lt;/code&amp;gt; limit of 100% of the available cores/RAM on the partition-specific nodes in aggregate plus 50% of the available cores/RAM on legacy## nodes in aggregate, so your job may need to wait if all available cores/RAM (or GPUs) are in use.&lt;br /&gt;
&lt;br /&gt;
==Time Limit==&lt;br /&gt;
There is a 12 hour time limit on interactive jobs in the gamma partition.  If you need to run longer jobs, you will need to modify your workflow into a job that can be submitted as a batch script.&lt;br /&gt;
&lt;br /&gt;
=Compute Nodes=&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Nodenames&lt;br /&gt;
! Type&lt;br /&gt;
! Quantity&lt;br /&gt;
! CPU cores per node&lt;br /&gt;
! Memory per node&lt;br /&gt;
! GPUs per node&lt;br /&gt;
|-&lt;br /&gt;
|gammagpu[00-04,06-09]&lt;br /&gt;
|A5000 GPU Node&lt;br /&gt;
|9&lt;br /&gt;
|32&lt;br /&gt;
|256GB&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|gammagpu05&lt;br /&gt;
|A4000 GPU Node&lt;br /&gt;
|1&lt;br /&gt;
|32&lt;br /&gt;
|256GB&lt;br /&gt;
|8&lt;br /&gt;
|-&lt;br /&gt;
|gammagpu[10-17]&lt;br /&gt;
|A6000 GPU Node&lt;br /&gt;
|8&lt;br /&gt;
|16&lt;br /&gt;
|128GB&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|gammagpu[18-21]&lt;br /&gt;
|L40S GPU Node&lt;br /&gt;
|4&lt;br /&gt;
|32&lt;br /&gt;
|256GB&lt;br /&gt;
|4&lt;br /&gt;
|- class=&amp;quot;sortbottom&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
!Total&lt;br /&gt;
|22&lt;br /&gt;
|576&lt;br /&gt;
|4608GB&lt;br /&gt;
|128&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Network=&lt;br /&gt;
The network infrastructure supporting the GAMMA partition consists of:&lt;br /&gt;
# One pair of network switches connected to each other via dual 100GbE links for redundancy, serving the following compute nodes:&lt;br /&gt;
#* gammagpu[00-19]: Two 100GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
#* gammagpu[20-21]: One 100GbE link per node. One of the two nodes links to the first switch in the pair, and the other links to the second switch in the pair. These nodes do not have redundant links because the switches are currently at port capacity.&lt;br /&gt;
&lt;br /&gt;
The fileserver hosting all GAMMA [[Nexus/GAMMA#Project_Directories | project]], [[Nexus/GAMMA#Scratch_Directories | scratch]], and [[Nexus/GAMMA#Datasets | dataset]] allocations first connects to the first pair of switches mentioned [[Nexus/CML#Network | here (CML&#039;s page&#039;s network section)]] and then to a pair of intermediary switches before reaching the compute nodes. The last hop from the pair of intermediary switches to the first pair of switches mentioned on this page is via eight 100GbE links, two to each switch in a set of four intermediary switches for redundancy and increased bandwidth.&lt;br /&gt;
&lt;br /&gt;
For a broader overview of the network infrastructure supporting the Nexus cluster, please see [[Nexus/Network]].&lt;br /&gt;
&lt;br /&gt;
=Example=&lt;br /&gt;
From &amp;lt;code&amp;gt;nexusgamma00.umiacs.umd.edu&amp;lt;/code&amp;gt; you can run the following example to submit an interactive job.  Please note that you need to specify the &amp;lt;code&amp;gt;--partition&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt;.  Please refer to our [[SLURM]] documentation about about how to further customize your submissions including making a batch submission.  The following command will allocate 8 GPUs for 2 days in an interactive session.  Change parameters accordingly to your needs.  We discourage use of srun and promote use of sbatch for fair use of GPUs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --pty --gres=gpu:8 --account=gamma --partition=gamma --qos=huge-long bash&lt;br /&gt;
$ hostname&lt;br /&gt;
gammagpu05.umiacs.umd.edu&lt;br /&gt;
$ nvidia-smi -L&lt;br /&gt;
GPU 0: NVIDIA RTX A4000 (UUID: GPU-07ef47fe-072c-5e08-ba19-b87442dd330f)&lt;br /&gt;
GPU 1: NVIDIA RTX A4000 (UUID: GPU-7e30eac5-d1e2-ab92-686c-2aee8efbcb79)&lt;br /&gt;
GPU 2: NVIDIA RTX A4000 (UUID: GPU-9a31a590-7f83-23a3-6499-05b67357dbf1)&lt;br /&gt;
GPU 3: NVIDIA RTX A4000 (UUID: GPU-5c581a49-e0e5-8ec2-124d-b37e043a9086)&lt;br /&gt;
GPU 4: NVIDIA RTX A4000 (UUID: GPU-a7061b64-b90e-8fec-ff31-8cc997c88880)&lt;br /&gt;
GPU 5: NVIDIA RTX A4000 (UUID: GPU-2e590cba-70fd-4261-9f9f-c5ee813fd305)&lt;br /&gt;
GPU 6: NVIDIA RTX A4000 (UUID: GPU-439de936-4b11-5ea6-184c-0a709d35d679)&lt;br /&gt;
GPU 7: NVIDIA RTX A4000 (UUID: GPU-de7ef2e7-b6f8-fe81-dfab-a86629553bde)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also use SBATCH to submit your job.  Here are two examples on how to do that.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch --pty --gres=gpu:8 --account=gamma --partition=gamma --qos=huge-long --time=1-23:00:00 script.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sbatch script.sh&lt;br /&gt;
&lt;br /&gt;
// script.sh //&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --gres=gpu:8&lt;br /&gt;
#SBATCH --account=gamma&lt;br /&gt;
#SBATCH --partition=gamma&lt;br /&gt;
#SBATCH --qos=huge-long&lt;br /&gt;
#SBATCH --time=1-23:00:00&lt;br /&gt;
&lt;br /&gt;
python your_file.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Storage=&lt;br /&gt;
There are 3 types of user storage available to users in GAMMA:&lt;br /&gt;
* Home directories&lt;br /&gt;
* Project directories&lt;br /&gt;
* Scratch directories&lt;br /&gt;
&lt;br /&gt;
There is also read-only storage available for Dataset directories.&lt;br /&gt;
&lt;br /&gt;
GAMMA users can also request [[Nexus#Project_Allocations | Nexus project allocations]].&lt;br /&gt;
&lt;br /&gt;
===Home Directories===&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
===Project Directories===&lt;br /&gt;
You can request project based allocations for up to 8TB and up to 180 days with approval from a GAMMA faculty member.  &lt;br /&gt;
&lt;br /&gt;
To request an allocation, please [[HelpDesk | contact staff]] with the faculty member(s) that approved the project in the conversation.  Please include the following details:&lt;br /&gt;
* Project Name (short)&lt;br /&gt;
* Description&lt;br /&gt;
* Size (1TB, 2TB, etc.)&lt;br /&gt;
* Length in days (30 days, 90 days, etc.)&lt;br /&gt;
* Other user(s) that need to access the allocation, if any&lt;br /&gt;
&lt;br /&gt;
These allocations will be available from &#039;&#039;&#039;/fs/gamma-projects&#039;&#039;&#039; under a name that you provide when you request the allocation.  Near the end of the allocation period, staff will contact you and ask if you would like to renew the allocation (requires re-approval from a GAMMA faculty member).&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
This data is backed up nightly.&lt;br /&gt;
&lt;br /&gt;
===Scratch Directories===&lt;br /&gt;
Scratch data has no data protection, there are no snapshots and the data is not backed up. &lt;br /&gt;
There are two types of scratch directories:&lt;br /&gt;
* Network scratch directory&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
====Network Scratch Directory====&lt;br /&gt;
You are allocated 100GB of scratch space via NFS from &amp;lt;code&amp;gt;/gammascratch/$username&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
This directory is &#039;&#039;&#039;automounted&#039;&#039;&#039; so you may not see your directory if you run &amp;lt;code&amp;gt;ls /gammascratch&amp;lt;/code&amp;gt; but it will be mounted when you &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into your /gammascratch directory.&lt;br /&gt;
&lt;br /&gt;
You may request a permanent increase of up to 200GB total space without any faculty approval by [[HelpDesk | contacting staff]].  If you need space beyond 200GB, you will need faculty approval. &lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
====Local Scratch Directories====&lt;br /&gt;
These file systems are not available over [[NFS]] and &#039;&#039;&#039;there are no backups or snapshots available&#039;&#039;&#039; for these file systems.&lt;br /&gt;
&lt;br /&gt;
* Each computational node that you can schedule compute jobs on has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc.  These directories are local to each node, ie. the &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt; on two different nodes are completely separate.&lt;br /&gt;
** These directories are almost always more performant than any other storage available to the job.  However, you must stage data to these directories within the confines of your jobs and stage the data out before the end of your jobs.&lt;br /&gt;
** These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month during our monthly maintenance windows.  Again, please make sure you secure any data you write to these directories at the end of your job.&lt;br /&gt;
* Gamma has invested in a 20TB NVMe scratch file system on &amp;lt;code&amp;gt;nexusgamma00.umiacs.umd.edu&amp;lt;/code&amp;gt; that is available as &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;.  To utilize this space, you will need to copy data from/to this over SSH from a compute node.  To make this easier, you may want to setup [[SSH]] keys that will allow you to copy data without prompting for passwords. &lt;br /&gt;
** The &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt; directory on &amp;lt;code&amp;gt;nexusgamma00.umiacs.umd.edu&amp;lt;/code&amp;gt; doesn&#039;t have a tmpwatch. The files in this directory need to be manually removed once they are no longer needed.&lt;br /&gt;
&lt;br /&gt;
===Datasets===&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/gamma-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of GAMMA datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=GAMMA here].&lt;/div&gt;</summary>
		<author><name>Jolmsted</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsPrinting&amp;diff=12612</id>
		<title>WindowsPrinting</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsPrinting&amp;diff=12612"/>
		<updated>2025-04-24T18:36:25Z</updated>

		<summary type="html">&lt;p&gt;Jolmsted: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This will guide you through the process of installing and using the printers available within UMIACS.&lt;br /&gt;
&lt;br /&gt;
==Pre-Installation Knowledge on Printing at UMIACS==&lt;br /&gt;
[[PrinterQueueNaming| Printer Queue Naming]]&lt;br /&gt;
&lt;br /&gt;
==Printing at UMIACS==&lt;br /&gt;
&amp;lt;b&amp;gt;If the computer you are on is not directly connected to UMD&#039;s/UMIACS&#039; network, you must first connect to the [[VPN]], and must be on the VPN whenever you print thereafter.&amp;lt;/b&amp;gt;&lt;br /&gt;
* As alternatives, you can either:&lt;br /&gt;
** Hard-wire into a UMD/UMIACS network before continuing.&lt;br /&gt;
** Copy your files onto a UMIACS-supported system, such as your available [[Nexus]] submission nodes, and print from there.&lt;br /&gt;
** Copy your files onto a USB drive and print via USB at a printer directly.&lt;br /&gt;
&lt;br /&gt;
===Installation of printer queue===&lt;br /&gt;
After you are connected, follow these steps for adding a printer queue:&lt;br /&gt;
# Go to Start and search for &amp;quot;add a printer&amp;quot; in the search box. Click on the &amp;quot;Add a printer or scanner&amp;quot; option.&lt;br /&gt;
#: [[File:Windows_AddPrinter.png]]&lt;br /&gt;
# In the top right of the Settings menu that opens, click on &amp;quot;Add device&amp;quot;.&lt;br /&gt;
#: [[File:Windows_AddPrinterDevice.png|800px]]&lt;br /&gt;
# Wait a few seconds for the &amp;quot;Add manually&amp;quot; option to come up, and click it.&lt;br /&gt;
#: [[File:Windows_AddPrinterDeviceWait.png|800px]] -&amp;gt; [[File:Windows_AddPrinterDeviceManually.png|800px]]&lt;br /&gt;
# In the Add Printer menu that pops up, choose &amp;quot;Select a shared printer by name&amp;quot;, and type &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://print.umiacs.umd.edu:631/printers/&amp;lt;printername&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; into the dialog box, where &amp;lt;printername&amp;gt; is replaced with the name of the printer that you want to print to. Click Next.&lt;br /&gt;
#: [[File:Windows_TypePrinterName.png]]&lt;br /&gt;
#: &#039;&#039;In this example, we are using cps432-3208 as the printer name.&#039;&#039;&lt;br /&gt;
# Select the manufacturer and model of your printer. Almost all UMIACS-managed printers are HP-brand, so choose HP unless you know for a fact that your printer is not HP-brand. You can either select a model-specific driver if you have one installed and you know the printer&#039;s exact model, or a HP Universal Printing driver. Click OK.&lt;br /&gt;
#* If you do not have HP as an available manufacturer option at all, [https://support.hp.com/us-en/drivers/hp-universal-print-driver-series-for-windows/4157320 download and install the latest HP Universal Print Driver for Windows]. The PostScript (PS) driver is usually fine unless you want to print with an option only available in PCL6, in which case choose the PCL6 driver.&lt;br /&gt;
#** To install the driver, unzip the file you download, then click the &amp;quot;Have Disk...&amp;quot; button. &#039;&#039;&#039;Enter the full folder path&#039;&#039;&#039; of the extracted zip file and click OK. Do NOT choose the &amp;quot;Browse...&amp;quot; option as this will only let you select individual files, but typing the full file path will let it select the entire folder and determine the right files automatically. Choose either of the two drivers that appear.&lt;br /&gt;
#*** For example, if you download the file to C:\Users\&amp;lt;username&amp;gt;\Downloads\upd-ps-x64-7.4.0.25959.zip, and then extract the file also to C:\Users\&amp;lt;username&amp;gt;\Downloads, enter &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\Downloads\upd-ps-x64-7.4.0.25959&amp;lt;/code&amp;gt; in the &amp;quot;Copy manufacturer&#039;s files from:&amp;quot; box, and click OK. Make sure to replace &amp;lt;username&amp;gt; with the username you are logged into Windows with.&lt;br /&gt;
#: [[File:Windows_SelectPrinterDriver.png]]&lt;br /&gt;
#: or&lt;br /&gt;
#: [[File:Windows_PrinterInstallFromDisk.png]] -&amp;gt; [[File:Windows_SelectPrinterDriverFromDisk.png]]&lt;br /&gt;
# Wait a few seconds for your computer to connect to the printer with the driver you picked. Eventually, a window will pop up saying that the printer was successfully installed with the driver you chose. Click Next.&lt;br /&gt;
#: [[File:Windows_WaitForPrinterDriver.png]] -&amp;gt; [[File:Windows_AddPrinterSuccess.png]]&lt;br /&gt;
# Choose to set the printer as your default printer or print a test page if you want to, and click Finish. You can now start using the printer.&lt;br /&gt;
#: [[File:Windows_DefaultAndTestPagePrinter.png]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
If you receive the following error when attempting to add a printer queue, the issue may be that your computer is configured for a higher level of printer security than is default at UMIACS as a result of the [https://en.wikipedia.org/wiki/PrintNightmare PrintNightmare vulnerability].&lt;br /&gt;
: [[File:win_print_printnightmare.png]]&lt;br /&gt;
&lt;br /&gt;
To resolve this error:&lt;br /&gt;
# Click on the Start menu and type &amp;quot;cmd&amp;quot; in the run bar.&lt;br /&gt;
#: [[Image:windows_bar.png]]&lt;br /&gt;
# &#039;&#039;Right-Click&#039;&#039; on the cmd button, and select &amp;quot;Run as Administrator&amp;quot; - &#039;&#039;&#039;THIS IS VERY IMPORTANT!&#039;&#039;&#039;&lt;br /&gt;
#: [[Image:Example.jpg]]&lt;br /&gt;
# Select &amp;quot;Yes&amp;quot; when it asks if you want to allow the following program to make changes.&lt;br /&gt;
#: [[Image:Uac.jpg]]&lt;br /&gt;
# From the Command Prompt, run these commands in order:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;reg add &amp;quot;HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint&amp;quot; /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 0 /f&amp;amp;#10;reg add &amp;quot;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print&amp;quot; /v RpcAuthnLevelPrivacyEnabled /t REG_DWORD /d 0 /f&amp;amp;#10;net stop spooler /y &amp;amp;&amp;amp; net start spooler&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: [[File:win_print_printnightmare_cmds.png]]&lt;br /&gt;
# Attempt to add the printer queue again.&lt;br /&gt;
&lt;br /&gt;
==Removing a printer queue==&lt;br /&gt;
To remove a printer queue, open the Start menu and search for and go to Control Panel. Next, click on &amp;quot;View devices and printers.&amp;quot; To remove the queue, right click on the printer and select &amp;quot;Remove device&amp;quot;. If you wish to add the printer back, follow the instructions above.&lt;br /&gt;
: [[Image:win_print_remove.png]]&lt;br /&gt;
&lt;br /&gt;
==Duplex Printing==&lt;br /&gt;
Many printers in UMIACS support duplex (2 sided) printing. To make the duplex printing default, first make sure the appropriate printer queue is installed via the directions above. Afterwards, go to start, then “Devices and Printers.”&lt;br /&gt;
Once the printer has been installed proceed by right clicking on the queue then selecting “Printing preferences.”&lt;br /&gt;
: [[Image:win_print_preferences.png]]&lt;br /&gt;
&lt;br /&gt;
After a few seconds the following menu will come up. Make sure you are on the “Printing Shortcuts” tab and select the “EcoSMART Settings” option then click on okay. This modification will allow you to print 2-sided whenever you choose to use this printer.&lt;br /&gt;
: [[Image:win_print_duplex.png]]&lt;br /&gt;
&lt;br /&gt;
==Store and Print PIN-Protected Jobs==&lt;br /&gt;
PIN-protected jobs provide a way to ensure jobs are not printed until you are ready to pick them up. This can be useful if you have a sensitive job that you want to print on a public printer at UMIACS. Follow the below steps to store a job and then print it at the printer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a stored job&#039;&#039;&#039;&lt;br /&gt;
# From the software program, select the &#039;&#039;&#039;Print&#039;&#039;&#039; option.&lt;br /&gt;
# Select the printer from the list of printers, and then select &#039;&#039;&#039;Properties&#039;&#039;&#039; or &#039;&#039;&#039;Preferences&#039;&#039;&#039; (name varies by software program)&lt;br /&gt;
# Click the &#039;&#039;&#039;Job Storage&#039;&#039;&#039; tab.&lt;br /&gt;
# Under &#039;&#039;&#039;Job Storage Mode&#039;&#039;&#039;, select &#039;&#039;&#039;Personal Job&#039;&#039;&#039;.&lt;br /&gt;
#: [[Image:Pinprint_1_mode.jpg|600px]]&lt;br /&gt;
# In the drop-down menu under &#039;&#039;&#039;Make Job Private/Secure&#039;&#039;&#039;, select &#039;&#039;&#039;PIN to print&#039;&#039;&#039;, and type in a 4-digit number.&lt;br /&gt;
#: [[Image:Pinprint_2_pin.jpg|600px]]&lt;br /&gt;
#: Note: You will need to provide the entered PIN (4-digit number) at the printer&#039;s control panel.&lt;br /&gt;
# Click the &#039;&#039;&#039;OK&#039;&#039;&#039; button to close the Document Properties/Preferences dialog box. In the Print dialog box, click &#039;&#039;&#039;Print&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Print a stored job&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After you have created a stored job using the instructions above, follow these steps to print from the printer&#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
# From the Home screen on the printer control panel, select &#039;&#039;&#039;Print&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;Print from Job Storage&#039;&#039;&#039;.&lt;br /&gt;
#: [[Image:Pinprint_3_printfrom.jpg|600px]]&lt;br /&gt;
# Select &#039;&#039;&#039;Choose&#039;&#039;&#039;, and then select the name of the folder where the job is stored.&lt;br /&gt;
#: [[Image:Pinprint_4_folder.jpg|600px]]&lt;br /&gt;
# Select the name of the job, enter your chosen PIN (4-digit number), and click &#039;&#039;&#039;Ok&#039;&#039;&#039;.&lt;br /&gt;
#: [[Image:Pinprint_5_pin.jpg|600px]]&lt;br /&gt;
# Select &#039;&#039;&#039;Print&#039;&#039;&#039; to print the job.&lt;br /&gt;
#: [[Image:Pinprint_6_print.jpg|600px]]&lt;br /&gt;
#: Note: The print job is deleted from memory after it prints.&lt;/div&gt;</summary>
		<author><name>Jolmsted</name></author>
	</entry>
</feed>