<?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=Pmehta1</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=Pmehta1"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php/Special:Contributions/Pmehta1"/>
	<updated>2026-05-13T06:57:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=CML&amp;diff=9354</id>
		<title>CML</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=CML&amp;diff=9354"/>
		<updated>2020-08-24T16:39:29Z</updated>

		<summary type="html">&lt;p&gt;Pmehta1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Center for Machine Learning ([https://ml.umd.edu CML]) at the University of Maryland is located within the Institute for Advanced Computer Studies.  The CML has a cluster of computational (CPU/GPU) resources that are available to be scheduled.&lt;br /&gt;
&lt;br /&gt;
= Compute Infrastructure =&lt;br /&gt;
Each of UMIACS&#039; cluster computational infrastructures is accessed through the submission node.  Users will need to submit jobs through the [[SLURM]] resource manager once they have logged into the submission node.  Each cluster in UMIACS has different quality of service (QoS) that are &#039;&#039;&#039;required&#039;&#039;&#039; to be selected upon submission of a job. Many clusters, including this one, also have other resources such as GPUs that need to be requested for a job.  &lt;br /&gt;
&lt;br /&gt;
The current submission node(s) for &#039;&#039;&#039;CML&#039;&#039;&#039; are:&lt;br /&gt;
* &amp;lt;code&amp;gt;cmlsub00.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Center for Machine Learning GPU resources are a small investment from the base Center funds and a number of investments by individual faculty members.  The scheduler&#039;s resources are modeled around this concept.  This means there are additional Slurm accounts that users will need to be aware of if they are submitting in the non-scavenger partition.&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
There are three partitions to the CML [[SLURM]] computational infrastructure.  If you do not specify a partition when submitting your job, you will receive the &#039;&#039;&#039;dpart&#039;&#039;&#039; partition.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;dpart&#039;&#039;&#039; - This is the default partition and job allocations are guaranteed.&lt;br /&gt;
* &#039;&#039;&#039;scavenger&#039;&#039;&#039; - This is the alternate partition that allows jobs longer run times and more resources but is preemptable when jobs in the &#039;&#039;&#039;dpart&#039;&#039;&#039; partition are ready to be scheduled.&lt;br /&gt;
* &#039;&#039;&#039;cpu&#039;&#039;&#039; - This partition is for CPU focussed jobs and the job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
== Accounts ==&lt;br /&gt;
The Center has a base account &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt; which has a modest number of nodes (currently 16 GPUs) total available in it.  Other faculty that have invested in the cluster have an additional account provided to their sponsored accounts on the cluster, which provides a number of guaranteed GPU resources corresponding to the amount that they invested.  If you do not specify a account when submitting your job, you will receive the &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt; account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sacctmgr show accounts&lt;br /&gt;
   Account                Descr                  Org&lt;br /&gt;
---------- -------------------- --------------------&lt;br /&gt;
   abhinav  abhinav shrivastava                  cml&lt;br /&gt;
       cml                  cml                  cml&lt;br /&gt;
   furongh         furong huang                  cml&lt;br /&gt;
      john       john dickerson                  cml&lt;br /&gt;
      root default root account                 root&lt;br /&gt;
 scavenger            scavenger            scavenger&lt;br /&gt;
    sfeizi         soheil feizi                  cml&lt;br /&gt;
      tomg        tom goldstein                  cml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check your account associations by running the &#039;&#039;&#039;show_assoc&#039;&#039;&#039; to see the accounts you are associated with.  Please contact staff@umiacs.umd.edu and CC your faculty member if you do not see the appropriate association. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_assoc&lt;br /&gt;
      User    Account   Def Acct   Def QOS                                  QOS&lt;br /&gt;
---------- ---------- ---------- --------- ------------------------------------&lt;br /&gt;
      tomg       tomg                                       default,high,medium&lt;br /&gt;
      tomg        cml                                        cpu,default,medium&lt;br /&gt;
      tomg  scavenger                                                 scavenger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also see the total number of Track-able Resources (TRES) allowed for each account by running the following command. Please make sure you give the appropriate account that you are looking for.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show assoc account=tomg format=user,account,qos,grptres&lt;br /&gt;
      User    Account                  QOS       GrpTRES&lt;br /&gt;
---------- ---------- -------------------- -------------&lt;br /&gt;
                 tomg                        gres/gpu=24&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
CML currently has 3 QoS for the &#039;&#039;&#039;dpart&#039;&#039;&#039; partition, 1 QoS for the &#039;&#039;&#039;scavenger&#039;&#039;&#039; partition and 1 QoS for the &#039;&#039;&#039;cpu&#039;&#039;&#039; partition.  You are &#039;&#039;&#039;required&#039;&#039;&#039; to specify a QoS when submitting your job.  The important part here is that in different QoS you can have a shorter/longer maximum wall time, a different total number of jobs running at once, and a different maximum number of track-able resources (TRES) for the job.  In the scavenger QoS, one more constraint that you are restricted by is the total number of TRES per user (over multiple jobs). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# show_qos&lt;br /&gt;
      Name     MaxWall MaxJobs                        MaxTRES     MaxTRESPU&lt;br /&gt;
---------- ----------- ------- ------------------------------ -------------&lt;br /&gt;
    medium  3-00:00:00       1       cpu=8,mem=64G,gres/gpu=2&lt;br /&gt;
   default  7-00:00:00       2       cpu=4,mem=32G,gres/gpu=1&lt;br /&gt;
      high  1-12:00:00       1     cpu=16,mem=128G,gres/gpu=4&lt;br /&gt;
 scavenger  3-00:00:00                                          gres/gpu=36&lt;br /&gt;
       cpu  1-00:00:00       1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPUs ==&lt;br /&gt;
Jobs that require GPU resources need to explicitly request the resources within their job submission.  This is done through Generic Resource Scheduling (GRES).  Currently all nodes in the cluster are homogeneous, however in the future this may not be the case.  Users may use the most generic identifier (in this case &#039;&#039;&#039;gpu&#039;&#039;&#039;), a colon, and a number to select without explicitly naming the type of GPU (ie. &amp;lt;code&amp;gt;--gres gpu:4&amp;lt;/code&amp;gt; for 4 GPUs).  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sinfo -o &amp;quot;%15N %10c %10m  %25f %25G&amp;quot;&lt;br /&gt;
NODELIST        CPUS       MEMORY      AVAIL_FEATURES            GRES&lt;br /&gt;
cml[00-09]      32         1+          (null)                    gpu:rtx2080ti:8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Job Submission and Management ==&lt;br /&gt;
Users should review our [[SLURM]] [[SLURM/JobSubmission | job submission]] and [[SLURM/JobStatus | job management]] documentation.  &lt;br /&gt;
&lt;br /&gt;
A very quick start to get an interactive shell is as follows when run on the submission node.  This will allocate 1 GPU with 16GB of memory (system RAM) in the QoS default for 4 hours maximum time.  If the job goes beyond these limits (either the memory allocation or the maximum time) it will be terminated immediately. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
srun --pty --gres=gpu:1 --mem=16G --qos=default --time=04:00:00 bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[derek@cmlsub00:~ ] $ srun --pty --gres=gpu:1 --mem=16G --qos=default --time=04:00:00 bash&lt;br /&gt;
[derek@cml00:~ ] $ nvidia-smi -L&lt;br /&gt;
GPU 0: GeForce RTX 2080 Ti (UUID: GPU-20846848-e66d-866c-ecbe-89f2623f3b9a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are going to run in a faculty account instead of the default &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt; account you will need to specify the &amp;lt;code&amp;gt;--account=&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A quick example to run an interactive job using the cpu partition. The cpu partition uses the default account &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-bash-4.2$ srun --partition=cpu --qos=cpu bash -c &#039;echo &amp;quot;Hello World from&amp;quot; `hostname`&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Data Storage=&lt;br /&gt;
Until the final storage investment arrives we have made available a temporary allocation of storage.  This section is subject to change.  There are 3 types of storage available to users in the CML:&lt;br /&gt;
* Home directories&lt;br /&gt;
* Project directories&lt;br /&gt;
* Scratch directories&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
Home directories in the CML computational infrastructure are available from the Institute&#039;s [[NFShomes]] as &amp;lt;code&amp;gt;/nfshomes/USERNAME&amp;lt;/code&amp;gt; where USERNAME is your username.  These home directories have very limited storage and are intended for your personal files, configuration and source code.  Your home directory is &#039;&#039;&#039;not&#039;&#039;&#039; intended for data sets or other large scale data holdings.  Users are encouraged to utilize our [[GitLab]] infrastructure to host your code repositories.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: To check your quota on this directory you will need to use the &amp;lt;code&amp;gt;quota -s&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Your home directory data is fully protected and has both snapshots and is backed up nightly.&lt;br /&gt;
&lt;br /&gt;
== Project Directories ==&lt;br /&gt;
Users within the CML compute infrastructure can request project based allocations for up to 2TB for up to 120 days from [mailto:staff@umiacs.umd.edu staff@umiacs.umd.edu] with approval from a CML faculty member and the director of CML.  These allocations will be available from &#039;&#039;&#039;/fs/cml-projects&#039;&#039;&#039; under a name that you provide when you request the allocation.  Once the allocation period is over, the user will be contacted and give a window of opportunity to clean and secure their data before 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 including no snapshots and the data is not backed up. There are two types of scratch directories in the CML compute infrastructure:&lt;br /&gt;
* Network scratch directory&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directory===&lt;br /&gt;
Users granted access to the CML compute infrastructure are each allocated &#039;&#039;&#039;400GB&#039;&#039;&#039; of network attached scratch.  This is available as &amp;lt;code&amp;gt;/cmlscratch/USERNAME&amp;lt;/code&amp;gt; where USERNAME is your username.  This directory is &#039;&#039;&#039;automounted&#039;&#039;&#039; so 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 this.&lt;br /&gt;
&lt;br /&gt;
Users may request an additional allocation of scratch space up to a total of &#039;&#039;&#039;800GB&#039;&#039;&#039; by contacting [mailto:staff@umiacs.umd.edu staff@umiacs.umd.edu].&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directories===&lt;br /&gt;
Each computational node that a user 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 are almost always more performant than any other storage available to the job.  However, users must stage their data within the confine of their job and stage the data out before the end of their job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories will have a tmpwatch job which will &#039;&#039;&#039;delete unmodified data after 120 days&#039;&#039;&#039;.  Please make sure you secure any data you write to these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Data sets ==&lt;br /&gt;
The following data sets are available read only for the Center.  If there are other data sets that you would like to see curated and available, please contact [mailto:staff@umiacs.umd.edu staff@umiacs.umd.edu].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data set&lt;br /&gt;
! Path&lt;br /&gt;
|-&lt;br /&gt;
| CelebA&lt;br /&gt;
| /fs/cml-datasets/CelebA&lt;br /&gt;
|-&lt;br /&gt;
| Cityscapes&lt;br /&gt;
| /fs/cml-datasets/cityscapes&lt;br /&gt;
|-&lt;br /&gt;
| COCO&lt;br /&gt;
| /fs/cml-datasets/coco&lt;br /&gt;
|-&lt;br /&gt;
| Diversity in Faces&lt;br /&gt;
| /fs/cml-datasets/diversity_in_faces&lt;br /&gt;
|-&lt;br /&gt;
| ImageNet ILSVRC2012&lt;br /&gt;
| /fs/cml-datasets/ImageNet/ILSVRC2012&lt;br /&gt;
|-&lt;br /&gt;
| LFW&lt;br /&gt;
| /fs/cml-datasets/facial_test_data&lt;br /&gt;
|-&lt;br /&gt;
| LibriSpeech&lt;br /&gt;
| /fs/cml-datasets/LibriSpeech&lt;br /&gt;
|-&lt;br /&gt;
| LSUN&lt;br /&gt;
| /fs/cml-datasets/LSUN&lt;br /&gt;
|-&lt;br /&gt;
| MegaFace&lt;br /&gt;
| /fs/cml-datasets/megaface&lt;br /&gt;
|-&lt;br /&gt;
| MS-Celeb-1M&lt;br /&gt;
| /fs/cml-datasets/MS_Celeb_aligned_112&lt;br /&gt;
|-&lt;br /&gt;
| roberta&lt;br /&gt;
| /fs/cml-datasets/roberta&lt;br /&gt;
|-&lt;br /&gt;
| ShapeNetCore.v2&lt;br /&gt;
| /fs/cml-datasets/ShapeNetCore.v2&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Pmehta1</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=CML&amp;diff=9025</id>
		<title>CML</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=CML&amp;diff=9025"/>
		<updated>2020-04-06T18:53:36Z</updated>

		<summary type="html">&lt;p&gt;Pmehta1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Center for Machine Learning ([https://ml.umd.edu CML]) at the University of Maryland is located within the Institute for Advanced Computer Studies.  The CML has a cluster of computational (CPU/GPU) resources that are available to be scheduled.&lt;br /&gt;
&lt;br /&gt;
=Compute Infrastructure=&lt;br /&gt;
&lt;br /&gt;
Each of UMIACS cluster computational infrastructures is accessed through the submission node.  Users will need to submit jobs through the [[SLURM]] resource manager once they have logged into the submission node.  Each cluster in UMIACS has different quality of service (QoS) that are &#039;&#039;&#039;required&#039;&#039;&#039; to be selected upon submission of a job and many like this one has specific other resources such as GPUs that need to be requested for a job.  &lt;br /&gt;
&lt;br /&gt;
The current submission node(s) for &#039;&#039;&#039;CML&#039;&#039;&#039; are:&lt;br /&gt;
* &amp;lt;code&amp;gt;cmlsub00.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Center for Machine Learning GPU resources are a small investment from the base Center funds and a number of investments by individual faculty members.  The schedulers resources therefore going forward are modeled around this concept.  This means there are additional Slurm accounts that users will need to be aware of if they are submitting in the non-scavenger partition.&lt;br /&gt;
&lt;br /&gt;
== Partitions ==&lt;br /&gt;
There are two partitions to the CML [[SLURM]] computational infrastructure.  If you do not specify a partition when submitting your job you will receive the &#039;&#039;&#039;dpart&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;dpart&#039;&#039;&#039; - This is the default partition and job allocations are guaranteed.&lt;br /&gt;
* &#039;&#039;&#039;scavenger&#039;&#039;&#039; - This is the alternate partition that allows jobs longer run times and more resources but is preemptable when jobs in the &#039;&#039;&#039;dpart&#039;&#039;&#039; are ready to be scheduled.&lt;br /&gt;
&lt;br /&gt;
== Accounts ==&lt;br /&gt;
The Center has a base account &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt; which has a modest number of nodes (currently 16 GPUs) total that available in it.  For other faculty who have invested they have an additional account provided which provides guaranteed GPU resources that they invested.  If you do not specify a account when submitting your job you will receive the &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt; account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show accounts&lt;br /&gt;
   Account                Descr                  Org&lt;br /&gt;
---------- -------------------- --------------------&lt;br /&gt;
       cml                  cml                  cml&lt;br /&gt;
   furongh         furong huang                  cml&lt;br /&gt;
      john       john dickerson                  cml&lt;br /&gt;
      root default root account                 root&lt;br /&gt;
 scavenger            scavenger            scavenger&lt;br /&gt;
    sfeizi         soheil feizi                  cml&lt;br /&gt;
      tomg        tom goldstein                  cml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check your account associations by running the &#039;&#039;&#039;show_assoc&#039;&#039;&#039; to see the accounts you are associated with.  Please contact staff@umiacs.umd.edu and CC your faculty member if you do not see the appropriate association. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_assoc&lt;br /&gt;
      User    Account   Def Acct   Def QOS                                  QOS&lt;br /&gt;
---------- ---------- ---------- --------- ------------------------------------&lt;br /&gt;
      tomg       tomg                                       default,high,medium&lt;br /&gt;
      tomg        cml                                            default,medium&lt;br /&gt;
      tomg  scavenger                                                 scavenger&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also see the total number of Track-able Resources (TRES) allowed for each account by running the following command. Please make sure you give the appropriate account that you are looking for.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show assoc account=tomg format=user,account,qos,grptres&lt;br /&gt;
      User    Account                  QOS       GrpTRES&lt;br /&gt;
---------- ---------- -------------------- -------------&lt;br /&gt;
                 tomg                        gres/gpu=24&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
CML currently has 3 QoS for the &#039;&#039;&#039;dpart&#039;&#039;&#039; and 1 QoS for the &#039;&#039;&#039;scavenger&#039;&#039;&#039; partition.  You are &#039;&#039;&#039;required&#039;&#039;&#039; to specify a QoS when submitting your job.  The important parts here is that in different QoS you can have a shorter/longer maximum wall time, a total number of jobs running at once and a maximum number of track-able resources (TRES) for the job.  In the scavenger QoS there is one more constraint that you are restricted by the total number of TRES per user (over multiple jobs). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# show_qos&lt;br /&gt;
      Name     MaxWall MaxJobs                        MaxTRES     MaxTRESPU&lt;br /&gt;
---------- ----------- ------- ------------------------------ -------------&lt;br /&gt;
    medium  3-00:00:00       1       cpu=8,mem=64G,gres/gpu=2&lt;br /&gt;
   default  7-00:00:00       2       cpu=4,mem=32G,gres/gpu=1&lt;br /&gt;
      high  1-12:00:00       1     cpu=16,mem=128G,gres/gpu=4&lt;br /&gt;
 scavenger  3-00:00:00                                          gres/gpu=36&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPUs ==&lt;br /&gt;
Jobs that require GPU resources need to explicitly request the resources within their job submission.  This is done through Generic Resource Scheduling (GRES).  Currently all nodes in the cluster are homogeneous however in the future this may not be the case.  Users may use the most generic identifier in this case &#039;&#039;&#039;gpu&#039;&#039;&#039; a colon and a number to select without explicitly naming the type of GPU (ie. &amp;lt;code&amp;gt;--gres gpu:4&amp;lt;/code&amp;gt; for 4 GPUs).  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sinfo -o &amp;quot;%15N %10c %10m  %25f %25G&amp;quot;&lt;br /&gt;
NODELIST        CPUS       MEMORY      AVAIL_FEATURES            GRES&lt;br /&gt;
cml[00-09]      32         1+          (null)                    gpu:rtx2080ti:8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Job Submission and Management ==&lt;br /&gt;
Users should review our [[SLURM]] [[SLURM/JobSubmission | job submission]] and [[SLURM/JobStatus | job management]] documentation.  &lt;br /&gt;
&lt;br /&gt;
A very quick start to get an interactive shell is as follows when run on the submission node.  This will allocate 1 GPU with 16GB of memory (system RAM) in the QoS default for 4 hours maximum time.  If the job goes beyond these limits either the memory allocation or the maximum time it will be terminated immediately. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
srun --pty --gres=gpu:1 --mem=16G --qos=default --time=04:00:00 bash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[derek@cmlsub00:~ ] $ srun --pty --gres=gpu:1 --mem=16G --qos=default --time=04:00:00 bash&lt;br /&gt;
[derek@cml00:~ ] $ nvidia-smi -L&lt;br /&gt;
GPU 0: GeForce RTX 2080 Ti (UUID: GPU-20846848-e66d-866c-ecbe-89f2623f3b9a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are going to run in a faculty account instead of the default &amp;lt;code&amp;gt;cml&amp;lt;/code&amp;gt; account you will need to specify the &amp;lt;code&amp;gt;--account=&amp;lt;/code&amp;gt; flag.&lt;br /&gt;
&lt;br /&gt;
=Data Storage=&lt;br /&gt;
&lt;br /&gt;
Until the final storage investment arrives we have made available a temporary allocation of storage.  This section is subject to change.  There are 3 types of storage available to users in the CML home directories, project directories and scratch directories.&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
 &lt;br /&gt;
Home directories in the CML computational infrastructure are available from the Institutes [[NFShomes]] as &amp;lt;code&amp;gt;/nfshomes/USERNAME&amp;lt;/code&amp;gt; where USERNAME is your username.  These home directories have very limited storage and are intended for your personal files, configuration and source code.  Your home directory is &#039;&#039;&#039;not&#039;&#039;&#039; intended for data sets or other large scale data holdings.  Users are encouraged to utilize our [[GitLab]] infrastructure to host your code repositories.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: To check your quota on this directory you will need to use the &amp;lt;code&amp;gt;quota -s&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Your home directory data is fully protected and has both snapshots and is backed up nightly.&lt;br /&gt;
&lt;br /&gt;
== Project Directories ==&lt;br /&gt;
&lt;br /&gt;
Users within the CML compute infrastructure can request project based allocations for up to 2TB for up to 120 days from [mailto:staff@umiacs.umd.edu staff@umiacs.umd.edu] with approval from a CML faculty member and the director.  These allocations will be available from &#039;&#039;&#039;/fs/cml-projects&#039;&#039;&#039; under a name that you provide when you request the allocation.  Once the allocation period is over the user will be contacted and give a window of opportunity to clean and secure their data before 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;
&lt;br /&gt;
There are two types of scratch directories in the CML compute infrastructure, network and local scratch directories.  Scratch data has no data protection including no snapshots and the data is not backed up. &lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directory===&lt;br /&gt;
Users granted access to the CML compute infrastructure are each allocated &#039;&#039;&#039;400GB&#039;&#039;&#039; of network attached scratch.  This is available as &amp;lt;code&amp;gt;/cmlscratch/USERNAME&amp;lt;/code&amp;gt; where USERNAME is your username.  This directory is &#039;&#039;&#039;automounted&#039;&#039;&#039; so 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 this.&lt;br /&gt;
&lt;br /&gt;
Users may request an additional allocation of scratch space up to &#039;&#039;&#039;800GB&#039;&#039;&#039; by contacting [mailto:staff@umiacs.umd.edu staff@umiacs.umd.edu].&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directory===&lt;br /&gt;
Each computational node that a user 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 are almost always more performant than any other storage available to the job.  However users must stage their data within the confine of their job and stage the data out before the end of their job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories will have a tmpwatch job which will &#039;&#039;&#039;delete unmodified data after 120 days&#039;&#039;&#039;.  Please make sure you secure any data you write to these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Data sets ==&lt;br /&gt;
&lt;br /&gt;
The following data sets are available read only for the Center.  If there are other data sets that you would like to see curated and available please contact [mailto:staff@umiacs.umd.edu staff@umiacs.umd.edu].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Data set&lt;br /&gt;
! Path&lt;br /&gt;
|-&lt;br /&gt;
| CelebA&lt;br /&gt;
| /fs/cml-datasets/CelebA&lt;br /&gt;
|-&lt;br /&gt;
| COCO&lt;br /&gt;
| /fs/cml-datasets/coco&lt;br /&gt;
|-&lt;br /&gt;
| ImageNet ILSVRC2012&lt;br /&gt;
| /fs/cml-datasets/ImageNet/ILSVRC2012&lt;br /&gt;
|-&lt;br /&gt;
| roberta&lt;br /&gt;
| /fs/cml-datasets/roberta&lt;br /&gt;
|-&lt;br /&gt;
| ShapeNetCore.v2&lt;br /&gt;
| /fs/cml-datasets/ShapeNetCore.v2&lt;br /&gt;
|-&lt;br /&gt;
| LSUN&lt;br /&gt;
| /fs/cml-datasets/LSUN&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Pmehta1</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/JobSubmission&amp;diff=8687</id>
		<title>SLURM/JobSubmission</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/JobSubmission&amp;diff=8687"/>
		<updated>2019-11-21T20:27:31Z</updated>

		<summary type="html">&lt;p&gt;Pmehta1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Job Submission=&lt;br /&gt;
&lt;br /&gt;
SLURM offers a variety of ways to run jobs. It is important to understand the different options available and how to request the resources required for a job in order for it to run successfully. All job submission should be done from submit nodes; any computational code should be run in a job allocation on compute nodes. The following commands outline how to allocate resources on the compute nodes and submit processes to be run on the allocated nodes.&lt;br /&gt;
&lt;br /&gt;
Please note that the hard maximum number of jobs that the SLURM scheduler can handle is 10000. It is best to limit your number of submitted jobs at any given time to less than half this amount in the case that another user also wants to submit a large number of jobs.&lt;br /&gt;
&lt;br /&gt;
==srun==&lt;br /&gt;
&amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; is the command used to run a process on the compute nodes in the cluster. It works by passing it a command (this could be a script) which will be run on a compute node and then &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; will return. &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; accepts many command line options to specify the resources required by the command passed to it. Some common command line arguments are listed below and full documentation of all available options is available in the man page for &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt;, which can be accessed by running &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt;. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --mem=100mb --time=1:00:00 bash -c &#039;echo &amp;quot;Hello World from&amp;quot; `hostname`&#039;&lt;br /&gt;
Hello World from openlab06.umiacs.umd.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is important to understand that &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; is an interactive command. By default input to &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; is broadcast to all compute nodes running your process and output from the compute nodes is redirected to &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt;. This behavior can be changed; however, &#039;&#039;&#039;srun will always wait for the command passed to finish before exiting, so if you start a long running process and end your terminal session, your process will stop running on the compute nodes and your job will end&#039;&#039;&#039;. To run a non-interactive submission that will remain running after you logout, you will need to wrap your &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; commands in a batch script and submit it with [[#sbatch | sbatch]]&lt;br /&gt;
===Common srun arguments===&lt;br /&gt;
* &amp;lt;code&amp;gt;--mem=1gb&amp;lt;/code&amp;gt; &#039;&#039;if no unit is given MB is assumed&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--nodes=2&amp;lt;/code&amp;gt; &#039;&#039;if passed to srun, the given command will be run concurrently on each node&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--qos=dpart&amp;lt;/code&amp;gt; &#039;&#039;to see the available QOS options on a cluster, run&#039;&#039; &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--time=hh:mm:ss&amp;lt;/code&amp;gt; &#039;&#039;time needed to run your job&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--job-name=helloWorld&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--output filename&amp;lt;/code&amp;gt; &#039;&#039;file to redirect stdout to&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--error filename&amp;lt;/code&amp;gt; &#039;&#039;file to redirect stderr&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--partition $PNAME&amp;lt;/code&amp;gt; &#039;&#039;request job run in the $PNAME partition&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--ntasks 2&amp;lt;/code&amp;gt; &#039;&#039;request 2 &amp;quot;tasks&amp;quot; which map to cores on a CPU, if passed to srun the given command will be run concurrently on each core&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--account=accountname&amp;lt;/code&amp;gt; &#039;&#039;use qos specific to an account&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Interactive Shell Sessions===&lt;br /&gt;
An interactive shell session on a compute node can be useful for debugging or developing code that isn&#039;t ready to be run as a batch job. To get an interactive shell on a node, use &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; to invoke a shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --pty --mem 1gb --time=01:00:00 bash&lt;br /&gt;
tgray26@openlab06:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please do not leave interactive shells running for long periods of time when you are not working. This blocks resources from being used by everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==salloc==&lt;br /&gt;
The salloc command can also be used to request resources be allocated without needing a batch script. Running salloc with a list of resources will allocate the resources you requested, create a job, and drop you into a subshell with the environment variables necessary to run commands in the newly created job allocation. When your time is up or you exit the subshell, your job allocation will be relinquished.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub00:salloc -N 1 --mem=2gb --time=01:00:00&lt;br /&gt;
salloc: Granted job allocation 159&lt;br /&gt;
tgray26@opensub00:srun /usr/bin/hostname&lt;br /&gt;
openlab00.umiacs.umd.edu&lt;br /&gt;
tgray26@opensub00:exit&lt;br /&gt;
exit&lt;br /&gt;
salloc: Relinquishing job allocation 159&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note that any commands not invoked with srun will be run locally on the submit node. Please be careful when using salloc.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==sbatch==&lt;br /&gt;
The sbatch command allows you to write a batch script to be submitted and run non-interactively on the compute nodes. To run a simple Hello World command on the compute nodes you could write a file, helloWorld.sh with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
srun bash -c &#039;echo Hello World from `hostname`&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you need to submit the script with sbatch and request resources:&lt;br /&gt;
&amp;lt;pre&amp;gt;tgray26@opensub00:sbatch --mem=1gb --time=1:00:00 helloWorld.sh&lt;br /&gt;
Submitted batch job 121&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SLURM will return a job number that you can use to check the status of your job with squeue:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub00:squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
               121     dpart helloWor  tgray26  R       0:01      2 openlab[00-01]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Advanced Batch Scripts====&lt;br /&gt;
You can also write a batch script with all of your resources/options defined in the script itself. This is useful for jobs that need to be run 10s/100s/1000s of times. You can then handle any necessary environment setup and run commands on the resources you requested by invoking commands with srun. The srun commands can also be more complex and be told to only use portions of your entire job allocation, each of these distinct srun commands makes up one &amp;quot;job step&amp;quot;. The batch script will be run on the first node allocated as part of your job allocation and each job step will be run on whatever resources you tell them to. In the following example I have a batch job that will request 2 nodes in the cluster, then I load a specific version of Python into my environment and submit two job steps, each one using one node. Since srun is blocks until the command finishes, I use the &#039;&amp;amp;&#039; operator to background the process so that both job steps can run at once; however, this means that I then need to use the wait command to block processing until all background processes have finished.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Lines that begin with #SBATCH specify commands to be used by SLURM for scheduling&lt;br /&gt;
&lt;br /&gt;
#SBATCH --job-name=helloWorld                                   # sets the job name&lt;br /&gt;
#SBATCH --output helloWorld.out.%j                              # indicates a file to redirect STDOUT to; %j is the jobid &lt;br /&gt;
#SBATCH --error helloWorld.out.%j                               # indicates a file to redirect STDERR to; %j is the jobid&lt;br /&gt;
#SBATCH --time=00:05:00                                         # how long you think your job will take to complete; format=hh:mm:ss&lt;br /&gt;
#SBATCH --qos=dpart                                             # set QOS, this will determine what resources can be requested&lt;br /&gt;
#SBATCH --nodes=2                                               # number of nodes to allocate for your job&lt;br /&gt;
#SBATCH --ntasks=4                                              # request 4 cpu cores be reserved for your node total&lt;br /&gt;
#SBATCH --ntasks-per-node=2                                     # request 2 cpu cores be reserved per node&lt;br /&gt;
#SBATCH --mem 1gb                                               # memory required by job; if unit is not specified MB will be assumed&lt;br /&gt;
&lt;br /&gt;
module load Python/2.7.9                                        # run any commands necessary to setup your environment&lt;br /&gt;
&lt;br /&gt;
srun -N 1 --mem=512mb bash -c &amp;quot;hostname; python --version&amp;quot; &amp;amp;    # use srun to invoke commands within your job; using an &#039;&amp;amp;&#039;&lt;br /&gt;
srun -N 1 --mem=512mb bash -c &amp;quot;hostname; python --version&amp;quot; &amp;amp;    # will background the process allowing them to run concurrently&lt;br /&gt;
wait                                                            # wait for any background processes to complete&lt;br /&gt;
&lt;br /&gt;
# once the end of the batch script is reached your job allocation will be revoked&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another useful thing to know is that you can pass additional arguments into your sbatch scripts on the command line and reference them as &amp;lt;code&amp;gt;${1}&amp;lt;/code&amp;gt; for the first argument and so on.&lt;br /&gt;
&lt;br /&gt;
====More Examples====&lt;br /&gt;
&lt;br /&gt;
* [[SLURM/ArrayJobs]]&lt;br /&gt;
&lt;br /&gt;
===scancel===&lt;br /&gt;
The scancel command can be used to cancel job allocations or job steps that are no longer needed. It can be passed individual job IDs or an option to delete all of your jobs or jobs that meet certain criteria.&lt;br /&gt;
*&amp;lt;code&amp;gt;scancel 255&amp;lt;/code&amp;gt;     &#039;&#039;cancel job 255&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;scancel 255.3&amp;lt;/code&amp;gt;     &#039;&#039;cancel job step 3 of job 255&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;scancel --user tgray26 --partition dpart&amp;lt;/code&amp;gt;    &#039;&#039;cancel all jobs for tgray26 in the dpart partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Identifying Resources and Features=&lt;br /&gt;
The sinfo can show you additional features of nodes in the cluster but you need to ask it to show some non-default options using a command like this &lt;br /&gt;
&amp;lt;code&amp;gt;sinfo -o &amp;quot;%15N %10c %10m  %25f %10G&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sinfo -o &amp;quot;%40N %8c %8m  %20f %25G&amp;quot;&lt;br /&gt;
NODELIST                                 CPUS     MEMORY    AVAIL_FEATURES       GRES&lt;br /&gt;
openlab[30-33]                           64       257759    Opteron,6274         (null)&lt;br /&gt;
openlab[00-07]                           8        7822      Opteron,2354         (null)&lt;br /&gt;
openlab[10-11,13-18,20-23,25,27-29]      16       23939     Xeon,x5560           (null)&lt;br /&gt;
openlab08                                32       128720    Xeon,E5-2690         gpu:k20:2&lt;br /&gt;
openlab09                                32       128722    Xeon,E5-2690         gpu:m40:1,gpu:k20:2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also identify further specific information about a node using [https://wiki.umiacs.umd.edu/umiacs/index.php/SLURM/ClusterStatus#scontrol scontrol].&lt;br /&gt;
&lt;br /&gt;
=Requesting GPUs=&lt;br /&gt;
If you need to do processing on a GPU, you will need to request that your job have access to GPUs just as you need to request processors or cpu cores. You will also need to make sure that you submit your job to the correct partition since nodes with GPUs are often put into their own partition to prevent the nodes from being tied up by jobs that don&#039;t utilize GPUs. In SLURM, GPUs are considered &amp;quot;generic resources&amp;quot; also known as GRES. To request some number of GPUs be reserved/available for your job you can use the flag &amp;lt;code&amp;gt;--gres:gpu:2&amp;lt;/code&amp;gt; or if there are multiple types of GPUs available in the cluster and you need a specific type, you can provide the type option to the gres flag &amp;lt;code&amp;gt;--gres:k20:1&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --pty --partition gpu --qos=gpu --gres=gpu:2 nvidia-smi&lt;br /&gt;
Wed Jul 13 15:33:18 2016&lt;br /&gt;
+------------------------------------------------------+&lt;br /&gt;
| NVIDIA-SMI 361.28     Driver Version: 361.28         |&lt;br /&gt;
|-------------------------------+----------------------+----------------------+&lt;br /&gt;
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |&lt;br /&gt;
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |&lt;br /&gt;
|===============================+======================+======================|&lt;br /&gt;
|   0  Tesla K20c          Off  | 0000:03:00.0     Off |                    0 |&lt;br /&gt;
| 30%   24C    P0    48W / 225W |     11MiB /  4799MiB |      0%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
|   1  Tesla K20c          Off  | 0000:84:00.0     Off |                    0 |&lt;br /&gt;
| 30%   23C    P0    52W / 225W |     11MiB /  4799MiB |     93%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
| Processes:                                                       GPU Memory |&lt;br /&gt;
|  GPU       PID  Type  Process name                               Usage      |&lt;br /&gt;
|=============================================================================|&lt;br /&gt;
|  No running processes found                                                 |&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note that your job will only be able to see/access the GPUs you requested. If you only need 1 GPU, please request only 1 GPU and the other one will be left available for other users:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --pty --partition gpu --qos=gpu --gres=gpu:k20:1 nvidia-smi&lt;br /&gt;
Wed Jul 13 15:31:29 2016&lt;br /&gt;
+------------------------------------------------------+&lt;br /&gt;
| NVIDIA-SMI 361.28     Driver Version: 361.28         |&lt;br /&gt;
|-------------------------------+----------------------+----------------------+&lt;br /&gt;
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |&lt;br /&gt;
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |&lt;br /&gt;
|===============================+======================+======================|&lt;br /&gt;
|   0  Tesla K20c          Off  | 0000:03:00.0     Off |                    0 |&lt;br /&gt;
| 30%   24C    P0    50W / 225W |     11MiB /  4799MiB |     92%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
| Processes:                                                       GPU Memory |&lt;br /&gt;
|  GPU       PID  Type  Process name                               Usage      |&lt;br /&gt;
|=============================================================================|&lt;br /&gt;
|  No running processes found                                                 |&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;--gres&amp;lt;/code&amp;gt; flag may also be passed to [[#sbatch | sbatch]] and [[#salloc | salloc]] rather than directly to [[#srun | srun]]&lt;br /&gt;
&lt;br /&gt;
=MPI example=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/bash &lt;br /&gt;
#SBATCH --job-name=mpi_test # Job name &lt;br /&gt;
#SBATCH --nodes=4 # Number of nodes &lt;br /&gt;
#SBATCH --ntasks=8 # Number of MPI ranks &lt;br /&gt;
#SBATCH --ntasks-per-node=2 # Number of MPI ranks per node &lt;br /&gt;
#SBATCH --ntasks-per-socket=1 # Number of tasks per processor socket on the node &lt;br /&gt;
#SBATCH --time=00:30:00 # Time limit hrs:min:sec &lt;br /&gt;
&lt;br /&gt;
module load mpi &lt;br /&gt;
&lt;br /&gt;
srun --mpi=openmpi /nfshomes/derek/testing/mpi/a.out &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pmehta1</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Rclone&amp;diff=8674</id>
		<title>Rclone</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Rclone&amp;diff=8674"/>
		<updated>2019-11-15T20:58:16Z</updated>

		<summary type="html">&lt;p&gt;Pmehta1: Created page with &amp;quot;Rclone is a command line program useful for syncing files and directories. Its functionality is similar to rsync, but has additional capabilities that support cloud storage se...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rclone is a command line program useful for syncing files and directories. Its functionality is similar to rsync, but has additional capabilities that support cloud storage services such as Dropbox, Open Drive, Amazon S3, and many more. &lt;br /&gt;
&lt;br /&gt;
Below are directions on how to remote setup rclone on a headless machine. If you would like to set up specific Google Drive or Dropbox remotes, you can go directly to the section labeled &amp;quot;Google Drive&amp;quot; or &amp;quot;Dropbox&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Remote Setup on A Headless System==&lt;br /&gt;
&lt;br /&gt;
To remote setup rclone, you will first have to [[SSH]] into one of UMIACS&#039; hosts and load the rclone module by typing &amp;lt;tt&amp;gt;module load rclone&amp;lt;/tt&amp;gt;. If this does not work, check that the rclone module is available by running the command &amp;lt;tt&amp;gt;module avail rclone&amp;lt;/tt&amp;gt;. If the module is not available, SSH to a host where it is. &lt;br /&gt;
&lt;br /&gt;
Once you have loaded the module, there are two ways to remote configure rclone. The first is by copying the rclone config file, and the second is by using rclone authorize.&lt;br /&gt;
&lt;br /&gt;
===Rclone configuration file===&lt;br /&gt;
&lt;br /&gt;
To copy the rclone config file, first configure rclone on your desktop machine. This can be achieved by running the command &amp;lt;tt&amp;gt;rclone config&amp;lt;/tt&amp;gt; to set up the file and then finding the location of the configuration file using the command &amp;lt;tt&amp;gt;rclone config file&amp;lt;/tt&amp;gt;, which should yield output similar to what is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ rclone config file&lt;br /&gt;
Configuration file is stored at:&lt;br /&gt;
/home/user/.rclone.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This file can then be transferred to the remote box using scp, copy/paste, ftp, sftp, etc. The command &amp;lt;tt&amp;gt;rclone config file&amp;lt;/tt&amp;gt; can also be run on the remote box to find the correct location to which the file should be moved.&lt;br /&gt;
&lt;br /&gt;
===Rclone authorize===&lt;br /&gt;
&lt;br /&gt;
To configure using rclone authorize instead, run the command &amp;lt;tt&amp;gt;Remote config&amp;lt;/tt&amp;gt; on your headless machine, and then select the option for working on a headless machine by answering the first prompt with an &amp;lt;tt&amp;gt;n&amp;lt;/tt&amp;gt;. The resulting output should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Remote config&lt;br /&gt;
Use auto config?&lt;br /&gt;
 * Say Y if not sure&lt;br /&gt;
 * Say N if you are working on a remote or headless machine&lt;br /&gt;
y) Yes&lt;br /&gt;
n) No&lt;br /&gt;
y/n&amp;gt; n&lt;br /&gt;
&lt;br /&gt;
For this to work, you will need rclone available on a machine that has a web browser available.&lt;br /&gt;
Execute the following on your machine:&lt;br /&gt;
	rclone authorize &amp;quot;amazon cloud drive&amp;quot;&lt;br /&gt;
Then paste the result below:&lt;br /&gt;
result&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, on your main desktop machine, run the command &amp;lt;tt&amp;gt;rclone authorize &amp;quot;amazon cloud drive&amp;quot;&amp;lt;/tt&amp;gt;. Follow the link that the output directs you to; you should now have received a secret token on your desktop machine console, in a message similar to the one below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rclone authorize &amp;quot;amazon cloud drive&amp;quot;&lt;br /&gt;
If your browser doesn&#039;t open automatically go to the following link: http://127.0.0.1:53682/auth&lt;br /&gt;
Log in and authorize rclone for access&lt;br /&gt;
Waiting for code...&lt;br /&gt;
Got code&lt;br /&gt;
Paste the following into your remote machine ---&amp;gt;&lt;br /&gt;
SECRET_TOKEN&lt;br /&gt;
&amp;lt;---End paste&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Go back to your headless machine and paste the secret message on the console where it says &amp;lt;tt&amp;gt;result&amp;gt;&amp;lt;/tt&amp;gt;. Finally, approve the token by answering the prompts that follow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
result&amp;gt; SECRET_TOKEN&lt;br /&gt;
--------------------&lt;br /&gt;
[acd12]&lt;br /&gt;
client_id = &lt;br /&gt;
client_secret = &lt;br /&gt;
token = SECRET_TOKEN&lt;br /&gt;
--------------------&lt;br /&gt;
y) Yes this is OK&lt;br /&gt;
e) Edit this remote&lt;br /&gt;
d) Delete this remote&lt;br /&gt;
y/e/d&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there are any issues with the remote setup, visit https://rclone.org/remote_setup/ for more information.&lt;br /&gt;
&lt;br /&gt;
==Google Drive==&lt;br /&gt;
&lt;br /&gt;
These instructions assume that you have SSHd into one of UMIACS&#039; Bastion hosts and have successfully been able to load the rclone module using the command &amp;lt;tt&amp;gt;module load rclone&amp;lt;/tt&amp;gt;. If this is not the case, please do so before proceeding with the Google Drive remote setup.&lt;br /&gt;
&lt;br /&gt;
First, make a new remote by running the command &amp;lt;tt&amp;gt;rclone config&amp;lt;/tt&amp;gt;. This should produce output similar to what is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
n) New remote&lt;br /&gt;
r) Rename remote&lt;br /&gt;
c) Copy remote&lt;br /&gt;
s) Set configuration password&lt;br /&gt;
q) Quit config&lt;br /&gt;
n/r/c/s/q&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose to make a new remote, and give it a name. The setup will then prompt you to choose a type of storage to configure. You can either choose the number from the options that corresponds to &amp;quot;Google Drive&amp;quot;, or simply type in &amp;lt;tt&amp;gt;drive&amp;lt;/tt&amp;gt;. When prompted for your Google Application Client Id and Secret, it is okay to leave those blank. &lt;br /&gt;
&lt;br /&gt;
Rclone will then prompt for a scope that it should use when requesting access from your drive, which you can provide by selecting one of the numbers on the screen. You can leave the root folder id blank, but enter &amp;lt;tt&amp;gt;remote config&amp;lt;/tt&amp;gt; for the service account file. You will then be prompted to use auto config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Remote config&lt;br /&gt;
Use auto config?&lt;br /&gt;
 * Say Y if not sure&lt;br /&gt;
 * Say N if you are working on a remote or headless machine or Y didn&#039;t work&lt;br /&gt;
y) Yes&lt;br /&gt;
n) No&lt;br /&gt;
y/n&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choosing the &amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt; option is probably best here unless you already have rclone setup on a headless machine. The console should then redirect you to a browser page that will prompt you to login and authorize rclone for access. Once you have followed the instructions on the webpage, the console will display your credentials and ask for approval to confirm the remote.&lt;br /&gt;
&lt;br /&gt;
==Dropbox==&lt;br /&gt;
&lt;br /&gt;
These instructions assume that you have SSHd into one of UMIACS&#039; Bastion hosts and have successfully been able to load the rclone module using the command &amp;lt;tt&amp;gt;module load rclone&amp;lt;/tt&amp;gt;. If this is not the case, please do so before proceeding with the Dropbox remote setup.&lt;br /&gt;
&lt;br /&gt;
First, make a new remote by running the command &amp;lt;tt&amp;gt;rclone config&amp;lt;/tt&amp;gt;. This should produce output similar to what is below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
n) New remote&lt;br /&gt;
r) Rename remote&lt;br /&gt;
c) Copy remote&lt;br /&gt;
s) Set configuration password&lt;br /&gt;
q) Quit config&lt;br /&gt;
n/r/c/s/q&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose to make a new remote, and give it a name. The setup will then prompt you to choose a type of storage to configure. You can either choose the number from the options that corresponds to &amp;quot;Dropbox&amp;quot;, or simply type in &amp;lt;tt&amp;gt;dropbox&amp;lt;/tt&amp;gt;. When prompted for your Dropbox App Key and Secret, it is okay to leave those blank. &lt;br /&gt;
&lt;br /&gt;
The console will then redirect you to a browser page that will prompt you to enter a code displayed on the console and authorize rclone for access. Once you have followed the instructions on the webpage, the console will display your credentials and ask for approval to confirm the remote.&lt;/div&gt;</summary>
		<author><name>Pmehta1</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Iribe/ConferenceRooms&amp;diff=8649</id>
		<title>Iribe/ConferenceRooms</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Iribe/ConferenceRooms&amp;diff=8649"/>
		<updated>2019-10-23T19:08:32Z</updated>

		<summary type="html">&lt;p&gt;Pmehta1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Types of Rooms ==&lt;br /&gt;
; [[Iribe/ConferenceRooms/Moderated | Moderated Rooms]]&lt;br /&gt;
: Seminar and large conference areas must be scheduled through the designated moderator for the room.&lt;br /&gt;
; [[Iribe/ConferenceRooms/AutoAccept | Auto-Accept Rooms]]&lt;br /&gt;
: These 6-12 person rooms are scheduled, but will automatically accept your meeting without requiring moderation.&lt;br /&gt;
; [[Iribe/ConferenceRooms/HuddleRoom | Huddle Rooms]]&lt;br /&gt;
: Meant for last-minute, short-term meetings for one to three people or for personal phone calls.&lt;br /&gt;
: Huddle rooms can only be scheduled at the touch panel. They cannot be scheduled ahead of time through Google Calendar. &lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
* [[Iribe/ConferenceRooms/View | Viewing one or more rooms]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Reserve | Reserving a room]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Moderation | [Moderator] Approving a room request ]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Moderation | [Moderator] Enabling notifications for pending requests ]]&lt;br /&gt;
&lt;br /&gt;
== Viewing ==&lt;br /&gt;
Conference room availability can be [[Iribe/ConferenceRooms/View | viewed]] with UMD’s Google Calendar system or from a touch panel outside each individual room.  The touch panel quickly allows you to see the status of the room: red if the room is reserved right now and green if it is open.&lt;br /&gt;
&lt;br /&gt;
We also offer a [[Iribe/ConferenceRooms/List|list]] of conference rooms scheduled with the UMD Google Calendar system.&lt;br /&gt;
&lt;br /&gt;
== Scheduling ==&lt;br /&gt;
Conference rooms are [[Iribe/ConferenceRooms/Reserve | reserved]] with UMD’s Google Calendar system along with a touch panel outside the room.  The touch panel quickly allows you to see the status of the room: red if the room is reserved right now and green if it is open.  You can walk up to the panel and reserve the room if it is unoccupied within the next 12 hours (non-moderated rooms only).&lt;br /&gt;
&lt;br /&gt;
== Room Capabilities ==&lt;br /&gt;
Our conference rooms have different AV capabilities based on the size of the room you are using.  We are still working with the AV contractors on a number of the capabilities in these rooms, but you should at a minimum be able to plug in your laptop to display to the projector and screen(s).  In the future we will outline and give sessions on how to effectively use the different functionalities in our conference rooms.&lt;br /&gt;
&lt;br /&gt;
* [[Iribe/ConferenceRooms/Solstice | Solstice Mersive Pods]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Recording | Recording and Streaming]]&lt;/div&gt;</summary>
		<author><name>Pmehta1</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Iribe/ConferenceRooms&amp;diff=8648</id>
		<title>Iribe/ConferenceRooms</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Iribe/ConferenceRooms&amp;diff=8648"/>
		<updated>2019-10-23T19:06:10Z</updated>

		<summary type="html">&lt;p&gt;Pmehta1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Types of Rooms ==&lt;br /&gt;
; [[Iribe/ConferenceRooms/Moderated | Moderated Rooms]]&lt;br /&gt;
: Seminar and large conference areas must be scheduled through the designated moderator for the room.&lt;br /&gt;
; [[Iribe/ConferenceRooms/AutoAccept | Auto-Accept Rooms]]&lt;br /&gt;
: These 6-12 person rooms are scheduled, but will automatically accept your meeting without requiring moderation.&lt;br /&gt;
; [[Iribe/ConferenceRooms/HuddleRoom | Huddle Rooms]]&lt;br /&gt;
: Meant for last-minute, short-term meetings for one to three people or for personal phone calls.&lt;br /&gt;
: Huddle rooms can only be scheduled at the touch panel. They cannot be scheduled ahead of time through Google Calendar. &lt;br /&gt;
: Undergraduates do not have the swipe access required to enter the room even if they are able to schedule a time slot at the touch panel.&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
* [[Iribe/ConferenceRooms/View | Viewing one or more rooms]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Reserve | Reserving a room]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Moderation | [Moderator] Approving a room request ]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Moderation | [Moderator] Enabling notifications for pending requests ]]&lt;br /&gt;
&lt;br /&gt;
== Viewing ==&lt;br /&gt;
Conference room availability can be [[Iribe/ConferenceRooms/View | viewed]] with UMD’s Google Calendar system or from a touch panel outside each individual room.  The touch panel quickly allows you to see the status of the room: red if the room is reserved right now and green if it is open.&lt;br /&gt;
&lt;br /&gt;
We also offer a [[Iribe/ConferenceRooms/List|list]] of conference rooms scheduled with the UMD Google Calendar system.&lt;br /&gt;
&lt;br /&gt;
== Scheduling ==&lt;br /&gt;
Conference rooms are [[Iribe/ConferenceRooms/Reserve | reserved]] with UMD’s Google Calendar system along with a touch panel outside the room.  The touch panel quickly allows you to see the status of the room: red if the room is reserved right now and green if it is open.  You can walk up to the panel and reserve the room if it is unoccupied within the next 12 hours (non-moderated rooms only).&lt;br /&gt;
&lt;br /&gt;
== Room Capabilities ==&lt;br /&gt;
Our conference rooms have different AV capabilities based on the size of the room you are using.  We are still working with the AV contractors on a number of the capabilities in these rooms, but you should at a minimum be able to plug in your laptop to display to the projector and screen(s).  In the future we will outline and give sessions on how to effectively use the different functionalities in our conference rooms.&lt;br /&gt;
&lt;br /&gt;
* [[Iribe/ConferenceRooms/Solstice | Solstice Mersive Pods]]&lt;br /&gt;
* [[Iribe/ConferenceRooms/Recording | Recording and Streaming]]&lt;/div&gt;</summary>
		<author><name>Pmehta1</name></author>
	</entry>
</feed>