<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.anl.gov/wiki_tracc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Amiot</id>
	<title>TRACC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.anl.gov/wiki_tracc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Amiot"/>
	<link rel="alternate" type="text/html" href="https://wiki.anl.gov/tracc/Special:Contributions/Amiot"/>
	<updated>2026-06-04T11:38:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2264</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2264"/>
		<updated>2025-04-16T22:54:39Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2263</id>
		<title>Running Your Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2263"/>
		<updated>2025-04-16T22:14:23Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Getting started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Careful, this chapter is quite outdated and needs to be rewritten =&lt;br /&gt;
&lt;br /&gt;
== Running Jobs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please do not run CPU- or memory-intensive tasks on the login nodes; always run them on the compute nodes. Resource-intensive processes running on login nodes may be killed at any time, without warning or notification.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Getting started ===&lt;br /&gt;
&lt;br /&gt;
Jobs are submitted to the cluster using Torque and scheduled by Maui. Some documentation of the commands that are used by Torque and Maui can be found on the man pages. For example:&lt;br /&gt;
 man qsub&lt;br /&gt;
&lt;br /&gt;
To use Torque and Maui, you&#039;ll need to make sure the base [[Setting Up Your Environment#Accessing application software with modules | module]] is loaded in your shell&#039;s setup files:&lt;br /&gt;
&lt;br /&gt;
 module load base&lt;br /&gt;
&lt;br /&gt;
Feel free to to contact us. [mailto:TRACC_Director@anl.gov Click to send email] if you need help with Torque or Maui. Note that other documentation you might find regarding Torque and Maui may not apply to the TRACC cluster because of differences in how we&#039;ve configured the software.&lt;br /&gt;
&lt;br /&gt;
=== Torque&#039;s view of the cluster ===&lt;br /&gt;
&lt;br /&gt;
Torque and Maui are both used to schedule and run job for both the arrow and nhtsa queues.&lt;br /&gt;
&lt;br /&gt;
=== Submitting jobs ===&lt;br /&gt;
&lt;br /&gt;
==== Job scripts ====&lt;br /&gt;
&lt;br /&gt;
The usual way of running a job with Torque is to submit a shell script. For most commercial applications we have wrapper scripts to automatically generate job scripts; see our [[TRACC Cluster Software#Supported On ARROW | application notes for our supported software]], or contact your sponsor for more info, then skip ahead to information about [[#qsub usage | qsub]].&lt;br /&gt;
&lt;br /&gt;
A simple script to run an MPI job would be &lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # PBS directives must precede all executable commands&lt;br /&gt;
 &lt;br /&gt;
 cd $PBS_O_WORKDIR&lt;br /&gt;
 &lt;br /&gt;
 ## HPMPI&lt;br /&gt;
 # mpirun -hostfile $PBS_NODEFILE ./mpi-application&lt;br /&gt;
 &lt;br /&gt;
 ## Intel MPI&lt;br /&gt;
 # mpirun ./mpi-application&lt;br /&gt;
&lt;br /&gt;
If you need to load a module in your shell script, do it like this, for scripts written in /bin/sh or /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.sh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, if your script is written in /bin/csh or /bin/tcsh:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.csh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, for Python:&lt;br /&gt;
&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.path.append(&amp;quot;/soft/modules/current/init&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 import envmodule&lt;br /&gt;
 envmodule.module(&amp;quot;load &amp;lt;some-module&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
or like this, for Perl:&lt;br /&gt;
&lt;br /&gt;
 use lib &amp;quot;/soft/modules/current/init&amp;quot;;&lt;br /&gt;
 use envmodule;&lt;br /&gt;
 module(&amp;quot;load &amp;lt;some-module&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
For other languages, you can usually achieve the same effect by loading the module in your shell&#039;s configuration files (.bashrc or .cshrc).&lt;br /&gt;
&lt;br /&gt;
==== Torque variables ====&lt;br /&gt;
&lt;br /&gt;
* Torque sets several variables which you can use in your job scripts. See the qsub man page for the complete list.&lt;br /&gt;
&lt;br /&gt;
* All Torque variables begin with &amp;quot;PBS&amp;quot;, as Torque used to be known as OpenPBS (which was the precursor of PBS Pro).&lt;br /&gt;
&lt;br /&gt;
* The most important Torque variables to be aware of are&lt;br /&gt;
&lt;br /&gt;
 PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
which is the working directory at the time of job submission, and&lt;br /&gt;
&lt;br /&gt;
 PBS_NODEFILE&lt;br /&gt;
&lt;br /&gt;
which contains a list of the compute nodes which Torque has assigned your job, in the form&lt;br /&gt;
&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
&lt;br /&gt;
with each node listed once for each core.&lt;br /&gt;
&lt;br /&gt;
==== qsub usage ====&lt;br /&gt;
&lt;br /&gt;
The command is used to submit jobs to the cluster. qsub&#039;s behavior can be customized with command line options or script directives. Note that all script directives must precede all executable commands, so it&#039;s best to put all directives at the top of the script file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To use qsub to submit a 32-core job; to the batch queue which is the default queue; with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&lt;br /&gt;
 qsub -l nodes=4:ppn=8,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=4:ppn=8&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* For scientific applications that rely heavily on floating point operations such as STAR-CCM+, LS-DYNA, OpenFOAM, and University CFD research codes, users should specify 16 cores per node ( PPN=16 ), and not 32 since each node has a total of 16 floating point units (FPUs).  Specifying 32 cores ( PPN=32 ) per compute node will not provide substantial performance gains, but will use up commerical licenses. &lt;br /&gt;
* To use the nhtsa queue which is not the default queue and has 64 GB nodes:&lt;br /&gt;
* To use qsub to submit a 64-core job with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&#039;&#039;&#039;Steve can you modify the following command to use the nhtsa queue.... Larry&#039;&#039;&#039;&lt;br /&gt;
 qsub -l nodes=2:ppn=32,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=2:ppn=32&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
==== Initial directory ====&lt;br /&gt;
&lt;br /&gt;
Torque by default will run your script from your home directory. You can specify a different initial directory with&lt;br /&gt;
&lt;br /&gt;
 qsub -d ...&lt;br /&gt;
&lt;br /&gt;
For example, to start in your current directory:&lt;br /&gt;
&lt;br /&gt;
 qsub -d `pwd`&lt;br /&gt;
&lt;br /&gt;
==== Large memory jobs ====&lt;br /&gt;
There are two queues that are available for large memory jobs. &lt;br /&gt;
&lt;br /&gt;
* batch64 queue&lt;br /&gt;
** 2 nodes numbered n003 and n004&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 64GB of RAM per node&lt;br /&gt;
** available for general use &lt;br /&gt;
&lt;br /&gt;
* batch128 queue&lt;br /&gt;
** 2 nodes numbered n001 and n002&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 128GB of RAM per node&lt;br /&gt;
** available for general use&lt;br /&gt;
&lt;br /&gt;
As an example, to submit your jobs to the batch128 queue:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch128 ...&lt;br /&gt;
&lt;br /&gt;
Jobs on the nodes are limited to 72 hours.&lt;br /&gt;
&lt;br /&gt;
Swap has been disabled on these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Short jobs ====&lt;br /&gt;
&lt;br /&gt;
Weekdays from 7am CDT to 7pm CDT, two nodes are set aside for jobs on Phoenix with walltimes of 2 hours or less. Maui will automatically schedule short jobs to these nodes. No policy is currently in place for Zephyr.&lt;br /&gt;
&lt;br /&gt;
=== Usage policies ===&lt;br /&gt;
&lt;br /&gt;
==== Maximum walltime ====&lt;br /&gt;
&lt;br /&gt;
Jobs which exceed these walltime limits will be rejected by Torque.&lt;br /&gt;
&lt;br /&gt;
 On Zephyr:&lt;br /&gt;
 batch queue: 168 hours&lt;br /&gt;
 batch64 queue: 72 hours&lt;br /&gt;
 batch128 queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
 On Phoenix:&lt;br /&gt;
 quadcore queue: 168 hours&lt;br /&gt;
 thirtytwogb queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
==== Quotas ====&lt;br /&gt;
&lt;br /&gt;
Job which exceed the following quotas will be blocked by Maui. Blocked jobs can be seen with the command&lt;br /&gt;
&lt;br /&gt;
 showq -b&lt;br /&gt;
&lt;br /&gt;
==== Node quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
==== Queue quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
=== Quality of Service (QOS) ===&lt;br /&gt;
&lt;br /&gt;
In order to override the cluster&#039;s usage quotas, you can submit your jobs with a preemptible QOS. The caveat is that a preemptible job may be killed at any time, regardless of its wallclock limit, if doing so would enable another user&#039;s ordinary, non-preemptible job to run (your own non-preemptible jobs will not preempt your preemptible jobs).&lt;br /&gt;
&lt;br /&gt;
To make a job preemptible, you can submit it with a QOS (quality of service) flag. For example:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=QOS:preemptible ... &amp;lt;jobscript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can make a submitted job (whether queued or running) preemptible with the Maui comand setqos:&lt;br /&gt;
&lt;br /&gt;
 setqos preemptible &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you can make a job non-preemptible by setting its QOS to DEFAULT:&lt;br /&gt;
&lt;br /&gt;
 setqos DEFAULT &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a job&#039;s QOS with the command [[Using_the_cluster#Job_and_cluster_info | checkjob]].&lt;br /&gt;
&lt;br /&gt;
Note that because of a bug in Torque, if you want to specify a [[Using_the_cluster#Using_fewer_than_8_cores_per_node | node access policy]] and a QOS, you should not specify the QOS to Torque, but should instead submit the job without a QOS, then set the QOS using setqos.&lt;br /&gt;
&lt;br /&gt;
=== How the scheduler determines which job to run next ===&lt;br /&gt;
&lt;br /&gt;
Maui runs queued jobs in priority order (blocked jobs are not considered). Priority is a function of&lt;br /&gt;
&lt;br /&gt;
* your recent cluster usage (the less usage, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* the number of nodes requested (the more nodes, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* a combination of the walltime requested (the less time, the higher the priority) and how long the job has been waiting to run&lt;br /&gt;
&lt;br /&gt;
This last factor is referred to as the &amp;quot;expansion factor&amp;quot; in the Maui documentation, and is equal to&lt;br /&gt;
&lt;br /&gt;
 1 + time since submission / wallclock time&lt;br /&gt;
&lt;br /&gt;
which, all else being equal, is designed to cause jobs to wait on average only as long as their requested walltime.&lt;br /&gt;
&lt;br /&gt;
Maui also uses &amp;quot;backfill&amp;quot; to schedule short and small jobs when doing so would not interfere with higher priority jobs.&lt;br /&gt;
&lt;br /&gt;
To find out how the priority of your job was calculated, use the Maui command &#039;&#039;&#039;diagnose&#039;&#039;&#039;, which will show something like this:&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -p&lt;br /&gt;
 diagnosing job priority information (partition: ALL)&lt;br /&gt;
 &lt;br /&gt;
 Job                    PRIORITY*     FS( User)  Serv(XFctr)   Res( Proc)&lt;br /&gt;
              Weights   --------       1(    1)     1(    1)     1(    1)&lt;br /&gt;
 &lt;br /&gt;
 46                          113     6.9( -9.0)   1.2(  1.6)  91.9(120.0)&lt;br /&gt;
 47                           77     9.5( -9.0)   1.6(  1.5)  88.9( 84.0)&lt;br /&gt;
 &lt;br /&gt;
 Percent Contribution   --------     8.0(  8.0)   1.4(  1.4)  90.6( 90.6)&lt;br /&gt;
&lt;br /&gt;
FS refers to the fairshare factor. For both jobs, the user&#039;s usage is above the target usage, making the fairshare factor negative.&lt;br /&gt;
&lt;br /&gt;
The exact weight given to each factor is subject to change as we attempt to find a balance between high utilization and fairness to all users.&lt;br /&gt;
&lt;br /&gt;
The diagnose command will also tell you how much you and other users have been using the cluster over the past week.&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -f&lt;br /&gt;
 FairShare Information&lt;br /&gt;
 &lt;br /&gt;
 Depth: 7 intervals   Interval Length: 1:00:00:00   Decay Rate: 0.75&lt;br /&gt;
 &lt;br /&gt;
 FS Policy: UTILIZEDPS&lt;br /&gt;
 System FS Settings:  Target Usage: 0.00    Flags: 0&lt;br /&gt;
 &lt;br /&gt;
 FSInterval        %     Target       0       1       2       3       4       5       6&lt;br /&gt;
 FSWeight       ------- -------  1.0000  0.7500  0.5625  0.4219  0.3164  0.2373  0.1780&lt;br /&gt;
 TotalUsage      100.00 ------- 23779.0  4358.0  6114.8 10451.7 10853.7  6915.1  7861.7&lt;br /&gt;
 &lt;br /&gt;
 USER&lt;br /&gt;
 -------------&lt;br /&gt;
 bvannemreddy      0.00   5.00  ------- ------- ------- ------- ------- ------- -------&lt;br /&gt;
 ac.smiyawak*     16.74   5.00    18.66   32.48    0.75   16.23    0.71   17.28   27.11&lt;br /&gt;
 bernard           0.09   5.00  ------- ------- -------    0.80    0.00    0.02    0.00&lt;br /&gt;
 ac.abarsan        2.17   5.00     2.08 ------- ------- ------- -------   17.27    8.36&lt;br /&gt;
&lt;br /&gt;
The asterisk indicates that the user is above their fairshare target, and that their jobs will be given a negative fairshare weight.&lt;br /&gt;
&lt;br /&gt;
=== More qsub options ===&lt;br /&gt;
&lt;br /&gt;
==== Receiving mail from Torque ====&lt;br /&gt;
&lt;br /&gt;
You can have Torque automatically email you when a job begins, ends, or aborts.&lt;br /&gt;
&lt;br /&gt;
 qsub -m &amp;lt;mail-options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;mail-options&amp;gt; argument consists of either the single character &#039;n&#039;, or one or more of &#039;a&#039;, &#039;b&#039;, &#039;e&#039;.&lt;br /&gt;
&lt;br /&gt;
 n No mail will be sent.&lt;br /&gt;
 a Mail will be sent when the job aborts.&lt;br /&gt;
 b Mail will be sent when the job begins.&lt;br /&gt;
 e Mail will be sent when the job ends.&lt;br /&gt;
&lt;br /&gt;
==== Redirecting job output ====&lt;br /&gt;
&lt;br /&gt;
Torque will write the standard output of your jobscript to &amp;lt;jobname&amp;gt;.o&amp;lt;jobnumber&amp;gt;, and the standard error to &amp;lt;jobname&amp;gt;.e&amp;lt;jobnumber&amp;gt;. To write them both to the standard output file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe ...&lt;br /&gt;
&lt;br /&gt;
or in your jobscript use&lt;br /&gt;
&lt;br /&gt;
 #PBS -joe&lt;br /&gt;
&lt;br /&gt;
To write standard output to a different file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or in your jobscript:&lt;br /&gt;
&lt;br /&gt;
 #PBS -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These can be combined; so, for example, submitting a job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe -o logfile&lt;br /&gt;
&lt;br /&gt;
will cause both standard output and standard error to be written to the file &#039;logfile&#039; in the directory in which the job is running.&lt;br /&gt;
&lt;br /&gt;
You can see the output file using the command qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
qpeek has several useful options:&lt;br /&gt;
&lt;br /&gt;
 $ qpeek -?&lt;br /&gt;
 qpeek:  Peek into a job&#039;s output spool files&lt;br /&gt;
 &lt;br /&gt;
  Usage:  qpeek [options] JOBID&lt;br /&gt;
 &lt;br /&gt;
  Options:&lt;br /&gt;
    -c      Show all of the output file (&amp;quot;cat&amp;quot;, default)&lt;br /&gt;
    -h      Show only the beginning of the output file (&amp;quot;head&amp;quot;)&lt;br /&gt;
    -t      Show only the end of the output file (&amp;quot;tail&amp;quot;)&lt;br /&gt;
    -f      Show only the end of the file and keep listening (&amp;quot;tail -f&amp;quot;)&lt;br /&gt;
    -#      Show only # lines of output&lt;br /&gt;
    -e      Show the stderr file of the job&lt;br /&gt;
    -o      Show the stdout file of the job (default)&lt;br /&gt;
    -?      Display this help message&lt;br /&gt;
&lt;br /&gt;
==== Using fewer than 8 cores per node on Phoenix and fewer than 32 cores per node on Zephyr====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Phoenix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 8 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Zephyr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 32 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
==== Forcing jobs to run sequentially ====&lt;br /&gt;
&lt;br /&gt;
* To have a job start only after another job has finished, use the &#039;&#039;&#039;depend&#039;&#039;&#039; job attribute:&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:&amp;lt;some job-id&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:1198 ...&lt;br /&gt;
&lt;br /&gt;
Many other dependency relationships are possible; please see the [http://www.clusterresources.com/torquedocs21/commands/qsub.shtml qsub man page].&lt;br /&gt;
&lt;br /&gt;
==== Passing variables to a jobscript ====&lt;br /&gt;
&lt;br /&gt;
By default, no environment variables are directly exported from the submission environment to the execution environment in which a job runs. This means that you&#039;ll usually need to load any modules the job requires in your job script, or in your shell configuration files, as described above, or use one of the following techniques to pass variables to a job.&lt;br /&gt;
&lt;br /&gt;
* To pass all environment variables:&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -V ...&lt;br /&gt;
&lt;br /&gt;
* To pass only specified variables:&lt;br /&gt;
&lt;br /&gt;
 qsub -v name=abc,model=neon ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -v name,model ...&lt;br /&gt;
&lt;br /&gt;
* You can also specify in a job script which variables Torque should import into the execution environment from the submission environment. To import all environment variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -V&lt;br /&gt;
&lt;br /&gt;
or to import only specified variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -v name,model&lt;br /&gt;
&lt;br /&gt;
Note that you cannot assign values to the variables this way.&lt;br /&gt;
&lt;br /&gt;
=== Job and cluster info ===&lt;br /&gt;
&lt;br /&gt;
* To see a list of jobs which are running, queued, and blocked, use the Maui command showq:&lt;br /&gt;
&lt;br /&gt;
 showq [-r | -i | -b ]&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 $ showq -r&lt;br /&gt;
           JobName  S Par  Effic  XFactor  Q      User    Group    MHost Procs   Remaining            StartTime&lt;br /&gt;
 &lt;br /&gt;
             67174  R DEF 100.00      0.0 pr      joe     joe  n101-ib     1    00:23:32  Wed Apr 28 14:05:12&lt;br /&gt;
             67233+ R DEF 182.60      1.1 pr      jan     jan  n082-ib     8    14:53:30  Thu Apr 29 13:37:49&lt;br /&gt;
             66942- R DEF  49.71      0.3 pr      lin     lin  n056-ib    64    18:59:14  Tue Apr 27 08:41:35&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;+&amp;quot; indicates that the job was [[#How_the_scheduler_determines_which_job_to_run_next | backfilled]]; the &amp;quot;—&amp;quot; that the job is [[Using_the_cluster#Quality_of_Service_.28QOS.29 | preemptible]].&lt;br /&gt;
&lt;br /&gt;
showq lists queued (Idle) jobs in descending [[#How_the_scheduler_determines_which_job_to_run_next | priority]] order. showq may show a job as running for up to a minute before it actually starts. To see if it&#039;s actually running in that first minute, use Torque&#039;s qstat:&lt;br /&gt;
&lt;br /&gt;
 qstat -a&lt;br /&gt;
&lt;br /&gt;
* To see how many cores are currently free for a job of a given walltime in each queue, use qbf:&lt;br /&gt;
&lt;br /&gt;
 qbf -d &amp;lt;walltime&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get more detailed statistics about current cluster usage, use our command qsum:&lt;br /&gt;
&lt;br /&gt;
 qsum&lt;br /&gt;
&lt;br /&gt;
* Use pbstop for a graphical display of cluster usage:&lt;br /&gt;
&lt;br /&gt;
 pbstop [-?]&lt;br /&gt;
&lt;br /&gt;
* pestat will give node-by-node cluster information:&lt;br /&gt;
&lt;br /&gt;
 pestat [-?]&lt;br /&gt;
&lt;br /&gt;
* To get a lot of info from Torque about a running or queued job:&lt;br /&gt;
&lt;br /&gt;
 qstat -f &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To diagnose problems with a job, you&#039;ll need to use both the Torque command tracejob and the Maui command checkjob, and possibly the Maui command diagnose:&lt;br /&gt;
&lt;br /&gt;
 tracejob &amp;lt;job-id&amp;gt;&lt;br /&gt;
 checkjob [-v] &amp;lt;job-id&amp;gt;&lt;br /&gt;
 diagnose -j &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you want to find out when Maui thinks your job will run, use showstart:&lt;br /&gt;
&lt;br /&gt;
 showstart &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ showstart 56&lt;br /&gt;
 job 56 requires 32 procs for 1:40:00&lt;br /&gt;
 Earliest start in          1:32:48 on Wed Nov 25 18:02:37&lt;br /&gt;
 Earliest completion in     3:12:48 on Wed Nov 25 19:42:37&lt;br /&gt;
&lt;br /&gt;
* If you want to find out how small and how short you need to make a job for it to run immediately in a particular queue, use the Maui command showbf:&lt;br /&gt;
&lt;br /&gt;
 showbf [-f &amp;lt;node-feature&amp;gt;] [-n nodecount] [-d walltime]&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;node-feature&amp;gt; is one of quadcore, eightgb, or thirtytwogb. (&amp;quot;bf&amp;quot; is for backfill, the algorithm used to schedule short and small jobs without interfering with higher priority jobs.) Maui unfortunately doesn&#039;t take into account all of our scheduling policies, so showbf&#039;s core counts may be too high; nor does it know about our queue walltime limits.&lt;br /&gt;
&lt;br /&gt;
* We have our own utility, qbf, which summarizes the output of showbf for each queue:&lt;br /&gt;
&lt;br /&gt;
 $ qbf&lt;br /&gt;
 Queue       Cores  Time&lt;br /&gt;
 quadcore      112  5:49:09&lt;br /&gt;
 quadcore       40  3:00:00:00&lt;br /&gt;
 thirtytwogb     8  1:00:00:00&lt;br /&gt;
&lt;br /&gt;
This means that a 40 core job of any duration will run immediately, but a job requesting more than 40 cores will run immediately only if it requests less than 5 hours, 49 minutes. qbf is, however, subject to the same caveat as showbf.&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 jobnodes [-s] &amp;lt;jobid&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
 $ jobnodes -s 45124 45873 &lt;br /&gt;
 n008,n015&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which your jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 mynodes [-s]&lt;br /&gt;
&lt;br /&gt;
 $ mynodes -s&lt;br /&gt;
 n010,n097&lt;br /&gt;
&lt;br /&gt;
* To see if your application is still running on your nodes:&lt;br /&gt;
&lt;br /&gt;
 $ pdsh -w $(mynodes) ps&lt;br /&gt;
&lt;br /&gt;
 n046:   PID TTY          TIME CMD&lt;br /&gt;
 n046: 13056 ?        00:00:00 bash&lt;br /&gt;
 n046: 13717 ?        00:00:00 bash&lt;br /&gt;
 n046: 13721 ?        00:00:00 sshd&lt;br /&gt;
 n046: 13722 ?        00:00:00 ps&lt;br /&gt;
&lt;br /&gt;
For all of these commands, only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
==== qsub-stat ====&lt;br /&gt;
&lt;br /&gt;
qsub-stat is available only on Phoenix and requires the ls-dyna/base module to be loaded. &lt;br /&gt;
&lt;br /&gt;
Most of the commands for tracking your jobs and checking cluster status can be accessed via graphical application qsub-stat. Please refer to section on NoMachine to learn how to run graphical sessions on the TRACC Cluster. qsub-stat has three tabs. The first one shows percentage usage of the two queues (8GB and 32GB) and the disk space usage. Once you move mouse cursor on the meter you will get more detailed information on usage of the queues and the disk space. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Resources2.png|thumb|none|left|600px|alt=Resources tab|Resources tab]]&lt;br /&gt;
&lt;br /&gt;
In the Terminal tab majority of explained previously statistics commands can be called through mouse menu. Press and hold right or left mouse button to have access to the commands&#039; list. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Terminal2.png|thumb|none|left|600px|alt=Terminal tab|Terminal tab]]&lt;br /&gt;
&lt;br /&gt;
The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Cluster Usage (showq):&lt;br /&gt;
   - showq&lt;br /&gt;
   - showq - r (running)&lt;br /&gt;
   - showq - b (blocked)&lt;br /&gt;
 - Cluster Usage (qsum)&lt;br /&gt;
 - Cluster Usage (qstat)&lt;br /&gt;
 - Available Resources (qbf)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - LS-DYNA Usage (qdyna)&lt;br /&gt;
 - Madymo Usage (license server report)&lt;br /&gt;
 - Fluent Usage (license server report)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Current Login Node activity (htop)&lt;br /&gt;
 - Node activity (pbstop)&lt;br /&gt;
 - Node activity (pestat)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - See My Jobs&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Current usage of the cluster can also be viewed in the Job Status tab. When you press and hold right or left mouse button on a job, you will see a menu of commands that you can apply to it (Some of them will work only on your own jobs). The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Show additional info:&lt;br /&gt;
   - qstat -f &lt;br /&gt;
   - chcekjob &lt;br /&gt;
   - tracejob&lt;br /&gt;
   - diagnosejob -j&lt;br /&gt;
   - showstart&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open standard output&lt;br /&gt;
 - statistics on master node (htop)&lt;br /&gt;
 - ssh to master node&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open work directory in browser&lt;br /&gt;
 - open work directory in terminal&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - delete job (qdel)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Job_status2.png|thumb|none|left|600px|alt=Job Status tab|Job Status tab]]&lt;br /&gt;
&lt;br /&gt;
Htop command shows live statistics on the master node of the current job.&lt;br /&gt;
[[Image:600px-Htop.png|thumb|none|left|600px|alt=Htop|Htop]]&lt;br /&gt;
&lt;br /&gt;
=== Deleting a job ===&lt;br /&gt;
&lt;br /&gt;
To delete a job, use Torque&#039;s qdel or Maui&#039;s canceljob, which simply calls qdel itself:&lt;br /&gt;
&lt;br /&gt;
 qdel &amp;lt;job-id&amp;gt;&lt;br /&gt;
 canceljob &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Torque will delete the job immmediately with either command, but Maui may not know about the deletion for up to a minute, during which time it will continue to show up in the output of showq.&lt;br /&gt;
&lt;br /&gt;
If either Torque or Maui tells you it can&#039;t delete the job, please send us an email and we&#039;ll delete it for you.&lt;br /&gt;
&lt;br /&gt;
Only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
=== Interactive Jobs ===&lt;br /&gt;
&lt;br /&gt;
You can get interactive access to a compute node with Torque by using the -I switch to qsub:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
If you want to run a GUI application on the compute node, use the -X switch:&lt;br /&gt;
&lt;br /&gt;
 qsub -I -X ...&lt;br /&gt;
&lt;br /&gt;
For this to work, you will need to either use the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, or enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster. Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
Also see [[#Accessing_a_compute_node_directly | below]] for an alternative means of directly accessing computes nodes.&lt;br /&gt;
&lt;br /&gt;
=== Using GUI applications on a compute node ===&lt;br /&gt;
&lt;br /&gt;
If you want to use a GUI application on a compute node, you will need to enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster, and again when you ssh to the compute node (as described above). Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
After logging in to a login node, you would then do this to access the compute node:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y n001&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, you won&#039;t need to ssh to a login node, but you will still need to ssh to a compute node.&lt;br /&gt;
&lt;br /&gt;
=== Accessing a compute node directly ===&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is by having Torque give you [[#Interactive_jobs | interactive]] access to a node. But if you want to start a process running on a compute node and have it continue to run after you log out, use the method described here.&lt;br /&gt;
&lt;br /&gt;
* You can access any compute node which is running one of your jobs with the command&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;compute-node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the command&lt;br /&gt;
&lt;br /&gt;
 qstat -n1 &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to find out which nodes are running &amp;lt;job-id&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you want Torque to assign you nodes, but don&#039;t need it to run a job on your behalf, you can do (for example)&lt;br /&gt;
&lt;br /&gt;
 echo sleep 24h | qsub -l select=1,walltime=24:00:00&lt;br /&gt;
&lt;br /&gt;
and then ssh to the node.&lt;br /&gt;
&lt;br /&gt;
=== Using licensed software ===&lt;br /&gt;
&lt;br /&gt;
For some of our software we have a limited number of licenses. To ensure that there will be sufficient licenses available when Maui schedules your job, you will need to submit your job under an application-specific account. Any application wrapper scripts we have will take care of this for you, but if you need to specify the account manually, you would do it like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA:&lt;br /&gt;
&lt;br /&gt;
 qsub -A dyna ...&lt;br /&gt;
&lt;br /&gt;
=== Debugging a job ===&lt;br /&gt;
&lt;br /&gt;
Some things to keep in mind or to try when your job doesn&#039;t run as expected:&lt;br /&gt;
&lt;br /&gt;
* Jobs don&#039;t inherit any environment variables from the submission environment. This means that if your job requires that PATH, LD_LIBRARY_PATH, MPI_HOME, or any other variable be set, you&#039;ll need to set it either in the job script, either directly or with a module, or in your shell configuration files.&lt;br /&gt;
&lt;br /&gt;
* Try running your job interactively on a compute node, like this:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
Now run your job script or start up a debugger with your program, just as you would on a login node.&lt;br /&gt;
&lt;br /&gt;
* Try some simple jobs, and look at the standard output and standard error files (STDIN.o&amp;lt;job-id&amp;gt; and STDIN.e&amp;lt;job-id&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 echo | qsub&lt;br /&gt;
 echo env | qsub&lt;br /&gt;
&lt;br /&gt;
* If you want to see the output of your job as it&#039;s being produced, use qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Undeliverable job output ===&lt;br /&gt;
&lt;br /&gt;
If Torque cannot copy the files containing the output of your job to the job&#039;s working directory, the files will eventually be copied to /mnt/gpfs/undelivered. They will be deleted after 10 days.&lt;br /&gt;
&lt;br /&gt;
=== Requeuing of jobs ===&lt;br /&gt;
&lt;br /&gt;
If your job dies due to a problem with the cluster, it will not automatically be requeued. If you would like it to be, do&lt;br /&gt;
&lt;br /&gt;
 qsub -r y ...&lt;br /&gt;
&lt;br /&gt;
=== Reserving the cluster ===&lt;br /&gt;
&lt;br /&gt;
Users cannot directly reserve the cluster, but if you think you might have a need for a reservation, please contact us.  &lt;br /&gt;
[mailto:TRACC_Director@anl.gov Click to send email] as far in advance as possible.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2262</id>
		<title>Running Your Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2262"/>
		<updated>2025-04-16T22:11:17Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Reserving the cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Careful, this chapter is quite outdated and needs to be rewritten =&lt;br /&gt;
&lt;br /&gt;
== Running Jobs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please do not run CPU- or memory-intensive tasks on the login nodes; always run them on the compute nodes. Resource-intensive processes running on login nodes may be killed at any time, without warning or notification.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Getting started ===&lt;br /&gt;
&lt;br /&gt;
Jobs are submitted to the cluster using Torque and scheduled by Maui. Some documentation of the commands that are used by Torque and Maui can be found on the man pages. For example:&lt;br /&gt;
 man qsub&lt;br /&gt;
&lt;br /&gt;
To use Torque and Maui, you&#039;ll need to make sure the base [[Setting Up Your Environment#Accessing application software with modules | module]] is loaded in your shell&#039;s setup files:&lt;br /&gt;
&lt;br /&gt;
 module load base&lt;br /&gt;
&lt;br /&gt;
Feel free to to contact us. [mailto:TRACC_Director@anl.gov Click to send email] or via telephone: 630-252-8224 if you need help with Torque or Maui. Note that other documentation you might find regarding Torque and Maui may not apply to the TRACC cluster because of differences in how we&#039;ve configured the software.&lt;br /&gt;
&lt;br /&gt;
=== Torque&#039;s view of the cluster ===&lt;br /&gt;
&lt;br /&gt;
Torque and Maui are both used to schedule and run job for both the arrow and nhtsa queues.&lt;br /&gt;
&lt;br /&gt;
=== Submitting jobs ===&lt;br /&gt;
&lt;br /&gt;
==== Job scripts ====&lt;br /&gt;
&lt;br /&gt;
The usual way of running a job with Torque is to submit a shell script. For most commercial applications we have wrapper scripts to automatically generate job scripts; see our [[TRACC Cluster Software#Supported On ARROW | application notes for our supported software]], or contact your sponsor for more info, then skip ahead to information about [[#qsub usage | qsub]].&lt;br /&gt;
&lt;br /&gt;
A simple script to run an MPI job would be &lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # PBS directives must precede all executable commands&lt;br /&gt;
 &lt;br /&gt;
 cd $PBS_O_WORKDIR&lt;br /&gt;
 &lt;br /&gt;
 ## HPMPI&lt;br /&gt;
 # mpirun -hostfile $PBS_NODEFILE ./mpi-application&lt;br /&gt;
 &lt;br /&gt;
 ## Intel MPI&lt;br /&gt;
 # mpirun ./mpi-application&lt;br /&gt;
&lt;br /&gt;
If you need to load a module in your shell script, do it like this, for scripts written in /bin/sh or /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.sh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, if your script is written in /bin/csh or /bin/tcsh:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.csh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, for Python:&lt;br /&gt;
&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.path.append(&amp;quot;/soft/modules/current/init&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 import envmodule&lt;br /&gt;
 envmodule.module(&amp;quot;load &amp;lt;some-module&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
or like this, for Perl:&lt;br /&gt;
&lt;br /&gt;
 use lib &amp;quot;/soft/modules/current/init&amp;quot;;&lt;br /&gt;
 use envmodule;&lt;br /&gt;
 module(&amp;quot;load &amp;lt;some-module&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
For other languages, you can usually achieve the same effect by loading the module in your shell&#039;s configuration files (.bashrc or .cshrc).&lt;br /&gt;
&lt;br /&gt;
==== Torque variables ====&lt;br /&gt;
&lt;br /&gt;
* Torque sets several variables which you can use in your job scripts. See the qsub man page for the complete list.&lt;br /&gt;
&lt;br /&gt;
* All Torque variables begin with &amp;quot;PBS&amp;quot;, as Torque used to be known as OpenPBS (which was the precursor of PBS Pro).&lt;br /&gt;
&lt;br /&gt;
* The most important Torque variables to be aware of are&lt;br /&gt;
&lt;br /&gt;
 PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
which is the working directory at the time of job submission, and&lt;br /&gt;
&lt;br /&gt;
 PBS_NODEFILE&lt;br /&gt;
&lt;br /&gt;
which contains a list of the compute nodes which Torque has assigned your job, in the form&lt;br /&gt;
&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
&lt;br /&gt;
with each node listed once for each core.&lt;br /&gt;
&lt;br /&gt;
==== qsub usage ====&lt;br /&gt;
&lt;br /&gt;
The command is used to submit jobs to the cluster. qsub&#039;s behavior can be customized with command line options or script directives. Note that all script directives must precede all executable commands, so it&#039;s best to put all directives at the top of the script file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To use qsub to submit a 32-core job; to the batch queue which is the default queue; with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&lt;br /&gt;
 qsub -l nodes=4:ppn=8,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=4:ppn=8&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* For scientific applications that rely heavily on floating point operations such as STAR-CCM+, LS-DYNA, OpenFOAM, and University CFD research codes, users should specify 16 cores per node ( PPN=16 ), and not 32 since each node has a total of 16 floating point units (FPUs).  Specifying 32 cores ( PPN=32 ) per compute node will not provide substantial performance gains, but will use up commerical licenses. &lt;br /&gt;
* To use the nhtsa queue which is not the default queue and has 64 GB nodes:&lt;br /&gt;
* To use qsub to submit a 64-core job with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&#039;&#039;&#039;Steve can you modify the following command to use the nhtsa queue.... Larry&#039;&#039;&#039;&lt;br /&gt;
 qsub -l nodes=2:ppn=32,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=2:ppn=32&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
==== Initial directory ====&lt;br /&gt;
&lt;br /&gt;
Torque by default will run your script from your home directory. You can specify a different initial directory with&lt;br /&gt;
&lt;br /&gt;
 qsub -d ...&lt;br /&gt;
&lt;br /&gt;
For example, to start in your current directory:&lt;br /&gt;
&lt;br /&gt;
 qsub -d `pwd`&lt;br /&gt;
&lt;br /&gt;
==== Large memory jobs ====&lt;br /&gt;
There are two queues that are available for large memory jobs. &lt;br /&gt;
&lt;br /&gt;
* batch64 queue&lt;br /&gt;
** 2 nodes numbered n003 and n004&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 64GB of RAM per node&lt;br /&gt;
** available for general use &lt;br /&gt;
&lt;br /&gt;
* batch128 queue&lt;br /&gt;
** 2 nodes numbered n001 and n002&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 128GB of RAM per node&lt;br /&gt;
** available for general use&lt;br /&gt;
&lt;br /&gt;
As an example, to submit your jobs to the batch128 queue:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch128 ...&lt;br /&gt;
&lt;br /&gt;
Jobs on the nodes are limited to 72 hours.&lt;br /&gt;
&lt;br /&gt;
Swap has been disabled on these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Short jobs ====&lt;br /&gt;
&lt;br /&gt;
Weekdays from 7am CDT to 7pm CDT, two nodes are set aside for jobs on Phoenix with walltimes of 2 hours or less. Maui will automatically schedule short jobs to these nodes. No policy is currently in place for Zephyr.&lt;br /&gt;
&lt;br /&gt;
=== Usage policies ===&lt;br /&gt;
&lt;br /&gt;
==== Maximum walltime ====&lt;br /&gt;
&lt;br /&gt;
Jobs which exceed these walltime limits will be rejected by Torque.&lt;br /&gt;
&lt;br /&gt;
 On Zephyr:&lt;br /&gt;
 batch queue: 168 hours&lt;br /&gt;
 batch64 queue: 72 hours&lt;br /&gt;
 batch128 queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
 On Phoenix:&lt;br /&gt;
 quadcore queue: 168 hours&lt;br /&gt;
 thirtytwogb queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
==== Quotas ====&lt;br /&gt;
&lt;br /&gt;
Job which exceed the following quotas will be blocked by Maui. Blocked jobs can be seen with the command&lt;br /&gt;
&lt;br /&gt;
 showq -b&lt;br /&gt;
&lt;br /&gt;
==== Node quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
==== Queue quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
=== Quality of Service (QOS) ===&lt;br /&gt;
&lt;br /&gt;
In order to override the cluster&#039;s usage quotas, you can submit your jobs with a preemptible QOS. The caveat is that a preemptible job may be killed at any time, regardless of its wallclock limit, if doing so would enable another user&#039;s ordinary, non-preemptible job to run (your own non-preemptible jobs will not preempt your preemptible jobs).&lt;br /&gt;
&lt;br /&gt;
To make a job preemptible, you can submit it with a QOS (quality of service) flag. For example:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=QOS:preemptible ... &amp;lt;jobscript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can make a submitted job (whether queued or running) preemptible with the Maui comand setqos:&lt;br /&gt;
&lt;br /&gt;
 setqos preemptible &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you can make a job non-preemptible by setting its QOS to DEFAULT:&lt;br /&gt;
&lt;br /&gt;
 setqos DEFAULT &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a job&#039;s QOS with the command [[Using_the_cluster#Job_and_cluster_info | checkjob]].&lt;br /&gt;
&lt;br /&gt;
Note that because of a bug in Torque, if you want to specify a [[Using_the_cluster#Using_fewer_than_8_cores_per_node | node access policy]] and a QOS, you should not specify the QOS to Torque, but should instead submit the job without a QOS, then set the QOS using setqos.&lt;br /&gt;
&lt;br /&gt;
=== How the scheduler determines which job to run next ===&lt;br /&gt;
&lt;br /&gt;
Maui runs queued jobs in priority order (blocked jobs are not considered). Priority is a function of&lt;br /&gt;
&lt;br /&gt;
* your recent cluster usage (the less usage, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* the number of nodes requested (the more nodes, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* a combination of the walltime requested (the less time, the higher the priority) and how long the job has been waiting to run&lt;br /&gt;
&lt;br /&gt;
This last factor is referred to as the &amp;quot;expansion factor&amp;quot; in the Maui documentation, and is equal to&lt;br /&gt;
&lt;br /&gt;
 1 + time since submission / wallclock time&lt;br /&gt;
&lt;br /&gt;
which, all else being equal, is designed to cause jobs to wait on average only as long as their requested walltime.&lt;br /&gt;
&lt;br /&gt;
Maui also uses &amp;quot;backfill&amp;quot; to schedule short and small jobs when doing so would not interfere with higher priority jobs.&lt;br /&gt;
&lt;br /&gt;
To find out how the priority of your job was calculated, use the Maui command &#039;&#039;&#039;diagnose&#039;&#039;&#039;, which will show something like this:&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -p&lt;br /&gt;
 diagnosing job priority information (partition: ALL)&lt;br /&gt;
 &lt;br /&gt;
 Job                    PRIORITY*     FS( User)  Serv(XFctr)   Res( Proc)&lt;br /&gt;
              Weights   --------       1(    1)     1(    1)     1(    1)&lt;br /&gt;
 &lt;br /&gt;
 46                          113     6.9( -9.0)   1.2(  1.6)  91.9(120.0)&lt;br /&gt;
 47                           77     9.5( -9.0)   1.6(  1.5)  88.9( 84.0)&lt;br /&gt;
 &lt;br /&gt;
 Percent Contribution   --------     8.0(  8.0)   1.4(  1.4)  90.6( 90.6)&lt;br /&gt;
&lt;br /&gt;
FS refers to the fairshare factor. For both jobs, the user&#039;s usage is above the target usage, making the fairshare factor negative.&lt;br /&gt;
&lt;br /&gt;
The exact weight given to each factor is subject to change as we attempt to find a balance between high utilization and fairness to all users.&lt;br /&gt;
&lt;br /&gt;
The diagnose command will also tell you how much you and other users have been using the cluster over the past week.&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -f&lt;br /&gt;
 FairShare Information&lt;br /&gt;
 &lt;br /&gt;
 Depth: 7 intervals   Interval Length: 1:00:00:00   Decay Rate: 0.75&lt;br /&gt;
 &lt;br /&gt;
 FS Policy: UTILIZEDPS&lt;br /&gt;
 System FS Settings:  Target Usage: 0.00    Flags: 0&lt;br /&gt;
 &lt;br /&gt;
 FSInterval        %     Target       0       1       2       3       4       5       6&lt;br /&gt;
 FSWeight       ------- -------  1.0000  0.7500  0.5625  0.4219  0.3164  0.2373  0.1780&lt;br /&gt;
 TotalUsage      100.00 ------- 23779.0  4358.0  6114.8 10451.7 10853.7  6915.1  7861.7&lt;br /&gt;
 &lt;br /&gt;
 USER&lt;br /&gt;
 -------------&lt;br /&gt;
 bvannemreddy      0.00   5.00  ------- ------- ------- ------- ------- ------- -------&lt;br /&gt;
 ac.smiyawak*     16.74   5.00    18.66   32.48    0.75   16.23    0.71   17.28   27.11&lt;br /&gt;
 bernard           0.09   5.00  ------- ------- -------    0.80    0.00    0.02    0.00&lt;br /&gt;
 ac.abarsan        2.17   5.00     2.08 ------- ------- ------- -------   17.27    8.36&lt;br /&gt;
&lt;br /&gt;
The asterisk indicates that the user is above their fairshare target, and that their jobs will be given a negative fairshare weight.&lt;br /&gt;
&lt;br /&gt;
=== More qsub options ===&lt;br /&gt;
&lt;br /&gt;
==== Receiving mail from Torque ====&lt;br /&gt;
&lt;br /&gt;
You can have Torque automatically email you when a job begins, ends, or aborts.&lt;br /&gt;
&lt;br /&gt;
 qsub -m &amp;lt;mail-options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;mail-options&amp;gt; argument consists of either the single character &#039;n&#039;, or one or more of &#039;a&#039;, &#039;b&#039;, &#039;e&#039;.&lt;br /&gt;
&lt;br /&gt;
 n No mail will be sent.&lt;br /&gt;
 a Mail will be sent when the job aborts.&lt;br /&gt;
 b Mail will be sent when the job begins.&lt;br /&gt;
 e Mail will be sent when the job ends.&lt;br /&gt;
&lt;br /&gt;
==== Redirecting job output ====&lt;br /&gt;
&lt;br /&gt;
Torque will write the standard output of your jobscript to &amp;lt;jobname&amp;gt;.o&amp;lt;jobnumber&amp;gt;, and the standard error to &amp;lt;jobname&amp;gt;.e&amp;lt;jobnumber&amp;gt;. To write them both to the standard output file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe ...&lt;br /&gt;
&lt;br /&gt;
or in your jobscript use&lt;br /&gt;
&lt;br /&gt;
 #PBS -joe&lt;br /&gt;
&lt;br /&gt;
To write standard output to a different file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or in your jobscript:&lt;br /&gt;
&lt;br /&gt;
 #PBS -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These can be combined; so, for example, submitting a job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe -o logfile&lt;br /&gt;
&lt;br /&gt;
will cause both standard output and standard error to be written to the file &#039;logfile&#039; in the directory in which the job is running.&lt;br /&gt;
&lt;br /&gt;
You can see the output file using the command qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
qpeek has several useful options:&lt;br /&gt;
&lt;br /&gt;
 $ qpeek -?&lt;br /&gt;
 qpeek:  Peek into a job&#039;s output spool files&lt;br /&gt;
 &lt;br /&gt;
  Usage:  qpeek [options] JOBID&lt;br /&gt;
 &lt;br /&gt;
  Options:&lt;br /&gt;
    -c      Show all of the output file (&amp;quot;cat&amp;quot;, default)&lt;br /&gt;
    -h      Show only the beginning of the output file (&amp;quot;head&amp;quot;)&lt;br /&gt;
    -t      Show only the end of the output file (&amp;quot;tail&amp;quot;)&lt;br /&gt;
    -f      Show only the end of the file and keep listening (&amp;quot;tail -f&amp;quot;)&lt;br /&gt;
    -#      Show only # lines of output&lt;br /&gt;
    -e      Show the stderr file of the job&lt;br /&gt;
    -o      Show the stdout file of the job (default)&lt;br /&gt;
    -?      Display this help message&lt;br /&gt;
&lt;br /&gt;
==== Using fewer than 8 cores per node on Phoenix and fewer than 32 cores per node on Zephyr====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Phoenix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 8 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Zephyr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 32 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
==== Forcing jobs to run sequentially ====&lt;br /&gt;
&lt;br /&gt;
* To have a job start only after another job has finished, use the &#039;&#039;&#039;depend&#039;&#039;&#039; job attribute:&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:&amp;lt;some job-id&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:1198 ...&lt;br /&gt;
&lt;br /&gt;
Many other dependency relationships are possible; please see the [http://www.clusterresources.com/torquedocs21/commands/qsub.shtml qsub man page].&lt;br /&gt;
&lt;br /&gt;
==== Passing variables to a jobscript ====&lt;br /&gt;
&lt;br /&gt;
By default, no environment variables are directly exported from the submission environment to the execution environment in which a job runs. This means that you&#039;ll usually need to load any modules the job requires in your job script, or in your shell configuration files, as described above, or use one of the following techniques to pass variables to a job.&lt;br /&gt;
&lt;br /&gt;
* To pass all environment variables:&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -V ...&lt;br /&gt;
&lt;br /&gt;
* To pass only specified variables:&lt;br /&gt;
&lt;br /&gt;
 qsub -v name=abc,model=neon ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -v name,model ...&lt;br /&gt;
&lt;br /&gt;
* You can also specify in a job script which variables Torque should import into the execution environment from the submission environment. To import all environment variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -V&lt;br /&gt;
&lt;br /&gt;
or to import only specified variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -v name,model&lt;br /&gt;
&lt;br /&gt;
Note that you cannot assign values to the variables this way.&lt;br /&gt;
&lt;br /&gt;
=== Job and cluster info ===&lt;br /&gt;
&lt;br /&gt;
* To see a list of jobs which are running, queued, and blocked, use the Maui command showq:&lt;br /&gt;
&lt;br /&gt;
 showq [-r | -i | -b ]&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 $ showq -r&lt;br /&gt;
           JobName  S Par  Effic  XFactor  Q      User    Group    MHost Procs   Remaining            StartTime&lt;br /&gt;
 &lt;br /&gt;
             67174  R DEF 100.00      0.0 pr      joe     joe  n101-ib     1    00:23:32  Wed Apr 28 14:05:12&lt;br /&gt;
             67233+ R DEF 182.60      1.1 pr      jan     jan  n082-ib     8    14:53:30  Thu Apr 29 13:37:49&lt;br /&gt;
             66942- R DEF  49.71      0.3 pr      lin     lin  n056-ib    64    18:59:14  Tue Apr 27 08:41:35&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;+&amp;quot; indicates that the job was [[#How_the_scheduler_determines_which_job_to_run_next | backfilled]]; the &amp;quot;—&amp;quot; that the job is [[Using_the_cluster#Quality_of_Service_.28QOS.29 | preemptible]].&lt;br /&gt;
&lt;br /&gt;
showq lists queued (Idle) jobs in descending [[#How_the_scheduler_determines_which_job_to_run_next | priority]] order. showq may show a job as running for up to a minute before it actually starts. To see if it&#039;s actually running in that first minute, use Torque&#039;s qstat:&lt;br /&gt;
&lt;br /&gt;
 qstat -a&lt;br /&gt;
&lt;br /&gt;
* To see how many cores are currently free for a job of a given walltime in each queue, use qbf:&lt;br /&gt;
&lt;br /&gt;
 qbf -d &amp;lt;walltime&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get more detailed statistics about current cluster usage, use our command qsum:&lt;br /&gt;
&lt;br /&gt;
 qsum&lt;br /&gt;
&lt;br /&gt;
* Use pbstop for a graphical display of cluster usage:&lt;br /&gt;
&lt;br /&gt;
 pbstop [-?]&lt;br /&gt;
&lt;br /&gt;
* pestat will give node-by-node cluster information:&lt;br /&gt;
&lt;br /&gt;
 pestat [-?]&lt;br /&gt;
&lt;br /&gt;
* To get a lot of info from Torque about a running or queued job:&lt;br /&gt;
&lt;br /&gt;
 qstat -f &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To diagnose problems with a job, you&#039;ll need to use both the Torque command tracejob and the Maui command checkjob, and possibly the Maui command diagnose:&lt;br /&gt;
&lt;br /&gt;
 tracejob &amp;lt;job-id&amp;gt;&lt;br /&gt;
 checkjob [-v] &amp;lt;job-id&amp;gt;&lt;br /&gt;
 diagnose -j &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you want to find out when Maui thinks your job will run, use showstart:&lt;br /&gt;
&lt;br /&gt;
 showstart &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ showstart 56&lt;br /&gt;
 job 56 requires 32 procs for 1:40:00&lt;br /&gt;
 Earliest start in          1:32:48 on Wed Nov 25 18:02:37&lt;br /&gt;
 Earliest completion in     3:12:48 on Wed Nov 25 19:42:37&lt;br /&gt;
&lt;br /&gt;
* If you want to find out how small and how short you need to make a job for it to run immediately in a particular queue, use the Maui command showbf:&lt;br /&gt;
&lt;br /&gt;
 showbf [-f &amp;lt;node-feature&amp;gt;] [-n nodecount] [-d walltime]&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;node-feature&amp;gt; is one of quadcore, eightgb, or thirtytwogb. (&amp;quot;bf&amp;quot; is for backfill, the algorithm used to schedule short and small jobs without interfering with higher priority jobs.) Maui unfortunately doesn&#039;t take into account all of our scheduling policies, so showbf&#039;s core counts may be too high; nor does it know about our queue walltime limits.&lt;br /&gt;
&lt;br /&gt;
* We have our own utility, qbf, which summarizes the output of showbf for each queue:&lt;br /&gt;
&lt;br /&gt;
 $ qbf&lt;br /&gt;
 Queue       Cores  Time&lt;br /&gt;
 quadcore      112  5:49:09&lt;br /&gt;
 quadcore       40  3:00:00:00&lt;br /&gt;
 thirtytwogb     8  1:00:00:00&lt;br /&gt;
&lt;br /&gt;
This means that a 40 core job of any duration will run immediately, but a job requesting more than 40 cores will run immediately only if it requests less than 5 hours, 49 minutes. qbf is, however, subject to the same caveat as showbf.&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 jobnodes [-s] &amp;lt;jobid&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
 $ jobnodes -s 45124 45873 &lt;br /&gt;
 n008,n015&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which your jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 mynodes [-s]&lt;br /&gt;
&lt;br /&gt;
 $ mynodes -s&lt;br /&gt;
 n010,n097&lt;br /&gt;
&lt;br /&gt;
* To see if your application is still running on your nodes:&lt;br /&gt;
&lt;br /&gt;
 $ pdsh -w $(mynodes) ps&lt;br /&gt;
&lt;br /&gt;
 n046:   PID TTY          TIME CMD&lt;br /&gt;
 n046: 13056 ?        00:00:00 bash&lt;br /&gt;
 n046: 13717 ?        00:00:00 bash&lt;br /&gt;
 n046: 13721 ?        00:00:00 sshd&lt;br /&gt;
 n046: 13722 ?        00:00:00 ps&lt;br /&gt;
&lt;br /&gt;
For all of these commands, only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
==== qsub-stat ====&lt;br /&gt;
&lt;br /&gt;
qsub-stat is available only on Phoenix and requires the ls-dyna/base module to be loaded. &lt;br /&gt;
&lt;br /&gt;
Most of the commands for tracking your jobs and checking cluster status can be accessed via graphical application qsub-stat. Please refer to section on NoMachine to learn how to run graphical sessions on the TRACC Cluster. qsub-stat has three tabs. The first one shows percentage usage of the two queues (8GB and 32GB) and the disk space usage. Once you move mouse cursor on the meter you will get more detailed information on usage of the queues and the disk space. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Resources2.png|thumb|none|left|600px|alt=Resources tab|Resources tab]]&lt;br /&gt;
&lt;br /&gt;
In the Terminal tab majority of explained previously statistics commands can be called through mouse menu. Press and hold right or left mouse button to have access to the commands&#039; list. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Terminal2.png|thumb|none|left|600px|alt=Terminal tab|Terminal tab]]&lt;br /&gt;
&lt;br /&gt;
The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Cluster Usage (showq):&lt;br /&gt;
   - showq&lt;br /&gt;
   - showq - r (running)&lt;br /&gt;
   - showq - b (blocked)&lt;br /&gt;
 - Cluster Usage (qsum)&lt;br /&gt;
 - Cluster Usage (qstat)&lt;br /&gt;
 - Available Resources (qbf)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - LS-DYNA Usage (qdyna)&lt;br /&gt;
 - Madymo Usage (license server report)&lt;br /&gt;
 - Fluent Usage (license server report)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Current Login Node activity (htop)&lt;br /&gt;
 - Node activity (pbstop)&lt;br /&gt;
 - Node activity (pestat)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - See My Jobs&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Current usage of the cluster can also be viewed in the Job Status tab. When you press and hold right or left mouse button on a job, you will see a menu of commands that you can apply to it (Some of them will work only on your own jobs). The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Show additional info:&lt;br /&gt;
   - qstat -f &lt;br /&gt;
   - chcekjob &lt;br /&gt;
   - tracejob&lt;br /&gt;
   - diagnosejob -j&lt;br /&gt;
   - showstart&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open standard output&lt;br /&gt;
 - statistics on master node (htop)&lt;br /&gt;
 - ssh to master node&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open work directory in browser&lt;br /&gt;
 - open work directory in terminal&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - delete job (qdel)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Job_status2.png|thumb|none|left|600px|alt=Job Status tab|Job Status tab]]&lt;br /&gt;
&lt;br /&gt;
Htop command shows live statistics on the master node of the current job.&lt;br /&gt;
[[Image:600px-Htop.png|thumb|none|left|600px|alt=Htop|Htop]]&lt;br /&gt;
&lt;br /&gt;
=== Deleting a job ===&lt;br /&gt;
&lt;br /&gt;
To delete a job, use Torque&#039;s qdel or Maui&#039;s canceljob, which simply calls qdel itself:&lt;br /&gt;
&lt;br /&gt;
 qdel &amp;lt;job-id&amp;gt;&lt;br /&gt;
 canceljob &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Torque will delete the job immmediately with either command, but Maui may not know about the deletion for up to a minute, during which time it will continue to show up in the output of showq.&lt;br /&gt;
&lt;br /&gt;
If either Torque or Maui tells you it can&#039;t delete the job, please send us an email and we&#039;ll delete it for you.&lt;br /&gt;
&lt;br /&gt;
Only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
=== Interactive Jobs ===&lt;br /&gt;
&lt;br /&gt;
You can get interactive access to a compute node with Torque by using the -I switch to qsub:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
If you want to run a GUI application on the compute node, use the -X switch:&lt;br /&gt;
&lt;br /&gt;
 qsub -I -X ...&lt;br /&gt;
&lt;br /&gt;
For this to work, you will need to either use the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, or enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster. Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
Also see [[#Accessing_a_compute_node_directly | below]] for an alternative means of directly accessing computes nodes.&lt;br /&gt;
&lt;br /&gt;
=== Using GUI applications on a compute node ===&lt;br /&gt;
&lt;br /&gt;
If you want to use a GUI application on a compute node, you will need to enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster, and again when you ssh to the compute node (as described above). Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
After logging in to a login node, you would then do this to access the compute node:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y n001&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, you won&#039;t need to ssh to a login node, but you will still need to ssh to a compute node.&lt;br /&gt;
&lt;br /&gt;
=== Accessing a compute node directly ===&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is by having Torque give you [[#Interactive_jobs | interactive]] access to a node. But if you want to start a process running on a compute node and have it continue to run after you log out, use the method described here.&lt;br /&gt;
&lt;br /&gt;
* You can access any compute node which is running one of your jobs with the command&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;compute-node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the command&lt;br /&gt;
&lt;br /&gt;
 qstat -n1 &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to find out which nodes are running &amp;lt;job-id&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you want Torque to assign you nodes, but don&#039;t need it to run a job on your behalf, you can do (for example)&lt;br /&gt;
&lt;br /&gt;
 echo sleep 24h | qsub -l select=1,walltime=24:00:00&lt;br /&gt;
&lt;br /&gt;
and then ssh to the node.&lt;br /&gt;
&lt;br /&gt;
=== Using licensed software ===&lt;br /&gt;
&lt;br /&gt;
For some of our software we have a limited number of licenses. To ensure that there will be sufficient licenses available when Maui schedules your job, you will need to submit your job under an application-specific account. Any application wrapper scripts we have will take care of this for you, but if you need to specify the account manually, you would do it like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA:&lt;br /&gt;
&lt;br /&gt;
 qsub -A dyna ...&lt;br /&gt;
&lt;br /&gt;
=== Debugging a job ===&lt;br /&gt;
&lt;br /&gt;
Some things to keep in mind or to try when your job doesn&#039;t run as expected:&lt;br /&gt;
&lt;br /&gt;
* Jobs don&#039;t inherit any environment variables from the submission environment. This means that if your job requires that PATH, LD_LIBRARY_PATH, MPI_HOME, or any other variable be set, you&#039;ll need to set it either in the job script, either directly or with a module, or in your shell configuration files.&lt;br /&gt;
&lt;br /&gt;
* Try running your job interactively on a compute node, like this:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
Now run your job script or start up a debugger with your program, just as you would on a login node.&lt;br /&gt;
&lt;br /&gt;
* Try some simple jobs, and look at the standard output and standard error files (STDIN.o&amp;lt;job-id&amp;gt; and STDIN.e&amp;lt;job-id&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 echo | qsub&lt;br /&gt;
 echo env | qsub&lt;br /&gt;
&lt;br /&gt;
* If you want to see the output of your job as it&#039;s being produced, use qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Undeliverable job output ===&lt;br /&gt;
&lt;br /&gt;
If Torque cannot copy the files containing the output of your job to the job&#039;s working directory, the files will eventually be copied to /mnt/gpfs/undelivered. They will be deleted after 10 days.&lt;br /&gt;
&lt;br /&gt;
=== Requeuing of jobs ===&lt;br /&gt;
&lt;br /&gt;
If your job dies due to a problem with the cluster, it will not automatically be requeued. If you would like it to be, do&lt;br /&gt;
&lt;br /&gt;
 qsub -r y ...&lt;br /&gt;
&lt;br /&gt;
=== Reserving the cluster ===&lt;br /&gt;
&lt;br /&gt;
Users cannot directly reserve the cluster, but if you think you might have a need for a reservation, please contact us.  &lt;br /&gt;
[mailto:TRACC_Director@anl.gov Click to send email] as far in advance as possible.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Graphical_Applications&amp;diff=2261</id>
		<title>Graphical Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Graphical_Applications&amp;diff=2261"/>
		<updated>2025-04-16T22:09:20Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Graphical Applications Using NoMachine NX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Graphic Application Comments==&lt;br /&gt;
&lt;br /&gt;
This chapter describes the use of graphical user interfaces to bring the Linux desktop to your local machine. This gives you the ability to work with graphical applications, browse and edit files in a graphical manner that is similar to your usual work patterns, and establish remote sessions that stay alive while you disconnect from the cluster. You can of course fully log out when appropriate, but by default, the session stays alive until you reconnect at a later time. This allows you to keep interactive applications running for very long times if needed.&lt;br /&gt;
&lt;br /&gt;
There are three ways to connect to Arrow to run graphic applications. These are:&lt;br /&gt;
&lt;br /&gt;
* Running the NoMachine NX client&lt;br /&gt;
* Running the X2Go client&lt;br /&gt;
* Running X and using an SSH terminal client to forward the X protocol&lt;br /&gt;
&lt;br /&gt;
Running NoMachine and X2Go are the most efficient because they transfer information between the cluster and the client using data compression and a special protocol to minimize data transmissions.&lt;br /&gt;
&lt;br /&gt;
Note: When using the third option, you will not have a full Linux desktop on your screen. Instead, Linux applications can bring up your user interface on your client for interaction. This is much slower than the other two options, but may be useful for your specific application. In this case, all rendering is done on your client rather than on the remote server.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s assume that you have an X server running on your machine, and that you have the ssh command available. In that case, you would do the following:&lt;br /&gt;
&lt;br /&gt;
 ssh -X userid@login1.arrow.tracc.anl.gov&lt;br /&gt;
 enter your password&lt;br /&gt;
 xeyes&lt;br /&gt;
&lt;br /&gt;
This last command is just for testing. You should see a set of eyes that can be moved around using your mouse. If this works, then your graphical application scan be used remotely.&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using NoMachine NX==&lt;br /&gt;
&lt;br /&gt;
To provide for the remote use of graphical applications on the cluster, we&#039;ve installed [http://www.nomachine.com NoMachine NX] on the login hosts. This method allow you to establish a remote desktop on the login machine, which stays alive even when you disconnect from it. You can of course log out of that connection, but by default, the desktop stays alive, allowing you to keep interactive applications running while disconnected. To use this software,&lt;br /&gt;
&lt;br /&gt;
* download and install the free [http://www.nomachine.com/download.php NX Client].&lt;br /&gt;
* connect to the TRACC cluster using one of the login nodes:&lt;br /&gt;
** login1.arrow.tracc.anl.gov&lt;br /&gt;
** login2.arrow.tracc.anl.gov&lt;br /&gt;
** login3.arrow.tracc.anl.gov&lt;br /&gt;
** login4.arrow.tracc.anl.gov&lt;br /&gt;
* The NX protocol for connections is not supported. Please choose SSH from the pull-down menu.&lt;br /&gt;
* When connecting the very first time, you are prompted to confirm that you are connecting to the correct server, showing a server key. Confirm and continue.&lt;br /&gt;
* When doing this for the first time, create a new Linux Desktop. This will be shown in the future when connecting again.&lt;br /&gt;
* Please remember that you need a proper account, password, and that we need to have your public IP address on file for all of this to work properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- # After installing the client, you&#039;ll need to install a public key from one of the login nodes:&lt;br /&gt;
## Copy /usr/NX/share/keys/default.id_dsa.key from one of the login nodes to your local machine (it doesn&#039;t matter where).&lt;br /&gt;
## In the NoMachine client, choose Configure..., then Key..., then Import. Choose the default.id_dsa.key you just downloaded. Choose Save. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have problems, please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email].&lt;br /&gt;
&lt;br /&gt;
=== Terminating and Disconnecting ===&lt;br /&gt;
&lt;br /&gt;
When you quit an NX session, you can either terminate it or disconnect from it. Terminating it will close all your running programs. If you disconnect, you can reconnect later to the same session. Interactive applications will continue running while disconnected, so this is a convenient way to occasionally check on progress, or to work with long running applications despite possible network issues.&lt;br /&gt;
&lt;br /&gt;
If you close the NX client window, you will be simply disconnected and can resume this connection at a later time. To fully log out, use the Linux pull-down command at the top left of your screen, and choose the bottom entry to log out.&lt;br /&gt;
&lt;br /&gt;
=== Reconnecting ===&lt;br /&gt;
&lt;br /&gt;
If you want to reconnect to an NX session, you&#039;ll have to log in to the same login node on which it was started.&lt;br /&gt;
&lt;br /&gt;
=== Problems ===&lt;br /&gt;
&lt;br /&gt;
We will post trouble-shooting instructions in this section if ever needed. The latest versions are very stable.&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using X2Go==&lt;br /&gt;
&lt;br /&gt;
X2Go can be installed by following the [https://wiki.x2go.org/doku.php/doc:installation:x2goclient instructions here.]. Instructions are provided for Windows, OSX, and a number of other client OSs.&lt;br /&gt;
&lt;br /&gt;
After installing the client software, create a new connection with the following settings&lt;br /&gt;
&lt;br /&gt;
* connection to one of our login servers&lt;br /&gt;
** login1.arrow.tracc.anl.gov&lt;br /&gt;
** login2.arrow.tracc.anl.gov&lt;br /&gt;
** login3.arrow.tracc.anl.gov&lt;br /&gt;
** login4.arrow.tracc.anl.gov&lt;br /&gt;
* account name and password of course&lt;br /&gt;
* IMPORTANT: from the pull-down menu, choose the XFCE desktop&lt;br /&gt;
* Also, we recommend turning off remote audio (it won&#039;t work anyway)&lt;br /&gt;
&lt;br /&gt;
* on Macs: It should be noticed that if you don&#039;t already have XQuartz installed on OSX, you will need to do that before installing X2Go.&lt;br /&gt;
* A general X2Go tutorial can be [https://wiki.anl.gov/wiki_traccwiki/index.php?title=Graphical_Applications&amp;amp;action=editfound here.]&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using X==&lt;br /&gt;
[http://sourceforge.net/projects/xming xming] is a convenient and easy way to install an X server for Windows. However, if you&#039;re doing pre- or post-processing that requires sending a lot of graphics over the network, we recommend NoMachine NX or X2Go because their compression of the graphics yields a significant speed advantage over X. Also, rendering is generally perform on the server side rather than your local machine, speeding things up. In addition, the X protocol is very chatty, and performs poorly over the SSH encryption channel.&lt;br /&gt;
&lt;br /&gt;
*To install X on a Mac, refer to this [https://princetonuniversity.github.io/PUbootcamp/ssh-instructions site ]&lt;br /&gt;
* The Mac uses XQuart to implement X applications and should be installed if not alread installed on your version of OSX. To bring up the window, connect to the cluster using the following (-X or -Y is required):&lt;br /&gt;
 ssh -Y userid@login1.arrow.tracc.anl.gov&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Policies&amp;diff=2260</id>
		<title>TRACC Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Policies&amp;diff=2260"/>
		<updated>2025-04-14T21:53:59Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Application Restrictions==&lt;br /&gt;
Parallel jobs must be run on the compute nodes using Torque. Multicore jobs on the login nodes may be killed without notice.&lt;br /&gt;
&lt;br /&gt;
==Data Retention==&lt;br /&gt;
* Thirty days after the expiration of your project, your files will be deleted from the TRACC cluster and from the TRACC backup system.&lt;br /&gt;
&lt;br /&gt;
==Email==&lt;br /&gt;
* If we cannot contact you at the email address which Argonne lists as your contact address, your account will be locked until you provide us with a valid address.&lt;br /&gt;
&lt;br /&gt;
==Login Nodes==&lt;br /&gt;
* Resource-intensive jobs on the login nodes may be killed at any time, without warning or notification.&lt;br /&gt;
* Repeated violation of this policy will result in revocation of your account.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=2259</id>
		<title>TRACC Cluster Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=2259"/>
		<updated>2025-04-14T21:53:23Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following lists the software that is supported on ARROW and the software we are considering for support in the future. Click on the software for Application Notes.&lt;br /&gt;
==Supported On ARROW==&lt;br /&gt;
&lt;br /&gt;
[[LS-DYNA | * LS-DYNA]]&lt;br /&gt;
&lt;br /&gt;
[[LS-PrePost | * LS-PrePost]]&lt;br /&gt;
&lt;br /&gt;
[[LS-OPT | * LS-OPT]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM | * OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[Python | * Python]]&lt;br /&gt;
&lt;br /&gt;
[[STAR-CCM+ | * STAR-CCM+]]&lt;br /&gt;
&lt;br /&gt;
==Under Investigation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* MATLAB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* COMSOL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* Abaqus&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Graphical_Applications&amp;diff=2258</id>
		<title>Graphical Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Graphical_Applications&amp;diff=2258"/>
		<updated>2025-04-14T21:52:30Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Graphic Application Comments==&lt;br /&gt;
&lt;br /&gt;
This chapter describes the use of graphical user interfaces to bring the Linux desktop to your local machine. This gives you the ability to work with graphical applications, browse and edit files in a graphical manner that is similar to your usual work patterns, and establish remote sessions that stay alive while you disconnect from the cluster. You can of course fully log out when appropriate, but by default, the session stays alive until you reconnect at a later time. This allows you to keep interactive applications running for very long times if needed.&lt;br /&gt;
&lt;br /&gt;
There are three ways to connect to Arrow to run graphic applications. These are:&lt;br /&gt;
&lt;br /&gt;
* Running the NoMachine NX client&lt;br /&gt;
* Running the X2Go client&lt;br /&gt;
* Running X and using an SSH terminal client to forward the X protocol&lt;br /&gt;
&lt;br /&gt;
Running NoMachine and X2Go are the most efficient because they transfer information between the cluster and the client using data compression and a special protocol to minimize data transmissions.&lt;br /&gt;
&lt;br /&gt;
Note: When using the third option, you will not have a full Linux desktop on your screen. Instead, Linux applications can bring up your user interface on your client for interaction. This is much slower than the other two options, but may be useful for your specific application. In this case, all rendering is done on your client rather than on the remote server.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s assume that you have an X server running on your machine, and that you have the ssh command available. In that case, you would do the following:&lt;br /&gt;
&lt;br /&gt;
 ssh -X userid@login1.arrow.tracc.anl.gov&lt;br /&gt;
 enter your password&lt;br /&gt;
 xeyes&lt;br /&gt;
&lt;br /&gt;
This last command is just for testing. You should see a set of eyes that can be moved around using your mouse. If this works, then your graphical application scan be used remotely.&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using NoMachine NX==&lt;br /&gt;
&lt;br /&gt;
To provide for the remote use of graphical applications on the cluster, we&#039;ve installed [http://www.nomachine.com NoMachine NX] on the login hosts. This method allow you to establish a remote desktop on the login machine, which stays alive even when you disconnect from it. You can of course log out of that connection, but by default, the desktop stays alive, allowing you to keep interactive applications running while disconnected. To use this software,&lt;br /&gt;
&lt;br /&gt;
* download and install the free [http://www.nomachine.com/download.php NX Client].&lt;br /&gt;
* connect to the TRACC cluster using one of the login nodes:&lt;br /&gt;
** login1.arrow.tracc.anl.gov&lt;br /&gt;
** login2.arrow.tracc.anl.gov&lt;br /&gt;
** login3.arrow.tracc.anl.gov&lt;br /&gt;
** login4.arrow.tracc.anl.gov&lt;br /&gt;
* The NX protocol for connections is not supported. Please choose SSH from the pull-down menu.&lt;br /&gt;
* When connecting the very first time, you are prompted to confirm that you are connecting to the correct server, showing a server key. Confirm and continue.&lt;br /&gt;
* When doing this for the first time, create a new Linux Desktop. This will be shown in the future when connecting again.&lt;br /&gt;
* Please remember that you need a proper account, password, and that we need to have your public IP address on file for all of this to work properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- # After installing the client, you&#039;ll need to install a public key from one of the login nodes:&lt;br /&gt;
## Copy /usr/NX/share/keys/default.id_dsa.key from one of the login nodes to your local machine (it doesn&#039;t matter where).&lt;br /&gt;
## In the NoMachine client, choose Configure..., then Key..., then Import. Choose the default.id_dsa.key you just downloaded. Choose Save. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have problems, please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email] or via telephone at 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
=== Terminating and Disconnecting ===&lt;br /&gt;
&lt;br /&gt;
When you quit an NX session, you can either terminate it or disconnect from it. Terminating it will close all your running programs. If you disconnect, you can reconnect later to the same session. Interactive applications will continue running while disconnected, so this is a convenient way to occasionally check on progress, or to work with long running applications despite possible network issues.&lt;br /&gt;
&lt;br /&gt;
If you close the NX client window, you will be simply disconnected and can resume this connection at a later time. To fully log out, use the Linux pull-down command at the top left of your screen, and choose the bottom entry to log out.&lt;br /&gt;
&lt;br /&gt;
=== Reconnecting ===&lt;br /&gt;
&lt;br /&gt;
If you want to reconnect to an NX session, you&#039;ll have to log in to the same login node on which it was started.&lt;br /&gt;
&lt;br /&gt;
=== Problems ===&lt;br /&gt;
&lt;br /&gt;
We will post trouble-shooting instructions in this section if ever needed. The latest versions are very stable.&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using X2Go==&lt;br /&gt;
&lt;br /&gt;
X2Go can be installed by following the [https://wiki.x2go.org/doku.php/doc:installation:x2goclient instructions here.]. Instructions are provided for Windows, OSX, and a number of other client OSs.&lt;br /&gt;
&lt;br /&gt;
After installing the client software, create a new connection with the following settings&lt;br /&gt;
&lt;br /&gt;
* connection to one of our login servers&lt;br /&gt;
** login1.arrow.tracc.anl.gov&lt;br /&gt;
** login2.arrow.tracc.anl.gov&lt;br /&gt;
** login3.arrow.tracc.anl.gov&lt;br /&gt;
** login4.arrow.tracc.anl.gov&lt;br /&gt;
* account name and password of course&lt;br /&gt;
* IMPORTANT: from the pull-down menu, choose the XFCE desktop&lt;br /&gt;
* Also, we recommend turning off remote audio (it won&#039;t work anyway)&lt;br /&gt;
&lt;br /&gt;
* on Macs: It should be noticed that if you don&#039;t already have XQuartz installed on OSX, you will need to do that before installing X2Go.&lt;br /&gt;
* A general X2Go tutorial can be [https://wiki.anl.gov/wiki_traccwiki/index.php?title=Graphical_Applications&amp;amp;action=editfound here.]&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using X==&lt;br /&gt;
[http://sourceforge.net/projects/xming xming] is a convenient and easy way to install an X server for Windows. However, if you&#039;re doing pre- or post-processing that requires sending a lot of graphics over the network, we recommend NoMachine NX or X2Go because their compression of the graphics yields a significant speed advantage over X. Also, rendering is generally perform on the server side rather than your local machine, speeding things up. In addition, the X protocol is very chatty, and performs poorly over the SSH encryption channel.&lt;br /&gt;
&lt;br /&gt;
*To install X on a Mac, refer to this [https://princetonuniversity.github.io/PUbootcamp/ssh-instructions site ]&lt;br /&gt;
* The Mac uses XQuart to implement X applications and should be installed if not alread installed on your version of OSX. To bring up the window, connect to the cluster using the following (-X or -Y is required):&lt;br /&gt;
 ssh -Y userid@login1.arrow.tracc.anl.gov&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2257</id>
		<title>Running Your Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2257"/>
		<updated>2025-04-14T21:51:54Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Careful, this chapter is quite outdated and needs to be rewritten =&lt;br /&gt;
&lt;br /&gt;
== Running Jobs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please do not run CPU- or memory-intensive tasks on the login nodes; always run them on the compute nodes. Resource-intensive processes running on login nodes may be killed at any time, without warning or notification.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Getting started ===&lt;br /&gt;
&lt;br /&gt;
Jobs are submitted to the cluster using Torque and scheduled by Maui. Some documentation of the commands that are used by Torque and Maui can be found on the man pages. For example:&lt;br /&gt;
 man qsub&lt;br /&gt;
&lt;br /&gt;
To use Torque and Maui, you&#039;ll need to make sure the base [[Setting Up Your Environment#Accessing application software with modules | module]] is loaded in your shell&#039;s setup files:&lt;br /&gt;
&lt;br /&gt;
 module load base&lt;br /&gt;
&lt;br /&gt;
Feel free to to contact us. [mailto:TRACC_Director@anl.gov Click to send email] or via telephone: 630-252-8224 if you need help with Torque or Maui. Note that other documentation you might find regarding Torque and Maui may not apply to the TRACC cluster because of differences in how we&#039;ve configured the software.&lt;br /&gt;
&lt;br /&gt;
=== Torque&#039;s view of the cluster ===&lt;br /&gt;
&lt;br /&gt;
Torque and Maui are both used to schedule and run job for both the arrow and nhtsa queues.&lt;br /&gt;
&lt;br /&gt;
=== Submitting jobs ===&lt;br /&gt;
&lt;br /&gt;
==== Job scripts ====&lt;br /&gt;
&lt;br /&gt;
The usual way of running a job with Torque is to submit a shell script. For most commercial applications we have wrapper scripts to automatically generate job scripts; see our [[TRACC Cluster Software#Supported On ARROW | application notes for our supported software]], or contact your sponsor for more info, then skip ahead to information about [[#qsub usage | qsub]].&lt;br /&gt;
&lt;br /&gt;
A simple script to run an MPI job would be &lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # PBS directives must precede all executable commands&lt;br /&gt;
 &lt;br /&gt;
 cd $PBS_O_WORKDIR&lt;br /&gt;
 &lt;br /&gt;
 ## HPMPI&lt;br /&gt;
 # mpirun -hostfile $PBS_NODEFILE ./mpi-application&lt;br /&gt;
 &lt;br /&gt;
 ## Intel MPI&lt;br /&gt;
 # mpirun ./mpi-application&lt;br /&gt;
&lt;br /&gt;
If you need to load a module in your shell script, do it like this, for scripts written in /bin/sh or /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.sh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, if your script is written in /bin/csh or /bin/tcsh:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.csh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, for Python:&lt;br /&gt;
&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.path.append(&amp;quot;/soft/modules/current/init&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 import envmodule&lt;br /&gt;
 envmodule.module(&amp;quot;load &amp;lt;some-module&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
or like this, for Perl:&lt;br /&gt;
&lt;br /&gt;
 use lib &amp;quot;/soft/modules/current/init&amp;quot;;&lt;br /&gt;
 use envmodule;&lt;br /&gt;
 module(&amp;quot;load &amp;lt;some-module&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
For other languages, you can usually achieve the same effect by loading the module in your shell&#039;s configuration files (.bashrc or .cshrc).&lt;br /&gt;
&lt;br /&gt;
==== Torque variables ====&lt;br /&gt;
&lt;br /&gt;
* Torque sets several variables which you can use in your job scripts. See the qsub man page for the complete list.&lt;br /&gt;
&lt;br /&gt;
* All Torque variables begin with &amp;quot;PBS&amp;quot;, as Torque used to be known as OpenPBS (which was the precursor of PBS Pro).&lt;br /&gt;
&lt;br /&gt;
* The most important Torque variables to be aware of are&lt;br /&gt;
&lt;br /&gt;
 PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
which is the working directory at the time of job submission, and&lt;br /&gt;
&lt;br /&gt;
 PBS_NODEFILE&lt;br /&gt;
&lt;br /&gt;
which contains a list of the compute nodes which Torque has assigned your job, in the form&lt;br /&gt;
&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
&lt;br /&gt;
with each node listed once for each core.&lt;br /&gt;
&lt;br /&gt;
==== qsub usage ====&lt;br /&gt;
&lt;br /&gt;
The command is used to submit jobs to the cluster. qsub&#039;s behavior can be customized with command line options or script directives. Note that all script directives must precede all executable commands, so it&#039;s best to put all directives at the top of the script file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To use qsub to submit a 32-core job; to the batch queue which is the default queue; with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&lt;br /&gt;
 qsub -l nodes=4:ppn=8,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=4:ppn=8&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* For scientific applications that rely heavily on floating point operations such as STAR-CCM+, LS-DYNA, OpenFOAM, and University CFD research codes, users should specify 16 cores per node ( PPN=16 ), and not 32 since each node has a total of 16 floating point units (FPUs).  Specifying 32 cores ( PPN=32 ) per compute node will not provide substantial performance gains, but will use up commerical licenses. &lt;br /&gt;
* To use the nhtsa queue which is not the default queue and has 64 GB nodes:&lt;br /&gt;
* To use qsub to submit a 64-core job with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&#039;&#039;&#039;Steve can you modify the following command to use the nhtsa queue.... Larry&#039;&#039;&#039;&lt;br /&gt;
 qsub -l nodes=2:ppn=32,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=2:ppn=32&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
==== Initial directory ====&lt;br /&gt;
&lt;br /&gt;
Torque by default will run your script from your home directory. You can specify a different initial directory with&lt;br /&gt;
&lt;br /&gt;
 qsub -d ...&lt;br /&gt;
&lt;br /&gt;
For example, to start in your current directory:&lt;br /&gt;
&lt;br /&gt;
 qsub -d `pwd`&lt;br /&gt;
&lt;br /&gt;
==== Large memory jobs ====&lt;br /&gt;
There are two queues that are available for large memory jobs. &lt;br /&gt;
&lt;br /&gt;
* batch64 queue&lt;br /&gt;
** 2 nodes numbered n003 and n004&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 64GB of RAM per node&lt;br /&gt;
** available for general use &lt;br /&gt;
&lt;br /&gt;
* batch128 queue&lt;br /&gt;
** 2 nodes numbered n001 and n002&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 128GB of RAM per node&lt;br /&gt;
** available for general use&lt;br /&gt;
&lt;br /&gt;
As an example, to submit your jobs to the batch128 queue:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch128 ...&lt;br /&gt;
&lt;br /&gt;
Jobs on the nodes are limited to 72 hours.&lt;br /&gt;
&lt;br /&gt;
Swap has been disabled on these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Short jobs ====&lt;br /&gt;
&lt;br /&gt;
Weekdays from 7am CDT to 7pm CDT, two nodes are set aside for jobs on Phoenix with walltimes of 2 hours or less. Maui will automatically schedule short jobs to these nodes. No policy is currently in place for Zephyr.&lt;br /&gt;
&lt;br /&gt;
=== Usage policies ===&lt;br /&gt;
&lt;br /&gt;
==== Maximum walltime ====&lt;br /&gt;
&lt;br /&gt;
Jobs which exceed these walltime limits will be rejected by Torque.&lt;br /&gt;
&lt;br /&gt;
 On Zephyr:&lt;br /&gt;
 batch queue: 168 hours&lt;br /&gt;
 batch64 queue: 72 hours&lt;br /&gt;
 batch128 queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
 On Phoenix:&lt;br /&gt;
 quadcore queue: 168 hours&lt;br /&gt;
 thirtytwogb queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
==== Quotas ====&lt;br /&gt;
&lt;br /&gt;
Job which exceed the following quotas will be blocked by Maui. Blocked jobs can be seen with the command&lt;br /&gt;
&lt;br /&gt;
 showq -b&lt;br /&gt;
&lt;br /&gt;
==== Node quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
==== Queue quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
=== Quality of Service (QOS) ===&lt;br /&gt;
&lt;br /&gt;
In order to override the cluster&#039;s usage quotas, you can submit your jobs with a preemptible QOS. The caveat is that a preemptible job may be killed at any time, regardless of its wallclock limit, if doing so would enable another user&#039;s ordinary, non-preemptible job to run (your own non-preemptible jobs will not preempt your preemptible jobs).&lt;br /&gt;
&lt;br /&gt;
To make a job preemptible, you can submit it with a QOS (quality of service) flag. For example:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=QOS:preemptible ... &amp;lt;jobscript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can make a submitted job (whether queued or running) preemptible with the Maui comand setqos:&lt;br /&gt;
&lt;br /&gt;
 setqos preemptible &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you can make a job non-preemptible by setting its QOS to DEFAULT:&lt;br /&gt;
&lt;br /&gt;
 setqos DEFAULT &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a job&#039;s QOS with the command [[Using_the_cluster#Job_and_cluster_info | checkjob]].&lt;br /&gt;
&lt;br /&gt;
Note that because of a bug in Torque, if you want to specify a [[Using_the_cluster#Using_fewer_than_8_cores_per_node | node access policy]] and a QOS, you should not specify the QOS to Torque, but should instead submit the job without a QOS, then set the QOS using setqos.&lt;br /&gt;
&lt;br /&gt;
=== How the scheduler determines which job to run next ===&lt;br /&gt;
&lt;br /&gt;
Maui runs queued jobs in priority order (blocked jobs are not considered). Priority is a function of&lt;br /&gt;
&lt;br /&gt;
* your recent cluster usage (the less usage, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* the number of nodes requested (the more nodes, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* a combination of the walltime requested (the less time, the higher the priority) and how long the job has been waiting to run&lt;br /&gt;
&lt;br /&gt;
This last factor is referred to as the &amp;quot;expansion factor&amp;quot; in the Maui documentation, and is equal to&lt;br /&gt;
&lt;br /&gt;
 1 + time since submission / wallclock time&lt;br /&gt;
&lt;br /&gt;
which, all else being equal, is designed to cause jobs to wait on average only as long as their requested walltime.&lt;br /&gt;
&lt;br /&gt;
Maui also uses &amp;quot;backfill&amp;quot; to schedule short and small jobs when doing so would not interfere with higher priority jobs.&lt;br /&gt;
&lt;br /&gt;
To find out how the priority of your job was calculated, use the Maui command &#039;&#039;&#039;diagnose&#039;&#039;&#039;, which will show something like this:&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -p&lt;br /&gt;
 diagnosing job priority information (partition: ALL)&lt;br /&gt;
 &lt;br /&gt;
 Job                    PRIORITY*     FS( User)  Serv(XFctr)   Res( Proc)&lt;br /&gt;
              Weights   --------       1(    1)     1(    1)     1(    1)&lt;br /&gt;
 &lt;br /&gt;
 46                          113     6.9( -9.0)   1.2(  1.6)  91.9(120.0)&lt;br /&gt;
 47                           77     9.5( -9.0)   1.6(  1.5)  88.9( 84.0)&lt;br /&gt;
 &lt;br /&gt;
 Percent Contribution   --------     8.0(  8.0)   1.4(  1.4)  90.6( 90.6)&lt;br /&gt;
&lt;br /&gt;
FS refers to the fairshare factor. For both jobs, the user&#039;s usage is above the target usage, making the fairshare factor negative.&lt;br /&gt;
&lt;br /&gt;
The exact weight given to each factor is subject to change as we attempt to find a balance between high utilization and fairness to all users.&lt;br /&gt;
&lt;br /&gt;
The diagnose command will also tell you how much you and other users have been using the cluster over the past week.&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -f&lt;br /&gt;
 FairShare Information&lt;br /&gt;
 &lt;br /&gt;
 Depth: 7 intervals   Interval Length: 1:00:00:00   Decay Rate: 0.75&lt;br /&gt;
 &lt;br /&gt;
 FS Policy: UTILIZEDPS&lt;br /&gt;
 System FS Settings:  Target Usage: 0.00    Flags: 0&lt;br /&gt;
 &lt;br /&gt;
 FSInterval        %     Target       0       1       2       3       4       5       6&lt;br /&gt;
 FSWeight       ------- -------  1.0000  0.7500  0.5625  0.4219  0.3164  0.2373  0.1780&lt;br /&gt;
 TotalUsage      100.00 ------- 23779.0  4358.0  6114.8 10451.7 10853.7  6915.1  7861.7&lt;br /&gt;
 &lt;br /&gt;
 USER&lt;br /&gt;
 -------------&lt;br /&gt;
 bvannemreddy      0.00   5.00  ------- ------- ------- ------- ------- ------- -------&lt;br /&gt;
 ac.smiyawak*     16.74   5.00    18.66   32.48    0.75   16.23    0.71   17.28   27.11&lt;br /&gt;
 bernard           0.09   5.00  ------- ------- -------    0.80    0.00    0.02    0.00&lt;br /&gt;
 ac.abarsan        2.17   5.00     2.08 ------- ------- ------- -------   17.27    8.36&lt;br /&gt;
&lt;br /&gt;
The asterisk indicates that the user is above their fairshare target, and that their jobs will be given a negative fairshare weight.&lt;br /&gt;
&lt;br /&gt;
=== More qsub options ===&lt;br /&gt;
&lt;br /&gt;
==== Receiving mail from Torque ====&lt;br /&gt;
&lt;br /&gt;
You can have Torque automatically email you when a job begins, ends, or aborts.&lt;br /&gt;
&lt;br /&gt;
 qsub -m &amp;lt;mail-options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;mail-options&amp;gt; argument consists of either the single character &#039;n&#039;, or one or more of &#039;a&#039;, &#039;b&#039;, &#039;e&#039;.&lt;br /&gt;
&lt;br /&gt;
 n No mail will be sent.&lt;br /&gt;
 a Mail will be sent when the job aborts.&lt;br /&gt;
 b Mail will be sent when the job begins.&lt;br /&gt;
 e Mail will be sent when the job ends.&lt;br /&gt;
&lt;br /&gt;
==== Redirecting job output ====&lt;br /&gt;
&lt;br /&gt;
Torque will write the standard output of your jobscript to &amp;lt;jobname&amp;gt;.o&amp;lt;jobnumber&amp;gt;, and the standard error to &amp;lt;jobname&amp;gt;.e&amp;lt;jobnumber&amp;gt;. To write them both to the standard output file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe ...&lt;br /&gt;
&lt;br /&gt;
or in your jobscript use&lt;br /&gt;
&lt;br /&gt;
 #PBS -joe&lt;br /&gt;
&lt;br /&gt;
To write standard output to a different file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or in your jobscript:&lt;br /&gt;
&lt;br /&gt;
 #PBS -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These can be combined; so, for example, submitting a job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe -o logfile&lt;br /&gt;
&lt;br /&gt;
will cause both standard output and standard error to be written to the file &#039;logfile&#039; in the directory in which the job is running.&lt;br /&gt;
&lt;br /&gt;
You can see the output file using the command qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
qpeek has several useful options:&lt;br /&gt;
&lt;br /&gt;
 $ qpeek -?&lt;br /&gt;
 qpeek:  Peek into a job&#039;s output spool files&lt;br /&gt;
 &lt;br /&gt;
  Usage:  qpeek [options] JOBID&lt;br /&gt;
 &lt;br /&gt;
  Options:&lt;br /&gt;
    -c      Show all of the output file (&amp;quot;cat&amp;quot;, default)&lt;br /&gt;
    -h      Show only the beginning of the output file (&amp;quot;head&amp;quot;)&lt;br /&gt;
    -t      Show only the end of the output file (&amp;quot;tail&amp;quot;)&lt;br /&gt;
    -f      Show only the end of the file and keep listening (&amp;quot;tail -f&amp;quot;)&lt;br /&gt;
    -#      Show only # lines of output&lt;br /&gt;
    -e      Show the stderr file of the job&lt;br /&gt;
    -o      Show the stdout file of the job (default)&lt;br /&gt;
    -?      Display this help message&lt;br /&gt;
&lt;br /&gt;
==== Using fewer than 8 cores per node on Phoenix and fewer than 32 cores per node on Zephyr====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Phoenix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 8 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Zephyr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 32 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
==== Forcing jobs to run sequentially ====&lt;br /&gt;
&lt;br /&gt;
* To have a job start only after another job has finished, use the &#039;&#039;&#039;depend&#039;&#039;&#039; job attribute:&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:&amp;lt;some job-id&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:1198 ...&lt;br /&gt;
&lt;br /&gt;
Many other dependency relationships are possible; please see the [http://www.clusterresources.com/torquedocs21/commands/qsub.shtml qsub man page].&lt;br /&gt;
&lt;br /&gt;
==== Passing variables to a jobscript ====&lt;br /&gt;
&lt;br /&gt;
By default, no environment variables are directly exported from the submission environment to the execution environment in which a job runs. This means that you&#039;ll usually need to load any modules the job requires in your job script, or in your shell configuration files, as described above, or use one of the following techniques to pass variables to a job.&lt;br /&gt;
&lt;br /&gt;
* To pass all environment variables:&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -V ...&lt;br /&gt;
&lt;br /&gt;
* To pass only specified variables:&lt;br /&gt;
&lt;br /&gt;
 qsub -v name=abc,model=neon ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -v name,model ...&lt;br /&gt;
&lt;br /&gt;
* You can also specify in a job script which variables Torque should import into the execution environment from the submission environment. To import all environment variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -V&lt;br /&gt;
&lt;br /&gt;
or to import only specified variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -v name,model&lt;br /&gt;
&lt;br /&gt;
Note that you cannot assign values to the variables this way.&lt;br /&gt;
&lt;br /&gt;
=== Job and cluster info ===&lt;br /&gt;
&lt;br /&gt;
* To see a list of jobs which are running, queued, and blocked, use the Maui command showq:&lt;br /&gt;
&lt;br /&gt;
 showq [-r | -i | -b ]&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 $ showq -r&lt;br /&gt;
           JobName  S Par  Effic  XFactor  Q      User    Group    MHost Procs   Remaining            StartTime&lt;br /&gt;
 &lt;br /&gt;
             67174  R DEF 100.00      0.0 pr      joe     joe  n101-ib     1    00:23:32  Wed Apr 28 14:05:12&lt;br /&gt;
             67233+ R DEF 182.60      1.1 pr      jan     jan  n082-ib     8    14:53:30  Thu Apr 29 13:37:49&lt;br /&gt;
             66942- R DEF  49.71      0.3 pr      lin     lin  n056-ib    64    18:59:14  Tue Apr 27 08:41:35&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;+&amp;quot; indicates that the job was [[#How_the_scheduler_determines_which_job_to_run_next | backfilled]]; the &amp;quot;—&amp;quot; that the job is [[Using_the_cluster#Quality_of_Service_.28QOS.29 | preemptible]].&lt;br /&gt;
&lt;br /&gt;
showq lists queued (Idle) jobs in descending [[#How_the_scheduler_determines_which_job_to_run_next | priority]] order. showq may show a job as running for up to a minute before it actually starts. To see if it&#039;s actually running in that first minute, use Torque&#039;s qstat:&lt;br /&gt;
&lt;br /&gt;
 qstat -a&lt;br /&gt;
&lt;br /&gt;
* To see how many cores are currently free for a job of a given walltime in each queue, use qbf:&lt;br /&gt;
&lt;br /&gt;
 qbf -d &amp;lt;walltime&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get more detailed statistics about current cluster usage, use our command qsum:&lt;br /&gt;
&lt;br /&gt;
 qsum&lt;br /&gt;
&lt;br /&gt;
* Use pbstop for a graphical display of cluster usage:&lt;br /&gt;
&lt;br /&gt;
 pbstop [-?]&lt;br /&gt;
&lt;br /&gt;
* pestat will give node-by-node cluster information:&lt;br /&gt;
&lt;br /&gt;
 pestat [-?]&lt;br /&gt;
&lt;br /&gt;
* To get a lot of info from Torque about a running or queued job:&lt;br /&gt;
&lt;br /&gt;
 qstat -f &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To diagnose problems with a job, you&#039;ll need to use both the Torque command tracejob and the Maui command checkjob, and possibly the Maui command diagnose:&lt;br /&gt;
&lt;br /&gt;
 tracejob &amp;lt;job-id&amp;gt;&lt;br /&gt;
 checkjob [-v] &amp;lt;job-id&amp;gt;&lt;br /&gt;
 diagnose -j &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you want to find out when Maui thinks your job will run, use showstart:&lt;br /&gt;
&lt;br /&gt;
 showstart &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ showstart 56&lt;br /&gt;
 job 56 requires 32 procs for 1:40:00&lt;br /&gt;
 Earliest start in          1:32:48 on Wed Nov 25 18:02:37&lt;br /&gt;
 Earliest completion in     3:12:48 on Wed Nov 25 19:42:37&lt;br /&gt;
&lt;br /&gt;
* If you want to find out how small and how short you need to make a job for it to run immediately in a particular queue, use the Maui command showbf:&lt;br /&gt;
&lt;br /&gt;
 showbf [-f &amp;lt;node-feature&amp;gt;] [-n nodecount] [-d walltime]&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;node-feature&amp;gt; is one of quadcore, eightgb, or thirtytwogb. (&amp;quot;bf&amp;quot; is for backfill, the algorithm used to schedule short and small jobs without interfering with higher priority jobs.) Maui unfortunately doesn&#039;t take into account all of our scheduling policies, so showbf&#039;s core counts may be too high; nor does it know about our queue walltime limits.&lt;br /&gt;
&lt;br /&gt;
* We have our own utility, qbf, which summarizes the output of showbf for each queue:&lt;br /&gt;
&lt;br /&gt;
 $ qbf&lt;br /&gt;
 Queue       Cores  Time&lt;br /&gt;
 quadcore      112  5:49:09&lt;br /&gt;
 quadcore       40  3:00:00:00&lt;br /&gt;
 thirtytwogb     8  1:00:00:00&lt;br /&gt;
&lt;br /&gt;
This means that a 40 core job of any duration will run immediately, but a job requesting more than 40 cores will run immediately only if it requests less than 5 hours, 49 minutes. qbf is, however, subject to the same caveat as showbf.&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 jobnodes [-s] &amp;lt;jobid&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
 $ jobnodes -s 45124 45873 &lt;br /&gt;
 n008,n015&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which your jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 mynodes [-s]&lt;br /&gt;
&lt;br /&gt;
 $ mynodes -s&lt;br /&gt;
 n010,n097&lt;br /&gt;
&lt;br /&gt;
* To see if your application is still running on your nodes:&lt;br /&gt;
&lt;br /&gt;
 $ pdsh -w $(mynodes) ps&lt;br /&gt;
&lt;br /&gt;
 n046:   PID TTY          TIME CMD&lt;br /&gt;
 n046: 13056 ?        00:00:00 bash&lt;br /&gt;
 n046: 13717 ?        00:00:00 bash&lt;br /&gt;
 n046: 13721 ?        00:00:00 sshd&lt;br /&gt;
 n046: 13722 ?        00:00:00 ps&lt;br /&gt;
&lt;br /&gt;
For all of these commands, only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
==== qsub-stat ====&lt;br /&gt;
&lt;br /&gt;
qsub-stat is available only on Phoenix and requires the ls-dyna/base module to be loaded. &lt;br /&gt;
&lt;br /&gt;
Most of the commands for tracking your jobs and checking cluster status can be accessed via graphical application qsub-stat. Please refer to section on NoMachine to learn how to run graphical sessions on the TRACC Cluster. qsub-stat has three tabs. The first one shows percentage usage of the two queues (8GB and 32GB) and the disk space usage. Once you move mouse cursor on the meter you will get more detailed information on usage of the queues and the disk space. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Resources2.png|thumb|none|left|600px|alt=Resources tab|Resources tab]]&lt;br /&gt;
&lt;br /&gt;
In the Terminal tab majority of explained previously statistics commands can be called through mouse menu. Press and hold right or left mouse button to have access to the commands&#039; list. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Terminal2.png|thumb|none|left|600px|alt=Terminal tab|Terminal tab]]&lt;br /&gt;
&lt;br /&gt;
The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Cluster Usage (showq):&lt;br /&gt;
   - showq&lt;br /&gt;
   - showq - r (running)&lt;br /&gt;
   - showq - b (blocked)&lt;br /&gt;
 - Cluster Usage (qsum)&lt;br /&gt;
 - Cluster Usage (qstat)&lt;br /&gt;
 - Available Resources (qbf)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - LS-DYNA Usage (qdyna)&lt;br /&gt;
 - Madymo Usage (license server report)&lt;br /&gt;
 - Fluent Usage (license server report)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Current Login Node activity (htop)&lt;br /&gt;
 - Node activity (pbstop)&lt;br /&gt;
 - Node activity (pestat)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - See My Jobs&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Current usage of the cluster can also be viewed in the Job Status tab. When you press and hold right or left mouse button on a job, you will see a menu of commands that you can apply to it (Some of them will work only on your own jobs). The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Show additional info:&lt;br /&gt;
   - qstat -f &lt;br /&gt;
   - chcekjob &lt;br /&gt;
   - tracejob&lt;br /&gt;
   - diagnosejob -j&lt;br /&gt;
   - showstart&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open standard output&lt;br /&gt;
 - statistics on master node (htop)&lt;br /&gt;
 - ssh to master node&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open work directory in browser&lt;br /&gt;
 - open work directory in terminal&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - delete job (qdel)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Job_status2.png|thumb|none|left|600px|alt=Job Status tab|Job Status tab]]&lt;br /&gt;
&lt;br /&gt;
Htop command shows live statistics on the master node of the current job.&lt;br /&gt;
[[Image:600px-Htop.png|thumb|none|left|600px|alt=Htop|Htop]]&lt;br /&gt;
&lt;br /&gt;
=== Deleting a job ===&lt;br /&gt;
&lt;br /&gt;
To delete a job, use Torque&#039;s qdel or Maui&#039;s canceljob, which simply calls qdel itself:&lt;br /&gt;
&lt;br /&gt;
 qdel &amp;lt;job-id&amp;gt;&lt;br /&gt;
 canceljob &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Torque will delete the job immmediately with either command, but Maui may not know about the deletion for up to a minute, during which time it will continue to show up in the output of showq.&lt;br /&gt;
&lt;br /&gt;
If either Torque or Maui tells you it can&#039;t delete the job, please send us an email and we&#039;ll delete it for you.&lt;br /&gt;
&lt;br /&gt;
Only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
=== Interactive Jobs ===&lt;br /&gt;
&lt;br /&gt;
You can get interactive access to a compute node with Torque by using the -I switch to qsub:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
If you want to run a GUI application on the compute node, use the -X switch:&lt;br /&gt;
&lt;br /&gt;
 qsub -I -X ...&lt;br /&gt;
&lt;br /&gt;
For this to work, you will need to either use the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, or enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster. Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
Also see [[#Accessing_a_compute_node_directly | below]] for an alternative means of directly accessing computes nodes.&lt;br /&gt;
&lt;br /&gt;
=== Using GUI applications on a compute node ===&lt;br /&gt;
&lt;br /&gt;
If you want to use a GUI application on a compute node, you will need to enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster, and again when you ssh to the compute node (as described above). Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
After logging in to a login node, you would then do this to access the compute node:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y n001&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, you won&#039;t need to ssh to a login node, but you will still need to ssh to a compute node.&lt;br /&gt;
&lt;br /&gt;
=== Accessing a compute node directly ===&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is by having Torque give you [[#Interactive_jobs | interactive]] access to a node. But if you want to start a process running on a compute node and have it continue to run after you log out, use the method described here.&lt;br /&gt;
&lt;br /&gt;
* You can access any compute node which is running one of your jobs with the command&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;compute-node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the command&lt;br /&gt;
&lt;br /&gt;
 qstat -n1 &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to find out which nodes are running &amp;lt;job-id&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you want Torque to assign you nodes, but don&#039;t need it to run a job on your behalf, you can do (for example)&lt;br /&gt;
&lt;br /&gt;
 echo sleep 24h | qsub -l select=1,walltime=24:00:00&lt;br /&gt;
&lt;br /&gt;
and then ssh to the node.&lt;br /&gt;
&lt;br /&gt;
=== Using licensed software ===&lt;br /&gt;
&lt;br /&gt;
For some of our software we have a limited number of licenses. To ensure that there will be sufficient licenses available when Maui schedules your job, you will need to submit your job under an application-specific account. Any application wrapper scripts we have will take care of this for you, but if you need to specify the account manually, you would do it like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA:&lt;br /&gt;
&lt;br /&gt;
 qsub -A dyna ...&lt;br /&gt;
&lt;br /&gt;
=== Debugging a job ===&lt;br /&gt;
&lt;br /&gt;
Some things to keep in mind or to try when your job doesn&#039;t run as expected:&lt;br /&gt;
&lt;br /&gt;
* Jobs don&#039;t inherit any environment variables from the submission environment. This means that if your job requires that PATH, LD_LIBRARY_PATH, MPI_HOME, or any other variable be set, you&#039;ll need to set it either in the job script, either directly or with a module, or in your shell configuration files.&lt;br /&gt;
&lt;br /&gt;
* Try running your job interactively on a compute node, like this:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
Now run your job script or start up a debugger with your program, just as you would on a login node.&lt;br /&gt;
&lt;br /&gt;
* Try some simple jobs, and look at the standard output and standard error files (STDIN.o&amp;lt;job-id&amp;gt; and STDIN.e&amp;lt;job-id&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 echo | qsub&lt;br /&gt;
 echo env | qsub&lt;br /&gt;
&lt;br /&gt;
* If you want to see the output of your job as it&#039;s being produced, use qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Undeliverable job output ===&lt;br /&gt;
&lt;br /&gt;
If Torque cannot copy the files containing the output of your job to the job&#039;s working directory, the files will eventually be copied to /mnt/gpfs/undelivered. They will be deleted after 10 days.&lt;br /&gt;
&lt;br /&gt;
=== Requeuing of jobs ===&lt;br /&gt;
&lt;br /&gt;
If your job dies due to a problem with the cluster, it will not automatically be requeued. If you would like it to be, do&lt;br /&gt;
&lt;br /&gt;
 qsub -r y ...&lt;br /&gt;
&lt;br /&gt;
=== Reserving the cluster ===&lt;br /&gt;
&lt;br /&gt;
Users cannot directly reserve the cluster, but if you think you might have a need for a reservation, please contact us.  &lt;br /&gt;
[mailto:TRACC_Director@anl.gov Click to send email] or via telephone: 630-252-8224 as far in advance as possible.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Compiling_Your_Code&amp;diff=2256</id>
		<title>Compiling Your Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Compiling_Your_Code&amp;diff=2256"/>
		<updated>2025-04-14T21:50:50Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;if you need help to compile your code, please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email].&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Backups&amp;diff=2255</id>
		<title>Backups</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Backups&amp;diff=2255"/>
		<updated>2025-04-14T21:50:24Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
We do not operate traditional backup hardware at TRACC. This is mostly because tape backups (or even traditional hard drive backups) would take weeks to restore onto our primary Lustre file system, which has a capacity of 1000 TB and may be expanded in the future as needed. To be able to recover much more efficiently from a major disaster, we are operating a secondary standby Lustre file system of of the same size (also potential subject to future expansion). New Lustre features allow us to create a snapshot of the primary file system at regular intervals (e.g. once or twice per week). The data on the snapshot is then synchronized to the standby Lustre file system over the course of a day or two, ensuring that this secondary copy of all user data is perfectly consistent as of a specific time when the original snapshot was taken.&lt;br /&gt;
&lt;br /&gt;
The snapshots on the primary file system stay around for a limited time period, and can be potentially used if recent user data needs to be recovered (after a user accidentally deletes important files). The snapshots will not allow recovery if the file system encounters a fatal error. This is highly unlikely due to triple redundancy on the Lustre file systems. 3 out of 12 disks in each of the storage groups are allowed to fail without causing data loss, and failing disks are a normal operating condition and are simply replaced and rebuilt on the fly during normal operations (this takes at most a day and users will not notice this). We may shut down file system operations when 2 disks are failing at the same time to have an extra margin of safety while rebuilding the underlying storage. This should be a very rare event and has not been encountered in the past 15 years of operating similar systems. But data integrity is of utmost importance for our operations.&lt;br /&gt;
&lt;br /&gt;
Should we encounter a fatal error with the primary Lustre file system despite all the above mentioned protective measures, we can simply move the standby file system into production (losing possibly a few days&#039; worth of user data since the last synchronization). The standby system can then be replicated onto a fresh primary Lustre file system, with the file systems being swapped out again after a few weeks when this rebuild synchronization is finalized. We do not expect this to ever happen, but we need to be prepared for speedy disaster recovery due to the high value of the data stored on our systems.&lt;br /&gt;
&lt;br /&gt;
Currently, the standby file system is operating in the same physical space as the cluster itself. We are considering to place the standby file system physically into a remote location (very likely the Argonne Enterprise Data Center) to furthermore decrease the potential for catastrophic data loss. The feasibility for sufficient network bandwidth will be evaluated first.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Files_%26_Storage&amp;diff=2254</id>
		<title>Files &amp; Storage</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Files_%26_Storage&amp;diff=2254"/>
		<updated>2025-04-14T21:49:53Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Each node in the cluster provides access to local disk storage and to a globally accessible filesystem mounted as /mnt/lustre on ARROW.&lt;br /&gt;
&lt;br /&gt;
* Your home directory, the directory you are placed in when you log in, is /mnt/lustre/home/&amp;lt;user&amp;gt; on ARROW. Your home directory is accessible from all the login nodes and compute nodes. You should use this space for storing files you want to keep long term, such as source code, scripts, input data sets, etc.&lt;br /&gt;
&lt;br /&gt;
=== Collaborative groups ===&lt;br /&gt;
&lt;br /&gt;
A collaborative group can be set up on the TRACC cluster as an easy way for the group to create and manage a shared directory tree of files and programs.  A TRACC systems administrator will create the base directory for the directory structure shared by the group.  The group base directory will have permissions set to populate the group file structure with directories and files that can be read by all group members, yet still retain some security against accidental modification or deletion of files not owned by a group member working in a group directory.&lt;br /&gt;
&lt;br /&gt;
An example base group directory has the following permissions set:&lt;br /&gt;
&lt;br /&gt;
 drwsrws--T    3   joe-user     joes-group       32768 Oct 17 17:28 tfhrc &lt;br /&gt;
&lt;br /&gt;
Note that the setuid and setgid flags, “s,” are in the directory permissions in the position where the execute, “x,” flag would normally appear, allowing the directory owner and group members to list (“ls”) the directory and change to the directory (“cd”).  The setuid flag is ignored by Linux.  The setgid flag causes new files and subdirectories created within the directory to inherit its group ID rather than the group ID of the user who created the file or subdirectory.  This inheritance feature allows users, without first changing their group ID with the “newgrp” command, to create files and subdirectories that have group ID of the parent directory instead of the group ID of the user.&lt;br /&gt;
&lt;br /&gt;
In short, the setgid flag allows group members to work in the group directory without doing anything special when creating files; they will be automatically readable by other group members. &lt;br /&gt;
&lt;br /&gt;
The group directory also has the sticky bit set, indicated by a capitol T in the others execute flag position.  When the sticky bit is set on a directory, and the group write permission flag is set, group members may create files in the directory, including new subdirectories, and modify and delete the files that they own, but they will not be able to change or delete the files owned by other group members.&lt;br /&gt;
&lt;br /&gt;
In short, the sticky bit set on a group directory, allows users to work safely in collaboration in a group directory: they can create and change their own files, read and copy the files of others, but they cannot change or delete the files of other group members. &lt;br /&gt;
&lt;br /&gt;
When a user creates a subdirectory in the group directory, it inherits the group ID, but the permissions will be assigned based on the user’s mask (umask).  The default umask on the TRACC cluster sets read and execute permissions for group members and no permissions for others.  It does not set the group write permission.  When a group member creates a subdirectory in the group directory, other group members will be able to change into that directory, read the files in the directory, copy the files into another directory, but they will not be able to create files in a new subdirectory that they do not own, unless the owner sets the group write permission for the directory.  In that case, it is good practice for the directory owner to also set the sticky bit on the directory to allow other group members to add files to the directory, but prevent them from accidentally changing or deleting files belonging to other group members (i.e. files that they do not own).&lt;br /&gt;
&lt;br /&gt;
In short, to allow other group members to create and modify their own files in a new group subdirectory, but not the files of others do: &lt;br /&gt;
&lt;br /&gt;
 chmod   g+w  subdirectory.name&lt;br /&gt;
&lt;br /&gt;
 chmod   +t   subdirectory.name&lt;br /&gt;
&lt;br /&gt;
Group membership and the group directory provide a relatively easy way for a collaborative group to share data and programs.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Login_Nodes_Versus_Compute_Nodes&amp;diff=2253</id>
		<title>Login Nodes Versus Compute Nodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Login_Nodes_Versus_Compute_Nodes&amp;diff=2253"/>
		<updated>2025-04-14T21:49:06Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
The cluster consists of login nodes and compute nodes, along with a few other nodes for administration and serving files. The login nodes are shared, and at any time a login node might be in use by 10 or 20 users. For that reason, CPU- and memory-intensive jobs, as well any code that runs a risk of crashing a machine, should be run only on the compute nodes.&lt;br /&gt;
&lt;br /&gt;
Compute nodes can be used both for batch jobs and for interactive jobs. See below for how to use a node [[Running Your Code#Interactive Jobs | interactively]], and how to run [[Running Your Code#Using GUI applications on a compute node | GUI applications]] on a node.&lt;br /&gt;
&lt;br /&gt;
The login nodes are named&lt;br /&gt;
&lt;br /&gt;
 login1, login2, login3, and login4&lt;br /&gt;
&lt;br /&gt;
A description of the compute node queues can be [[ARROW Cluster#ARROW Queues | found here.]]&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2252</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2252"/>
		<updated>2025-04-14T21:45:28Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2251</id>
		<title>Transferring Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2251"/>
		<updated>2025-04-14T21:40:35Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Files can be transferred to and from the cluster using a client that supports the SFTP (SSH File Transfer Protocol) or with scp (Secure Copy Protocol). Free SFTP clients  are available from https://www.putty.org for Windows, and are included with or available for MacOS, and most varieties of Linux/UNIX. Be sure your client is using port 22.&lt;br /&gt;
&lt;br /&gt;
*Popular file transfer clients are WinSCP and FileZilla. You can download WinSCP from http://winscp.net and FileZilla from http://filezilla-project.org.&lt;br /&gt;
&lt;br /&gt;
* Some users have also reported success with [http://www.itefix.no/i2/cwrsync cwrsync], a prepackaged version of Cgywin and rsync.&lt;br /&gt;
&lt;br /&gt;
=== Windows text files ===&lt;br /&gt;
&lt;br /&gt;
Note that text files created under Windows may cause problems on the cluster. This is because Windows and Linux have different conventions for representing a [http://en.wikipedia.org/wiki/Newline newline] in ASCII text files. Some Windows text editors will allow you to save a file in the UNIX/Linux format before transferring the file to the cluster. Alternatively, you can use the Linux command dos2unix to remove the CR characters that Windows uses at the ends of lines:&lt;br /&gt;
&lt;br /&gt;
 dos2unix somefile&lt;br /&gt;
&lt;br /&gt;
dos2unix will have no effect on a Linux text file, so it&#039;s safe to use on any text file.&lt;br /&gt;
&lt;br /&gt;
You can determine whether a file is in Windows or Linux format with the command&lt;br /&gt;
&lt;br /&gt;
 cat -v somefile&lt;br /&gt;
&lt;br /&gt;
Windows text files will have a ^M at the end of each line.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Becoming_A_User&amp;diff=2250</id>
		<title>Becoming A User</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Becoming_A_User&amp;diff=2250"/>
		<updated>2025-04-14T21:39:01Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The TRACC facility, applications software, and resources are limited to users from sponsoring organizations. TRACC welcomes discussions with potential researchers to see whether resources can be provided through existing projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Embargoed or State Sponsors of Terrorism (T-4 Countries) ==&lt;br /&gt;
&lt;br /&gt;
A T-4 country national is anybody who was born in or is a citizen of a country on the Department of State list of &amp;quot;State Sponsors of Terrorism.&amp;quot; T-4 countries currently are Cuba, Iran, North Korea, Sudan, and Syria.&lt;br /&gt;
&lt;br /&gt;
A request for TRACC computer access by a T-4 country national requires specific approval by the U.S. Under Secretary of Science. The process requires extensive paperwork that must be submitted for approval. Submittal lead time is 3 or more months with no guarantee the request will be approved.&lt;br /&gt;
&lt;br /&gt;
Principal Investigators are required to inform TRACC of any of their users who are foreign nationals and their countries of citizenship. No work may be performed on TRACC resources on behalf of foreign nationals from sensitive countries.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2249</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2249"/>
		<updated>2025-04-14T21:36:37Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __NOTOC__&lt;br /&gt;
{| style=&amp;quot;width:100%; background:#7CA0C4; color:white&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;99%&amp;quot;|&lt;br /&gt;
&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;+1&amp;quot;&amp;gt;&amp;lt;blockquote&amp;gt;The Transportation Research and Analysis Computing Center (TRACC)&amp;lt;/blockquote&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This TRACC wiki is an EXTERNAL Argonne collaboration site to support information exchange and collaboration among TRACC users, collaborators, and partners.  The purpose of this Wiki is to: &lt;br /&gt;
* Document the setup, operation, and FAQs about TRACC supported software and hardware resources. &lt;br /&gt;
* Maintain a repository for hardware and software improvements and modifications. &lt;br /&gt;
* Share TRACC technical staff, collaborator and user generated &amp;quot;How-To&amp;quot; procedures with the transportation research and development community.&lt;br /&gt;
| style=&amp;quot;width:1%&amp;quot; | [[Image:Best.JPG]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
:* [[introduction | &#039;&#039;&#039;Introduction to the ARROW Cluster&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[ARROW Cluster#ARROW Queues | &#039;&#039;&#039;ARROW Computing Queues&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Becoming A User| &#039;&#039;&#039;Becoming A User&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[Using the Cluster| &#039;&#039;&#039;Using the Cluster&#039;&#039;&#039;]]==&lt;br /&gt;
:* [[How to Connect| &#039;&#039;&#039;How to Connect&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Transferring Files| &#039;&#039;&#039;Transferring Files&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Setting Up Your Environment| &#039;&#039;&#039;Setting Up Your Environment&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Login Nodes Versus Compute Nodes| &#039;&#039;&#039;Login Nodes Versus Compute Nodes&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Files &amp;amp; Storage| &#039;&#039;&#039;Files &amp;amp; Storage&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Backups| &#039;&#039;&#039;Backups&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Compiling Your Code| &#039;&#039;&#039;Compiling Your Code&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Running Your Code| &#039;&#039;&#039;Running Your Code&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Graphical Applications| &#039;&#039;&#039;Graphical Applications&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TRACC Cluster Software==&lt;br /&gt;
:* [[TRACC Cluster Software#Supported On ARROW| &#039;&#039;&#039;Supported On ARROW&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Cluster Software#Under Investigation| &#039;&#039;&#039;Under Investigation&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TRACC Policies==&lt;br /&gt;
&lt;br /&gt;
:* [[TRACC Policies#Application Restrictions| &#039;&#039;&#039;Application Restrictions&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Policies#Data Retention| &#039;&#039;&#039;Data Retention &#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Policies#Email| &#039;&#039;&#039;Email &#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Policies#Login Nodes| &#039;&#039;&#039;Login Nodes&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Standard Footer}}&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2248</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2248"/>
		<updated>2025-04-14T21:35:03Z</updated>

		<summary type="html">&lt;p&gt;Amiot: Removed redirect to Under Construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __NOTOC__&lt;br /&gt;
{| style=&amp;quot;width:100%; background:#7CA0C4; color:white&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;99%&amp;quot;|&lt;br /&gt;
&amp;lt;font color=&amp;quot;white&amp;quot; size=&amp;quot;+1&amp;quot;&amp;gt;&amp;lt;blockquote&amp;gt;The Transportation Research and Analysis Computing Center (TRACC)&amp;lt;/blockquote&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;&amp;lt;blockquote&amp;gt;&lt;br /&gt;
This TRACC wiki is an EXTERNAL Argonne collaboration site to support information exchange and collaboration among TRACC users, collaborators, and partners.  The purpose of this Wiki is to: &lt;br /&gt;
* Document the setup, operation, and FAQs about TRACC supported software and hardware resources. &lt;br /&gt;
* Maintain a repository for hardware and software improvements and modifications. &lt;br /&gt;
* Share TRACC technical staff, collaborator and user generated &amp;quot;How-To&amp;quot; procedures with the transportation research and development community.&lt;br /&gt;
| style=&amp;quot;width:1%&amp;quot; | [[Image:Best.JPG]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
:* [[introduction | &#039;&#039;&#039;Introduction to the ARROW Cluster&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[ARROW Cluster#ARROW Queues | &#039;&#039;&#039;ARROW Computing Queues&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Becoming A User| &#039;&#039;&#039;Becoming A User&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==[[Using the Cluster| &#039;&#039;&#039;Using the Cluster&#039;&#039;&#039;]]==&lt;br /&gt;
:* [[How to Connect| &#039;&#039;&#039;How to Connect&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Transferring Files| &#039;&#039;&#039;Transferring Files&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Setting Up Your Environment| &#039;&#039;&#039;Setting Up Your Environment&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Login Nodes Versus Compute Nodes| &#039;&#039;&#039;Login Nodes Versus Compute Nodes&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Files &amp;amp; Storage| &#039;&#039;&#039;Files &amp;amp; Storage&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Backups| &#039;&#039;&#039;Backups&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Compiling Your Code| &#039;&#039;&#039;Compiling Your Code&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Running Your Code| &#039;&#039;&#039;Running Your Code&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[Graphical Applications| &#039;&#039;&#039;Graphical Applications&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TRACC Cluster Software==&lt;br /&gt;
:* [[TRACC Cluster Software#Supported On ARROW| &#039;&#039;&#039;Supported On ARROW&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Cluster Software#Under Investigation| &#039;&#039;&#039;Under Investigation&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TRACC Policies==&lt;br /&gt;
&lt;br /&gt;
:* [[TRACC Policies#Application Restrictions| &#039;&#039;&#039;Application Restrictions&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Policies#Data Retention| &#039;&#039;&#039;Data Retention &#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Policies#Email| &#039;&#039;&#039;Email &#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[TRACC Policies#Login Nodes| &#039;&#039;&#039;Login Nodes&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2239</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2239"/>
		<updated>2025-04-10T21:24:49Z</updated>

		<summary type="html">&lt;p&gt;Amiot: Redirected page to Under Construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Under Construction]]&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2235</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2235"/>
		<updated>2025-04-09T20:20:55Z</updated>

		<summary type="html">&lt;p&gt;Amiot: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2233</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Main_Page&amp;diff=2233"/>
		<updated>2025-04-09T19:02:37Z</updated>

		<summary type="html">&lt;p&gt;Amiot: Amiot moved page Main Page to Main PageTR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Main PageTR]]&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=How_to_Connect&amp;diff=2225</id>
		<title>How to Connect</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=How_to_Connect&amp;diff=2225"/>
		<updated>2025-04-08T20:10:37Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Access restricted to authorized hosts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
You need an SSH client to connect to Arrow. No other connection protocols are supported. There are 4 general purpose login nodes that you can connect to:&lt;br /&gt;
&lt;br /&gt;
*login1.arrow.tracc.anl.gov&lt;br /&gt;
*login2.arrow.tracc.anl.gov&lt;br /&gt;
*login3.arrow.tracc.anl.gov&lt;br /&gt;
*login4.arrow.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
When connecting, please pick a random entry from the above list to evenly distribute users over multiple machines.&lt;br /&gt;
&lt;br /&gt;
For users that work at Argonne or that have an actual Argonne ANL Domain account, you use your assigned account name and password to connect to these login nodes. Just use the ANL Domain user name, without the ANL prefix.&lt;br /&gt;
&lt;br /&gt;
For external collaborators, the bulk of our users, you want to use your external collaborator account that was assigned to you when you applied for an account. These accounts all start with the letters &amp;quot;ac&amp;quot; followed by a period, and then followed by a specific account name. The entire account name, including the leading &amp;quot;ac.&amp;quot; portion must be used to connect.&lt;br /&gt;
&lt;br /&gt;
Passwords expire on a regular basis (every 6 months or so), and you will need to update your password with Argonne Account Services. You can call 630-252-9999 if you need any help or detailed instructions.&lt;br /&gt;
&lt;br /&gt;
You will not be able to connect until we have your public IP address on file in our system. Your account will be linked to a few machines with known IP addresses, and if you need to connect from another machine, please contact us to add that machine to your account. Details can be found below.&lt;br /&gt;
&lt;br /&gt;
== How to Connect: Details ==&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
* Access to the TRACC cluster requires use of an SSH client. Free SSH clients are available for Windows, are included or available for MacOS, and all varieties of Linux or UNIX. SSH clients can be terminal applications to work with command lines (e.g. Putty on Windows), or they can be file transfer utilities (WinSCP, FileZilla). In any case, cluster connections are all using the SSH protocol (including sftp).&lt;br /&gt;
&lt;br /&gt;
* If you&#039;re using a simple graphical application on the cluster through an SSH connection and you are either connecting from a Mac or Linux desktop machine or you have an X server installed on your Windows machine, you may want to enable X11 forwarding to your client. This is a method that uses strictly the old X protocol, and performance is very limited (due to the SSH encryption overhead). You should consider using one of the remote GUI options listed below instead if you can. If you want to keep it simple though, you can do this (using typically a corresponding check box in Windows clients):&lt;br /&gt;
&lt;br /&gt;
 ssh -X username@login1.arrow.tracc.anl.gov&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;--[[User:Amiot|Amiot]] ([[User talk:Amiot|talk]]) 15:28, January 14, 2025 (CST)&lt;br /&gt;
* Alternatively, client software like the [[Graphical Applications#GRAPHICAL APPLICATIONS Using NoMachine NX | NoMachine NX client]] can be used to connect, providing a full graphical user interface. This requires the installation of the free NoMachine client software.&lt;br /&gt;
&lt;br /&gt;
* Another alternative is the [[Graphical Applications#GRAPHICAL APPLICATIONS Using NoMachine NX | free X2Go client]], which provides a near identical user experience. Details can be found [[Graphical Applications#GRAPHICAL APPLICATIONS Using NoMachine NX | here]].&lt;br /&gt;
&lt;br /&gt;
=== Access restricted to authorized hosts ===&lt;br /&gt;
&lt;br /&gt;
* Access to the cluster is currently restricted to pre-approved hosts. Please contact us [mailto:TRACC_Director@anl.gov clicking  to send email] with the hostnames of the systems from which you would like to access the cluster. Argonne users with Argonne Domain accounts can connect through Argonne&#039;s VPN service; please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email] for details.&lt;br /&gt;
&lt;br /&gt;
* Under Windows, you can find out your host name with the command &amp;quot;ipconfig&amp;quot;. Note that IP addresses beginning with &amp;quot;10.&amp;quot; or &amp;quot;192.168.&amp;quot; are private addresses assigned by your home router, and those are not accessible from outside your home network. If you have such an address, you can usually find your public IP address at (for example) http://whatismyip.com.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2189</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2189"/>
		<updated>2025-03-11T20:33:50Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* File permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2187</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2187"/>
		<updated>2025-03-11T20:30:57Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* File Permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2186</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2186"/>
		<updated>2025-03-11T20:27:06Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* File permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File Permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2183</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2183"/>
		<updated>2025-03-11T20:19:12Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2182</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2182"/>
		<updated>2025-03-11T20:17:11Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is available by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
You can return to the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2181</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2181"/>
		<updated>2025-03-11T20:06:55Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* File permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is availale by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email].&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Policies&amp;diff=2180</id>
		<title>TRACC Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Policies&amp;diff=2180"/>
		<updated>2025-03-09T01:35:20Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Application Restrictions==&lt;br /&gt;
Parallel jobs must be run on the compute nodes using Torque. Multicore jobs on the login nodes may be killed without notice.&lt;br /&gt;
&lt;br /&gt;
==Data Retention==&lt;br /&gt;
* Thirty days after the expiration of your project, your files will be deleted from the TRACC cluster and from the TRACC backup system.&lt;br /&gt;
&lt;br /&gt;
==Email==&lt;br /&gt;
* If we cannot contact you at the email address which Argonne lists as your contact address, your account will be locked until you provide us with a valid address.&lt;br /&gt;
&lt;br /&gt;
==Login Nodes==&lt;br /&gt;
* Resource-intensive jobs on the login nodes may be killed at any time, without warning or notification.&lt;br /&gt;
* Repeated violation of this policy will result in revocation of your account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=2178</id>
		<title>TRACC Cluster Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=2178"/>
		<updated>2025-03-09T01:33:29Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following lists the software that is supported on ARROW and the software we are considering for support in the future. Click on the software for Application Notes.&lt;br /&gt;
==Supported On ARROW==&lt;br /&gt;
&lt;br /&gt;
[[LS-DYNA | * LS-DYNA]]&lt;br /&gt;
&lt;br /&gt;
[[LS-PrePost | * LS-PrePost]]&lt;br /&gt;
&lt;br /&gt;
[[LS-OPT | * LS-OPT]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM | * OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[Python | * Python]]&lt;br /&gt;
&lt;br /&gt;
[[STAR-CCM+ | * STAR-CCM+]]&lt;br /&gt;
&lt;br /&gt;
==Under Investigation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* MATLAB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* COMSOL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* Abaqus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Graphical_Applications&amp;diff=2176</id>
		<title>Graphical Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Graphical_Applications&amp;diff=2176"/>
		<updated>2025-03-09T01:30:25Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Graphic Application Comments==&lt;br /&gt;
&lt;br /&gt;
This chapter describes the use of graphical user interfaces to bring the Linux desktop to your local machine. This gives you the ability to work with graphical applications, browse and edit files in a graphical manner that is similar to your usual work patterns, and establish remote sessions that stay alive while you disconnect from the cluster. You can of course fully log out when appropriate, but by default, the session stays alive until you reconnect at a later time. This allows you to keep interactive applications running for very long times if needed.&lt;br /&gt;
&lt;br /&gt;
There are three ways to connect to Arrow to run graphic applications. These are:&lt;br /&gt;
&lt;br /&gt;
* Running the NoMachine NX client&lt;br /&gt;
* Running the X2Go client&lt;br /&gt;
* Running X and using an SSH terminal client to forward the X protocol&lt;br /&gt;
&lt;br /&gt;
Running NoMachine and X2Go are the most efficient because they transfer information between the cluster and the client using data compression and a special protocol to minimize data transmissions.&lt;br /&gt;
&lt;br /&gt;
Note: When using the third option, you will not have a full Linux desktop on your screen. Instead, Linux applications can bring up your user interface on your client for interaction. This is much slower than the other two options, but may be useful for your specific application. In this case, all rendering is done on your client rather than on the remote server.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s assume that you have an X server running on your machine, and that you have the ssh command available. In that case, you would do the following:&lt;br /&gt;
&lt;br /&gt;
 ssh -X userid@login1.arrow.tracc.anl.gov&lt;br /&gt;
 enter your password&lt;br /&gt;
 xeyes&lt;br /&gt;
&lt;br /&gt;
This last command is just for testing. You should see a set of eyes that can be moved around using your mouse. If this works, then your graphical application scan be used remotely.&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using NoMachine NX==&lt;br /&gt;
&lt;br /&gt;
To provide for the remote use of graphical applications on the cluster, we&#039;ve installed [http://www.nomachine.com NoMachine NX] on the login hosts. This method allow you to establish a remote desktop on the login machine, which stays alive even when you disconnect from it. You can of course log out of that connection, but by default, the desktop stays alive, allowing you to keep interactive applications running while disconnected. To use this software,&lt;br /&gt;
&lt;br /&gt;
* download and install the free [http://www.nomachine.com/download.php NX Client].&lt;br /&gt;
* connect to the TRACC cluster using one of the login nodes:&lt;br /&gt;
** login1.arrow.tracc.anl.gov&lt;br /&gt;
** login2.arrow.tracc.anl.gov&lt;br /&gt;
** login3.arrow.tracc.anl.gov&lt;br /&gt;
** login4.arrow.tracc.anl.gov&lt;br /&gt;
* The NX protocol for connections is not supported. Please choose SSH from the pull-down menu.&lt;br /&gt;
* When connecting the very first time, you are prompted to confirm that you are connecting to the correct server, showing a server key. Confirm and continue.&lt;br /&gt;
* When doing this for the first time, create a new Linux Desktop. This will be shown in the future when connecting again.&lt;br /&gt;
* Please remember that you need a proper account, password, and that we need to have your public IP address on file for all of this to work properly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- # After installing the client, you&#039;ll need to install a public key from one of the login nodes:&lt;br /&gt;
## Copy /usr/NX/share/keys/default.id_dsa.key from one of the login nodes to your local machine (it doesn&#039;t matter where).&lt;br /&gt;
## In the NoMachine client, choose Configure..., then Key..., then Import. Choose the default.id_dsa.key you just downloaded. Choose Save. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have problems, please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email] or via telephone at 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
=== Terminating and Disconnecting ===&lt;br /&gt;
&lt;br /&gt;
When you quit an NX session, you can either terminate it or disconnect from it. Terminating it will close all your running programs. If you disconnect, you can reconnect later to the same session. Interactive applications will continue running while disconnected, so this is a convenient way to occasionally check on progress, or to work with long running applications despite possible network issues.&lt;br /&gt;
&lt;br /&gt;
If you close the NX client window, you will be simply disconnected and can resume this connection at a later time. To fully log out, use the Linux pull-down command at the top left of your screen, and choose the bottom entry to log out.&lt;br /&gt;
&lt;br /&gt;
=== Reconnecting ===&lt;br /&gt;
&lt;br /&gt;
If you want to reconnect to an NX session, you&#039;ll have to log in to the same login node on which it was started.&lt;br /&gt;
&lt;br /&gt;
=== Problems ===&lt;br /&gt;
&lt;br /&gt;
We will post trouble-shooting instructions in this section if ever needed. The latest versions are very stable.&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using X2Go==&lt;br /&gt;
&lt;br /&gt;
X2Go can be installed by following the [https://wiki.x2go.org/doku.php/doc:installation:x2goclient instructions here.]. Instructions are provided for Windows, OSX, and a number of other client OSs.&lt;br /&gt;
&lt;br /&gt;
After installing the client software, create a new connection with the following settings&lt;br /&gt;
&lt;br /&gt;
* connection to one of our login servers&lt;br /&gt;
** login1.arrow.tracc.anl.gov&lt;br /&gt;
** login2.arrow.tracc.anl.gov&lt;br /&gt;
** login3.arrow.tracc.anl.gov&lt;br /&gt;
** login4.arrow.tracc.anl.gov&lt;br /&gt;
* account name and password of course&lt;br /&gt;
* IMPORTANT: from the pull-down menu, choose the XFCE desktop&lt;br /&gt;
* Also, we recommend turning off remote audio (it won&#039;t work anyway)&lt;br /&gt;
&lt;br /&gt;
* on Macs: It should be noticed that if you don&#039;t already have XQuartz installed on OSX, you will need to do that before installing X2Go.&lt;br /&gt;
* A general X2Go tutorial can be [https://wiki.anl.gov/wiki_traccwiki/index.php?title=Graphical_Applications&amp;amp;action=editfound here.]&lt;br /&gt;
&lt;br /&gt;
==Graphical Applications Using X==&lt;br /&gt;
[http://sourceforge.net/projects/xming xming] is a convenient and easy way to install an X server for Windows. However, if you&#039;re doing pre- or post-processing that requires sending a lot of graphics over the network, we recommend NoMachine NX or X2Go because their compression of the graphics yields a significant speed advantage over X. Also, rendering is generally perform on the server side rather than your local machine, speeding things up. In addition, the X protocol is very chatty, and performs poorly over the SSH encryption channel.&lt;br /&gt;
&lt;br /&gt;
*To install X on a Mac, refer to this [https://princetonuniversity.github.io/PUbootcamp/ssh-instructions site ]&lt;br /&gt;
* The Mac uses XQuart to implement X applications and should be installed if not alread installed on your version of OSX. To bring up the window, connect to the cluster using the following (-X or -Y is required):&lt;br /&gt;
 ssh -Y userid@login1.arrow.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2175</id>
		<title>Running Your Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Running_Your_Code&amp;diff=2175"/>
		<updated>2025-03-09T01:29:34Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Careful, this chapter is quite outdated and needs to be rewritten =&lt;br /&gt;
&lt;br /&gt;
== Running Jobs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please do not run CPU- or memory-intensive tasks on the login nodes; always run them on the compute nodes. Resource-intensive processes running on login nodes may be killed at any time, without warning or notification.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Getting started ===&lt;br /&gt;
&lt;br /&gt;
Jobs are submitted to the cluster using Torque and scheduled by Maui. Some documentation of the commands that are used by Torque and Maui can be found on the man pages. For example:&lt;br /&gt;
 man qsub&lt;br /&gt;
&lt;br /&gt;
To use Torque and Maui, you&#039;ll need to make sure the base [[Setting Up Your Environment#Accessing application software with modules | module]] is loaded in your shell&#039;s setup files:&lt;br /&gt;
&lt;br /&gt;
 module load base&lt;br /&gt;
&lt;br /&gt;
Feel free to to contact us. [mailto:TRACC_Director@anl.gov Click to send email] or via telephone: 630-252-8224 if you need help with Torque or Maui. Note that other documentation you might find regarding Torque and Maui may not apply to the TRACC cluster because of differences in how we&#039;ve configured the software.&lt;br /&gt;
&lt;br /&gt;
=== Torque&#039;s view of the cluster ===&lt;br /&gt;
&lt;br /&gt;
Torque and Maui are both used to schedule and run job for both the arrow and nhtsa queues.&lt;br /&gt;
&lt;br /&gt;
=== Submitting jobs ===&lt;br /&gt;
&lt;br /&gt;
==== Job scripts ====&lt;br /&gt;
&lt;br /&gt;
The usual way of running a job with Torque is to submit a shell script. For most commercial applications we have wrapper scripts to automatically generate job scripts; see our [[TRACC Cluster Software#Supported On ARROW | application notes for our supported software]], or contact your sponsor for more info, then skip ahead to information about [[#qsub usage | qsub]].&lt;br /&gt;
&lt;br /&gt;
A simple script to run an MPI job would be &lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # PBS directives must precede all executable commands&lt;br /&gt;
 &lt;br /&gt;
 cd $PBS_O_WORKDIR&lt;br /&gt;
 &lt;br /&gt;
 ## HPMPI&lt;br /&gt;
 # mpirun -hostfile $PBS_NODEFILE ./mpi-application&lt;br /&gt;
 &lt;br /&gt;
 ## Intel MPI&lt;br /&gt;
 # mpirun ./mpi-application&lt;br /&gt;
&lt;br /&gt;
If you need to load a module in your shell script, do it like this, for scripts written in /bin/sh or /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.sh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, if your script is written in /bin/csh or /bin/tcsh:&lt;br /&gt;
&lt;br /&gt;
 . /etc/profile.d/modules.csh&lt;br /&gt;
 module load &amp;lt;some-module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or like this, for Python:&lt;br /&gt;
&lt;br /&gt;
 import sys&lt;br /&gt;
 sys.path.append(&amp;quot;/soft/modules/current/init&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 import envmodule&lt;br /&gt;
 envmodule.module(&amp;quot;load &amp;lt;some-module&amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
or like this, for Perl:&lt;br /&gt;
&lt;br /&gt;
 use lib &amp;quot;/soft/modules/current/init&amp;quot;;&lt;br /&gt;
 use envmodule;&lt;br /&gt;
 module(&amp;quot;load &amp;lt;some-module&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
For other languages, you can usually achieve the same effect by loading the module in your shell&#039;s configuration files (.bashrc or .cshrc).&lt;br /&gt;
&lt;br /&gt;
==== Torque variables ====&lt;br /&gt;
&lt;br /&gt;
* Torque sets several variables which you can use in your job scripts. See the qsub man page for the complete list.&lt;br /&gt;
&lt;br /&gt;
* All Torque variables begin with &amp;quot;PBS&amp;quot;, as Torque used to be known as OpenPBS (which was the precursor of PBS Pro).&lt;br /&gt;
&lt;br /&gt;
* The most important Torque variables to be aware of are&lt;br /&gt;
&lt;br /&gt;
 PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
which is the working directory at the time of job submission, and&lt;br /&gt;
&lt;br /&gt;
 PBS_NODEFILE&lt;br /&gt;
&lt;br /&gt;
which contains a list of the compute nodes which Torque has assigned your job, in the form&lt;br /&gt;
&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
 n001&lt;br /&gt;
&lt;br /&gt;
with each node listed once for each core.&lt;br /&gt;
&lt;br /&gt;
==== qsub usage ====&lt;br /&gt;
&lt;br /&gt;
The command is used to submit jobs to the cluster. qsub&#039;s behavior can be customized with command line options or script directives. Note that all script directives must precede all executable commands, so it&#039;s best to put all directives at the top of the script file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To use qsub to submit a 32-core job; to the batch queue which is the default queue; with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&lt;br /&gt;
 qsub -l nodes=4:ppn=8,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=4:ppn=8&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* For scientific applications that rely heavily on floating point operations such as STAR-CCM+, LS-DYNA, OpenFOAM, and University CFD research codes, users should specify 16 cores per node ( PPN=16 ), and not 32 since each node has a total of 16 floating point units (FPUs).  Specifying 32 cores ( PPN=32 ) per compute node will not provide substantial performance gains, but will use up commerical licenses. &lt;br /&gt;
* To use the nhtsa queue which is not the default queue and has 64 GB nodes:&lt;br /&gt;
* To use qsub to submit a 64-core job with a maximum walltime of 10 hours (meaning that the job will be killed after 10 hours have elapsed):&lt;br /&gt;
&#039;&#039;&#039;Steve can you modify the following command to use the nhtsa queue.... Larry&#039;&#039;&#039;&lt;br /&gt;
 qsub -l nodes=2:ppn=32,walltime=10:00:00 jobscript&lt;br /&gt;
&lt;br /&gt;
This can be specified in the jobscript with&lt;br /&gt;
&lt;br /&gt;
 #PBS -l nodes=2:ppn=32&lt;br /&gt;
 #PBS -l walltime=10:00:00&lt;br /&gt;
&lt;br /&gt;
in which case the job would be submitted with&lt;br /&gt;
&lt;br /&gt;
 qsub jobscript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The default resource request if one isn&#039;t specified on the command line or in the jobscript is&lt;br /&gt;
&lt;br /&gt;
 nodes=1:ppn=1 -l walltime=5:00&lt;br /&gt;
&lt;br /&gt;
meaning 1 core on 1 node, with a walltime of 5 minutes.&lt;br /&gt;
&lt;br /&gt;
==== Initial directory ====&lt;br /&gt;
&lt;br /&gt;
Torque by default will run your script from your home directory. You can specify a different initial directory with&lt;br /&gt;
&lt;br /&gt;
 qsub -d ...&lt;br /&gt;
&lt;br /&gt;
For example, to start in your current directory:&lt;br /&gt;
&lt;br /&gt;
 qsub -d `pwd`&lt;br /&gt;
&lt;br /&gt;
==== Large memory jobs ====&lt;br /&gt;
There are two queues that are available for large memory jobs. &lt;br /&gt;
&lt;br /&gt;
* batch64 queue&lt;br /&gt;
** 2 nodes numbered n003 and n004&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 64GB of RAM per node&lt;br /&gt;
** available for general use &lt;br /&gt;
&lt;br /&gt;
* batch128 queue&lt;br /&gt;
** 2 nodes numbered n001 and n002&lt;br /&gt;
** Same design as batch queue&lt;br /&gt;
** 128GB of RAM per node&lt;br /&gt;
** available for general use&lt;br /&gt;
&lt;br /&gt;
As an example, to submit your jobs to the batch128 queue:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch128 ...&lt;br /&gt;
&lt;br /&gt;
Jobs on the nodes are limited to 72 hours.&lt;br /&gt;
&lt;br /&gt;
Swap has been disabled on these nodes.&lt;br /&gt;
&lt;br /&gt;
==== Short jobs ====&lt;br /&gt;
&lt;br /&gt;
Weekdays from 7am CDT to 7pm CDT, two nodes are set aside for jobs on Phoenix with walltimes of 2 hours or less. Maui will automatically schedule short jobs to these nodes. No policy is currently in place for Zephyr.&lt;br /&gt;
&lt;br /&gt;
=== Usage policies ===&lt;br /&gt;
&lt;br /&gt;
==== Maximum walltime ====&lt;br /&gt;
&lt;br /&gt;
Jobs which exceed these walltime limits will be rejected by Torque.&lt;br /&gt;
&lt;br /&gt;
 On Zephyr:&lt;br /&gt;
 batch queue: 168 hours&lt;br /&gt;
 batch64 queue: 72 hours&lt;br /&gt;
 batch128 queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
 On Phoenix:&lt;br /&gt;
 quadcore queue: 168 hours&lt;br /&gt;
 thirtytwogb queue: 72 hours&lt;br /&gt;
&lt;br /&gt;
==== Quotas ====&lt;br /&gt;
&lt;br /&gt;
Job which exceed the following quotas will be blocked by Maui. Blocked jobs can be seen with the command&lt;br /&gt;
&lt;br /&gt;
 showq -b&lt;br /&gt;
&lt;br /&gt;
==== Node quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
==== Queue quotas ====&lt;br /&gt;
&lt;br /&gt;
The batch64GB and batch128GB queues on Zephyr and the thirtytwogb queue on Phoenix have a limit of 1 job per user. This can also be overridden for a particular job by making the job preemptible using the Maui [[Using_the_cluster#Quality_of_Service_.28QOS.29 | QOS]] feature.&lt;br /&gt;
&lt;br /&gt;
=== Quality of Service (QOS) ===&lt;br /&gt;
&lt;br /&gt;
In order to override the cluster&#039;s usage quotas, you can submit your jobs with a preemptible QOS. The caveat is that a preemptible job may be killed at any time, regardless of its wallclock limit, if doing so would enable another user&#039;s ordinary, non-preemptible job to run (your own non-preemptible jobs will not preempt your preemptible jobs).&lt;br /&gt;
&lt;br /&gt;
To make a job preemptible, you can submit it with a QOS (quality of service) flag. For example:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=QOS:preemptible ... &amp;lt;jobscript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can make a submitted job (whether queued or running) preemptible with the Maui comand setqos:&lt;br /&gt;
&lt;br /&gt;
 setqos preemptible &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And you can make a job non-preemptible by setting its QOS to DEFAULT:&lt;br /&gt;
&lt;br /&gt;
 setqos DEFAULT &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a job&#039;s QOS with the command [[Using_the_cluster#Job_and_cluster_info | checkjob]].&lt;br /&gt;
&lt;br /&gt;
Note that because of a bug in Torque, if you want to specify a [[Using_the_cluster#Using_fewer_than_8_cores_per_node | node access policy]] and a QOS, you should not specify the QOS to Torque, but should instead submit the job without a QOS, then set the QOS using setqos.&lt;br /&gt;
&lt;br /&gt;
=== How the scheduler determines which job to run next ===&lt;br /&gt;
&lt;br /&gt;
Maui runs queued jobs in priority order (blocked jobs are not considered). Priority is a function of&lt;br /&gt;
&lt;br /&gt;
* your recent cluster usage (the less usage, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* the number of nodes requested (the more nodes, the higher the priority)&lt;br /&gt;
&lt;br /&gt;
* a combination of the walltime requested (the less time, the higher the priority) and how long the job has been waiting to run&lt;br /&gt;
&lt;br /&gt;
This last factor is referred to as the &amp;quot;expansion factor&amp;quot; in the Maui documentation, and is equal to&lt;br /&gt;
&lt;br /&gt;
 1 + time since submission / wallclock time&lt;br /&gt;
&lt;br /&gt;
which, all else being equal, is designed to cause jobs to wait on average only as long as their requested walltime.&lt;br /&gt;
&lt;br /&gt;
Maui also uses &amp;quot;backfill&amp;quot; to schedule short and small jobs when doing so would not interfere with higher priority jobs.&lt;br /&gt;
&lt;br /&gt;
To find out how the priority of your job was calculated, use the Maui command &#039;&#039;&#039;diagnose&#039;&#039;&#039;, which will show something like this:&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -p&lt;br /&gt;
 diagnosing job priority information (partition: ALL)&lt;br /&gt;
 &lt;br /&gt;
 Job                    PRIORITY*     FS( User)  Serv(XFctr)   Res( Proc)&lt;br /&gt;
              Weights   --------       1(    1)     1(    1)     1(    1)&lt;br /&gt;
 &lt;br /&gt;
 46                          113     6.9( -9.0)   1.2(  1.6)  91.9(120.0)&lt;br /&gt;
 47                           77     9.5( -9.0)   1.6(  1.5)  88.9( 84.0)&lt;br /&gt;
 &lt;br /&gt;
 Percent Contribution   --------     8.0(  8.0)   1.4(  1.4)  90.6( 90.6)&lt;br /&gt;
&lt;br /&gt;
FS refers to the fairshare factor. For both jobs, the user&#039;s usage is above the target usage, making the fairshare factor negative.&lt;br /&gt;
&lt;br /&gt;
The exact weight given to each factor is subject to change as we attempt to find a balance between high utilization and fairness to all users.&lt;br /&gt;
&lt;br /&gt;
The diagnose command will also tell you how much you and other users have been using the cluster over the past week.&lt;br /&gt;
&lt;br /&gt;
 $ diagnose -f&lt;br /&gt;
 FairShare Information&lt;br /&gt;
 &lt;br /&gt;
 Depth: 7 intervals   Interval Length: 1:00:00:00   Decay Rate: 0.75&lt;br /&gt;
 &lt;br /&gt;
 FS Policy: UTILIZEDPS&lt;br /&gt;
 System FS Settings:  Target Usage: 0.00    Flags: 0&lt;br /&gt;
 &lt;br /&gt;
 FSInterval        %     Target       0       1       2       3       4       5       6&lt;br /&gt;
 FSWeight       ------- -------  1.0000  0.7500  0.5625  0.4219  0.3164  0.2373  0.1780&lt;br /&gt;
 TotalUsage      100.00 ------- 23779.0  4358.0  6114.8 10451.7 10853.7  6915.1  7861.7&lt;br /&gt;
 &lt;br /&gt;
 USER&lt;br /&gt;
 -------------&lt;br /&gt;
 bvannemreddy      0.00   5.00  ------- ------- ------- ------- ------- ------- -------&lt;br /&gt;
 ac.smiyawak*     16.74   5.00    18.66   32.48    0.75   16.23    0.71   17.28   27.11&lt;br /&gt;
 bernard           0.09   5.00  ------- ------- -------    0.80    0.00    0.02    0.00&lt;br /&gt;
 ac.abarsan        2.17   5.00     2.08 ------- ------- ------- -------   17.27    8.36&lt;br /&gt;
&lt;br /&gt;
The asterisk indicates that the user is above their fairshare target, and that their jobs will be given a negative fairshare weight.&lt;br /&gt;
&lt;br /&gt;
=== More qsub options ===&lt;br /&gt;
&lt;br /&gt;
==== Receiving mail from Torque ====&lt;br /&gt;
&lt;br /&gt;
You can have Torque automatically email you when a job begins, ends, or aborts.&lt;br /&gt;
&lt;br /&gt;
 qsub -m &amp;lt;mail-options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;mail-options&amp;gt; argument consists of either the single character &#039;n&#039;, or one or more of &#039;a&#039;, &#039;b&#039;, &#039;e&#039;.&lt;br /&gt;
&lt;br /&gt;
 n No mail will be sent.&lt;br /&gt;
 a Mail will be sent when the job aborts.&lt;br /&gt;
 b Mail will be sent when the job begins.&lt;br /&gt;
 e Mail will be sent when the job ends.&lt;br /&gt;
&lt;br /&gt;
==== Redirecting job output ====&lt;br /&gt;
&lt;br /&gt;
Torque will write the standard output of your jobscript to &amp;lt;jobname&amp;gt;.o&amp;lt;jobnumber&amp;gt;, and the standard error to &amp;lt;jobname&amp;gt;.e&amp;lt;jobnumber&amp;gt;. To write them both to the standard output file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe ...&lt;br /&gt;
&lt;br /&gt;
or in your jobscript use&lt;br /&gt;
&lt;br /&gt;
 #PBS -joe&lt;br /&gt;
&lt;br /&gt;
To write standard output to a different file, submit the job with&lt;br /&gt;
&lt;br /&gt;
 qsub -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or in your jobscript:&lt;br /&gt;
&lt;br /&gt;
 #PBS -o &amp;lt;some-file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These can be combined; so, for example, submitting a job with&lt;br /&gt;
&lt;br /&gt;
 qsub -joe -o logfile&lt;br /&gt;
&lt;br /&gt;
will cause both standard output and standard error to be written to the file &#039;logfile&#039; in the directory in which the job is running.&lt;br /&gt;
&lt;br /&gt;
You can see the output file using the command qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
qpeek has several useful options:&lt;br /&gt;
&lt;br /&gt;
 $ qpeek -?&lt;br /&gt;
 qpeek:  Peek into a job&#039;s output spool files&lt;br /&gt;
 &lt;br /&gt;
  Usage:  qpeek [options] JOBID&lt;br /&gt;
 &lt;br /&gt;
  Options:&lt;br /&gt;
    -c      Show all of the output file (&amp;quot;cat&amp;quot;, default)&lt;br /&gt;
    -h      Show only the beginning of the output file (&amp;quot;head&amp;quot;)&lt;br /&gt;
    -t      Show only the end of the output file (&amp;quot;tail&amp;quot;)&lt;br /&gt;
    -f      Show only the end of the file and keep listening (&amp;quot;tail -f&amp;quot;)&lt;br /&gt;
    -#      Show only # lines of output&lt;br /&gt;
    -e      Show the stderr file of the job&lt;br /&gt;
    -o      Show the stdout file of the job (default)&lt;br /&gt;
    -?      Display this help message&lt;br /&gt;
&lt;br /&gt;
==== Using fewer than 8 cores per node on Phoenix and fewer than 32 cores per node on Zephyr====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Phoenix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 8 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q quadcore -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Zephyr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* To request and use fewer than 32 cores per node, specify the number of cores you need with the &#039;&#039;&#039;ppn&#039;&#039;&#039; node property:&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=&amp;lt;number of nodes&amp;gt;:ppn=&amp;lt;cores per node&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example, to use 4 cores on each of 8 nodes, do&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 ...&lt;br /&gt;
&lt;br /&gt;
* By default, the scheduler will assign multiple jobs to a node as long as the node has resources available, and as long as the jobs are owned by the same user. This behavior can be prevented like this:&lt;br /&gt;
&lt;br /&gt;
 qsub -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
so the previous command would be&lt;br /&gt;
&lt;br /&gt;
 qsub -q batch -l nodes=8:ppn=4 -W x=NACCESSPOLICY:SINGLEJOB ...&lt;br /&gt;
&lt;br /&gt;
(It would probably make more sense to have SINGLEJOB as the default, but Maui for some reason does not allow that policy to be overridden.)&lt;br /&gt;
&lt;br /&gt;
==== Forcing jobs to run sequentially ====&lt;br /&gt;
&lt;br /&gt;
* To have a job start only after another job has finished, use the &#039;&#039;&#039;depend&#039;&#039;&#039; job attribute:&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:&amp;lt;some job-id&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 qsub -W depend=afterany:1198 ...&lt;br /&gt;
&lt;br /&gt;
Many other dependency relationships are possible; please see the [http://www.clusterresources.com/torquedocs21/commands/qsub.shtml qsub man page].&lt;br /&gt;
&lt;br /&gt;
==== Passing variables to a jobscript ====&lt;br /&gt;
&lt;br /&gt;
By default, no environment variables are directly exported from the submission environment to the execution environment in which a job runs. This means that you&#039;ll usually need to load any modules the job requires in your job script, or in your shell configuration files, as described above, or use one of the following techniques to pass variables to a job.&lt;br /&gt;
&lt;br /&gt;
* To pass all environment variables:&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -V ...&lt;br /&gt;
&lt;br /&gt;
* To pass only specified variables:&lt;br /&gt;
&lt;br /&gt;
 qsub -v name=abc,model=neon ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 export name=abc; export model=neon&lt;br /&gt;
 qsub -v name,model ...&lt;br /&gt;
&lt;br /&gt;
* You can also specify in a job script which variables Torque should import into the execution environment from the submission environment. To import all environment variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -V&lt;br /&gt;
&lt;br /&gt;
or to import only specified variables:&lt;br /&gt;
&lt;br /&gt;
 #PBS -v name,model&lt;br /&gt;
&lt;br /&gt;
Note that you cannot assign values to the variables this way.&lt;br /&gt;
&lt;br /&gt;
=== Job and cluster info ===&lt;br /&gt;
&lt;br /&gt;
* To see a list of jobs which are running, queued, and blocked, use the Maui command showq:&lt;br /&gt;
&lt;br /&gt;
 showq [-r | -i | -b ]&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
 $ showq -r&lt;br /&gt;
           JobName  S Par  Effic  XFactor  Q      User    Group    MHost Procs   Remaining            StartTime&lt;br /&gt;
 &lt;br /&gt;
             67174  R DEF 100.00      0.0 pr      joe     joe  n101-ib     1    00:23:32  Wed Apr 28 14:05:12&lt;br /&gt;
             67233+ R DEF 182.60      1.1 pr      jan     jan  n082-ib     8    14:53:30  Thu Apr 29 13:37:49&lt;br /&gt;
             66942- R DEF  49.71      0.3 pr      lin     lin  n056-ib    64    18:59:14  Tue Apr 27 08:41:35&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;+&amp;quot; indicates that the job was [[#How_the_scheduler_determines_which_job_to_run_next | backfilled]]; the &amp;quot;—&amp;quot; that the job is [[Using_the_cluster#Quality_of_Service_.28QOS.29 | preemptible]].&lt;br /&gt;
&lt;br /&gt;
showq lists queued (Idle) jobs in descending [[#How_the_scheduler_determines_which_job_to_run_next | priority]] order. showq may show a job as running for up to a minute before it actually starts. To see if it&#039;s actually running in that first minute, use Torque&#039;s qstat:&lt;br /&gt;
&lt;br /&gt;
 qstat -a&lt;br /&gt;
&lt;br /&gt;
* To see how many cores are currently free for a job of a given walltime in each queue, use qbf:&lt;br /&gt;
&lt;br /&gt;
 qbf -d &amp;lt;walltime&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get more detailed statistics about current cluster usage, use our command qsum:&lt;br /&gt;
&lt;br /&gt;
 qsum&lt;br /&gt;
&lt;br /&gt;
* Use pbstop for a graphical display of cluster usage:&lt;br /&gt;
&lt;br /&gt;
 pbstop [-?]&lt;br /&gt;
&lt;br /&gt;
* pestat will give node-by-node cluster information:&lt;br /&gt;
&lt;br /&gt;
 pestat [-?]&lt;br /&gt;
&lt;br /&gt;
* To get a lot of info from Torque about a running or queued job:&lt;br /&gt;
&lt;br /&gt;
 qstat -f &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To diagnose problems with a job, you&#039;ll need to use both the Torque command tracejob and the Maui command checkjob, and possibly the Maui command diagnose:&lt;br /&gt;
&lt;br /&gt;
 tracejob &amp;lt;job-id&amp;gt;&lt;br /&gt;
 checkjob [-v] &amp;lt;job-id&amp;gt;&lt;br /&gt;
 diagnose -j &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you want to find out when Maui thinks your job will run, use showstart:&lt;br /&gt;
&lt;br /&gt;
 showstart &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ showstart 56&lt;br /&gt;
 job 56 requires 32 procs for 1:40:00&lt;br /&gt;
 Earliest start in          1:32:48 on Wed Nov 25 18:02:37&lt;br /&gt;
 Earliest completion in     3:12:48 on Wed Nov 25 19:42:37&lt;br /&gt;
&lt;br /&gt;
* If you want to find out how small and how short you need to make a job for it to run immediately in a particular queue, use the Maui command showbf:&lt;br /&gt;
&lt;br /&gt;
 showbf [-f &amp;lt;node-feature&amp;gt;] [-n nodecount] [-d walltime]&lt;br /&gt;
&lt;br /&gt;
where &amp;lt;node-feature&amp;gt; is one of quadcore, eightgb, or thirtytwogb. (&amp;quot;bf&amp;quot; is for backfill, the algorithm used to schedule short and small jobs without interfering with higher priority jobs.) Maui unfortunately doesn&#039;t take into account all of our scheduling policies, so showbf&#039;s core counts may be too high; nor does it know about our queue walltime limits.&lt;br /&gt;
&lt;br /&gt;
* We have our own utility, qbf, which summarizes the output of showbf for each queue:&lt;br /&gt;
&lt;br /&gt;
 $ qbf&lt;br /&gt;
 Queue       Cores  Time&lt;br /&gt;
 quadcore      112  5:49:09&lt;br /&gt;
 quadcore       40  3:00:00:00&lt;br /&gt;
 thirtytwogb     8  1:00:00:00&lt;br /&gt;
&lt;br /&gt;
This means that a 40 core job of any duration will run immediately, but a job requesting more than 40 cores will run immediately only if it requests less than 5 hours, 49 minutes. qbf is, however, subject to the same caveat as showbf.&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 jobnodes [-s] &amp;lt;jobid&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
 $ jobnodes -s 45124 45873 &lt;br /&gt;
 n008,n015&lt;br /&gt;
&lt;br /&gt;
* To get a list of the nodes on which your jobs are running (use -s to sort the list):&lt;br /&gt;
&lt;br /&gt;
 mynodes [-s]&lt;br /&gt;
&lt;br /&gt;
 $ mynodes -s&lt;br /&gt;
 n010,n097&lt;br /&gt;
&lt;br /&gt;
* To see if your application is still running on your nodes:&lt;br /&gt;
&lt;br /&gt;
 $ pdsh -w $(mynodes) ps&lt;br /&gt;
&lt;br /&gt;
 n046:   PID TTY          TIME CMD&lt;br /&gt;
 n046: 13056 ?        00:00:00 bash&lt;br /&gt;
 n046: 13717 ?        00:00:00 bash&lt;br /&gt;
 n046: 13721 ?        00:00:00 sshd&lt;br /&gt;
 n046: 13722 ?        00:00:00 ps&lt;br /&gt;
&lt;br /&gt;
For all of these commands, only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
==== qsub-stat ====&lt;br /&gt;
&lt;br /&gt;
qsub-stat is available only on Phoenix and requires the ls-dyna/base module to be loaded. &lt;br /&gt;
&lt;br /&gt;
Most of the commands for tracking your jobs and checking cluster status can be accessed via graphical application qsub-stat. Please refer to section on NoMachine to learn how to run graphical sessions on the TRACC Cluster. qsub-stat has three tabs. The first one shows percentage usage of the two queues (8GB and 32GB) and the disk space usage. Once you move mouse cursor on the meter you will get more detailed information on usage of the queues and the disk space. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Resources2.png|thumb|none|left|600px|alt=Resources tab|Resources tab]]&lt;br /&gt;
&lt;br /&gt;
In the Terminal tab majority of explained previously statistics commands can be called through mouse menu. Press and hold right or left mouse button to have access to the commands&#039; list. &lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Terminal2.png|thumb|none|left|600px|alt=Terminal tab|Terminal tab]]&lt;br /&gt;
&lt;br /&gt;
The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Cluster Usage (showq):&lt;br /&gt;
   - showq&lt;br /&gt;
   - showq - r (running)&lt;br /&gt;
   - showq - b (blocked)&lt;br /&gt;
 - Cluster Usage (qsum)&lt;br /&gt;
 - Cluster Usage (qstat)&lt;br /&gt;
 - Available Resources (qbf)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - LS-DYNA Usage (qdyna)&lt;br /&gt;
 - Madymo Usage (license server report)&lt;br /&gt;
 - Fluent Usage (license server report)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Current Login Node activity (htop)&lt;br /&gt;
 - Node activity (pbstop)&lt;br /&gt;
 - Node activity (pestat)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - See My Jobs&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Current usage of the cluster can also be viewed in the Job Status tab. When you press and hold right or left mouse button on a job, you will see a menu of commands that you can apply to it (Some of them will work only on your own jobs). The available commands are:&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - Show additional info:&lt;br /&gt;
   - qstat -f &lt;br /&gt;
   - chcekjob &lt;br /&gt;
   - tracejob&lt;br /&gt;
   - diagnosejob -j&lt;br /&gt;
   - showstart&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open standard output&lt;br /&gt;
 - statistics on master node (htop)&lt;br /&gt;
 - ssh to master node&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - open work directory in browser&lt;br /&gt;
 - open work directory in terminal&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
 - delete job (qdel)&lt;br /&gt;
 -------------------------------------------&lt;br /&gt;
&lt;br /&gt;
[[Image:600px-Job_status2.png|thumb|none|left|600px|alt=Job Status tab|Job Status tab]]&lt;br /&gt;
&lt;br /&gt;
Htop command shows live statistics on the master node of the current job.&lt;br /&gt;
[[Image:600px-Htop.png|thumb|none|left|600px|alt=Htop|Htop]]&lt;br /&gt;
&lt;br /&gt;
=== Deleting a job ===&lt;br /&gt;
&lt;br /&gt;
To delete a job, use Torque&#039;s qdel or Maui&#039;s canceljob, which simply calls qdel itself:&lt;br /&gt;
&lt;br /&gt;
 qdel &amp;lt;job-id&amp;gt;&lt;br /&gt;
 canceljob &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Torque will delete the job immmediately with either command, but Maui may not know about the deletion for up to a minute, during which time it will continue to show up in the output of showq.&lt;br /&gt;
&lt;br /&gt;
If either Torque or Maui tells you it can&#039;t delete the job, please send us an email and we&#039;ll delete it for you.&lt;br /&gt;
&lt;br /&gt;
Only the numerical portion of the job-id needs to be specified.&lt;br /&gt;
&lt;br /&gt;
=== Interactive Jobs ===&lt;br /&gt;
&lt;br /&gt;
You can get interactive access to a compute node with Torque by using the -I switch to qsub:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
If you want to run a GUI application on the compute node, use the -X switch:&lt;br /&gt;
&lt;br /&gt;
 qsub -I -X ...&lt;br /&gt;
&lt;br /&gt;
For this to work, you will need to either use the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, or enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster. Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
Also see [[#Accessing_a_compute_node_directly | below]] for an alternative means of directly accessing computes nodes.&lt;br /&gt;
&lt;br /&gt;
=== Using GUI applications on a compute node ===&lt;br /&gt;
&lt;br /&gt;
If you want to use a GUI application on a compute node, you will need to enable trusted [[#Graphical_Applications_using_X | X11]] forwarding when you ssh to the cluster, and again when you ssh to the compute node (as described above). Windows SSH clients will allow you to enable forwarding in the preferences for the connection. Under Linux and MacOS, you would do this:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y login.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
After logging in to a login node, you would then do this to access the compute node:&lt;br /&gt;
&lt;br /&gt;
 $ ssh -Y n001&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using the [[#Graphical_Applications_using_NoMachine_NX | NX client]] to connect to the cluster, you won&#039;t need to ssh to a login node, but you will still need to ssh to a compute node.&lt;br /&gt;
&lt;br /&gt;
=== Accessing a compute node directly ===&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is by having Torque give you [[#Interactive_jobs | interactive]] access to a node. But if you want to start a process running on a compute node and have it continue to run after you log out, use the method described here.&lt;br /&gt;
&lt;br /&gt;
* You can access any compute node which is running one of your jobs with the command&lt;br /&gt;
&lt;br /&gt;
 ssh &amp;lt;compute-node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the command&lt;br /&gt;
&lt;br /&gt;
 qstat -n1 &amp;lt;job-id&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to find out which nodes are running &amp;lt;job-id&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you want Torque to assign you nodes, but don&#039;t need it to run a job on your behalf, you can do (for example)&lt;br /&gt;
&lt;br /&gt;
 echo sleep 24h | qsub -l select=1,walltime=24:00:00&lt;br /&gt;
&lt;br /&gt;
and then ssh to the node.&lt;br /&gt;
&lt;br /&gt;
=== Using licensed software ===&lt;br /&gt;
&lt;br /&gt;
For some of our software we have a limited number of licenses. To ensure that there will be sufficient licenses available when Maui schedules your job, you will need to submit your job under an application-specific account. Any application wrapper scripts we have will take care of this for you, but if you need to specify the account manually, you would do it like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* LS-DYNA:&lt;br /&gt;
&lt;br /&gt;
 qsub -A dyna ...&lt;br /&gt;
&lt;br /&gt;
=== Debugging a job ===&lt;br /&gt;
&lt;br /&gt;
Some things to keep in mind or to try when your job doesn&#039;t run as expected:&lt;br /&gt;
&lt;br /&gt;
* Jobs don&#039;t inherit any environment variables from the submission environment. This means that if your job requires that PATH, LD_LIBRARY_PATH, MPI_HOME, or any other variable be set, you&#039;ll need to set it either in the job script, either directly or with a module, or in your shell configuration files.&lt;br /&gt;
&lt;br /&gt;
* Try running your job interactively on a compute node, like this:&lt;br /&gt;
&lt;br /&gt;
 $ qsub -I ...&lt;br /&gt;
 qsub: waiting for job nnnn.host1 to start&lt;br /&gt;
 qsub: job nnnn.host1 ready&lt;br /&gt;
 $ cd $PBS_O_WORKDIR&lt;br /&gt;
&lt;br /&gt;
Now run your job script or start up a debugger with your program, just as you would on a login node.&lt;br /&gt;
&lt;br /&gt;
* Try some simple jobs, and look at the standard output and standard error files (STDIN.o&amp;lt;job-id&amp;gt; and STDIN.e&amp;lt;job-id&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 echo | qsub&lt;br /&gt;
 echo env | qsub&lt;br /&gt;
&lt;br /&gt;
* If you want to see the output of your job as it&#039;s being produced, use qpeek:&lt;br /&gt;
&lt;br /&gt;
 qpeek &amp;lt;jobid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Undeliverable job output ===&lt;br /&gt;
&lt;br /&gt;
If Torque cannot copy the files containing the output of your job to the job&#039;s working directory, the files will eventually be copied to /mnt/gpfs/undelivered. They will be deleted after 10 days.&lt;br /&gt;
&lt;br /&gt;
=== Requeuing of jobs ===&lt;br /&gt;
&lt;br /&gt;
If your job dies due to a problem with the cluster, it will not automatically be requeued. If you would like it to be, do&lt;br /&gt;
&lt;br /&gt;
 qsub -r y ...&lt;br /&gt;
&lt;br /&gt;
=== Reserving the cluster ===&lt;br /&gt;
&lt;br /&gt;
Users cannot directly reserve the cluster, but if you think you might have a need for a reservation, please contact us.  &lt;br /&gt;
[mailto:TRACC_Director@anl.gov Click to send email] or via telephone: 630-252-8224 as far in advance as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Compiling_Your_Code&amp;diff=2174</id>
		<title>Compiling Your Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Compiling_Your_Code&amp;diff=2174"/>
		<updated>2025-03-09T01:28:13Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;if you need help to compile your code, please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Backups&amp;diff=2173</id>
		<title>Backups</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Backups&amp;diff=2173"/>
		<updated>2025-03-09T01:27:31Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
We do not operate traditional backup hardware at TRACC. This is mostly because tape backups (or even traditional hard drive backups) would take weeks to restore onto our primary Lustre file system, which has a capacity of 1000 TB and may be expanded in the future as needed. To be able to recover much more efficiently from a major disaster, we are operating a secondary standby Lustre file system of of the same size (also potential subject to future expansion). New Lustre features allow us to create a snapshot of the primary file system at regular intervals (e.g. once or twice per week). The data on the snapshot is then synchronized to the standby Lustre file system over the course of a day or two, ensuring that this secondary copy of all user data is perfectly consistent as of a specific time when the original snapshot was taken.&lt;br /&gt;
&lt;br /&gt;
The snapshots on the primary file system stay around for a limited time period, and can be potentially used if recent user data needs to be recovered (after a user accidentally deletes important files). The snapshots will not allow recovery if the file system encounters a fatal error. This is highly unlikely due to triple redundancy on the Lustre file systems. 3 out of 12 disks in each of the storage groups are allowed to fail without causing data loss, and failing disks are a normal operating condition and are simply replaced and rebuilt on the fly during normal operations (this takes at most a day and users will not notice this). We may shut down file system operations when 2 disks are failing at the same time to have an extra margin of safety while rebuilding the underlying storage. This should be a very rare event and has not been encountered in the past 15 years of operating similar systems. But data integrity is of utmost importance for our operations.&lt;br /&gt;
&lt;br /&gt;
Should we encounter a fatal error with the primary Lustre file system despite all the above mentioned protective measures, we can simply move the standby file system into production (losing possibly a few days&#039; worth of user data since the last synchronization). The standby system can then be replicated onto a fresh primary Lustre file system, with the file systems being swapped out again after a few weeks when this rebuild synchronization is finalized. We do not expect this to ever happen, but we need to be prepared for speedy disaster recovery due to the high value of the data stored on our systems.&lt;br /&gt;
&lt;br /&gt;
Currently, the standby file system is operating in the same physical space as the cluster itself. We are considering to place the standby file system physically into a remote location (very likely the Argonne Enterprise Data Center) to furthermore decrease the potential for catastrophic data loss. The feasibility for sufficient network bandwidth will be evaluated first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Files_%26_Storage&amp;diff=2172</id>
		<title>Files &amp; Storage</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Files_%26_Storage&amp;diff=2172"/>
		<updated>2025-03-09T01:26:46Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Each node in the cluster provides access to local disk storage and to a globally accessible filesystem mounted as /mnt/lustre on ARROW.&lt;br /&gt;
&lt;br /&gt;
* Your home directory, the directory you are placed in when you log in, is /mnt/lustre/home/&amp;lt;user&amp;gt; on ARROW. Your home directory is accessible from all the login nodes and compute nodes. You should use this space for storing files you want to keep long term, such as source code, scripts, input data sets, etc.&lt;br /&gt;
&lt;br /&gt;
=== Collaborative groups ===&lt;br /&gt;
&lt;br /&gt;
A collaborative group can be set up on the TRACC cluster as an easy way for the group to create and manage a shared directory tree of files and programs.  A TRACC systems administrator will create the base directory for the directory structure shared by the group.  The group base directory will have permissions set to populate the group file structure with directories and files that can be read by all group members, yet still retain some security against accidental modification or deletion of files not owned by a group member working in a group directory.&lt;br /&gt;
&lt;br /&gt;
An example base group directory has the following permissions set:&lt;br /&gt;
&lt;br /&gt;
 drwsrws--T    3   joe-user     joes-group       32768 Oct 17 17:28 tfhrc &lt;br /&gt;
&lt;br /&gt;
Note that the setuid and setgid flags, “s,” are in the directory permissions in the position where the execute, “x,” flag would normally appear, allowing the directory owner and group members to list (“ls”) the directory and change to the directory (“cd”).  The setuid flag is ignored by Linux.  The setgid flag causes new files and subdirectories created within the directory to inherit its group ID rather than the group ID of the user who created the file or subdirectory.  This inheritance feature allows users, without first changing their group ID with the “newgrp” command, to create files and subdirectories that have group ID of the parent directory instead of the group ID of the user.&lt;br /&gt;
&lt;br /&gt;
In short, the setgid flag allows group members to work in the group directory without doing anything special when creating files; they will be automatically readable by other group members. &lt;br /&gt;
&lt;br /&gt;
The group directory also has the sticky bit set, indicated by a capitol T in the others execute flag position.  When the sticky bit is set on a directory, and the group write permission flag is set, group members may create files in the directory, including new subdirectories, and modify and delete the files that they own, but they will not be able to change or delete the files owned by other group members.&lt;br /&gt;
&lt;br /&gt;
In short, the sticky bit set on a group directory, allows users to work safely in collaboration in a group directory: they can create and change their own files, read and copy the files of others, but they cannot change or delete the files of other group members. &lt;br /&gt;
&lt;br /&gt;
When a user creates a subdirectory in the group directory, it inherits the group ID, but the permissions will be assigned based on the user’s mask (umask).  The default umask on the TRACC cluster sets read and execute permissions for group members and no permissions for others.  It does not set the group write permission.  When a group member creates a subdirectory in the group directory, other group members will be able to change into that directory, read the files in the directory, copy the files into another directory, but they will not be able to create files in a new subdirectory that they do not own, unless the owner sets the group write permission for the directory.  In that case, it is good practice for the directory owner to also set the sticky bit on the directory to allow other group members to add files to the directory, but prevent them from accidentally changing or deleting files belonging to other group members (i.e. files that they do not own).&lt;br /&gt;
&lt;br /&gt;
In short, to allow other group members to create and modify their own files in a new group subdirectory, but not the files of others do: &lt;br /&gt;
&lt;br /&gt;
 chmod   g+w  subdirectory.name&lt;br /&gt;
&lt;br /&gt;
 chmod   +t   subdirectory.name&lt;br /&gt;
&lt;br /&gt;
Group membership and the group directory provide a relatively easy way for a collaborative group to share data and programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Login_Nodes_Versus_Compute_Nodes&amp;diff=2170</id>
		<title>Login Nodes Versus Compute Nodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Login_Nodes_Versus_Compute_Nodes&amp;diff=2170"/>
		<updated>2025-03-09T01:25:33Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
The cluster consists of login nodes and compute nodes, along with a few other nodes for administration and serving files. The login nodes are shared, and at any time a login node might be in use by 10 or 20 users. For that reason, CPU- and memory-intensive jobs, as well any code that runs a risk of crashing a machine, should be run only on the compute nodes.&lt;br /&gt;
&lt;br /&gt;
Compute nodes can be used both for batch jobs and for interactive jobs. See below for how to use a node [[Running Your Code#Interactive Jobs | interactively]], and how to run [[Running Your Code#Using GUI applications on a compute node | GUI applications]] on a node.&lt;br /&gt;
&lt;br /&gt;
The login nodes are named&lt;br /&gt;
&lt;br /&gt;
 login1, login2, login3, and login4&lt;br /&gt;
&lt;br /&gt;
A description of the compute node queues can be [[ARROW Cluster#ARROW Queues | found here.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2169</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2169"/>
		<updated>2025-03-09T01:24:50Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is availale by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2168</id>
		<title>Transferring Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2168"/>
		<updated>2025-03-09T01:23:20Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Files can be transferred to and from the cluster using a client that supports the SFTP (SSH File Transfer Protocol) or with scp (Secure Copy Protocol). Free SFTP clients  are available from https://www.putty.org for Windows, and are included with or available for MacOS, and most varieties of Linux/UNIX. Be sure your client is using port 22.&lt;br /&gt;
&lt;br /&gt;
*Popular file transfer clients are WinSCP and FileZilla. You can download WinSCP from http://winscp.net and FileZilla from http://filezilla-project.org.&lt;br /&gt;
&lt;br /&gt;
* Some users have also reported success with [http://www.itefix.no/i2/cwrsync cwrsync], a prepackaged version of Cgywin and rsync.&lt;br /&gt;
&lt;br /&gt;
=== Windows text files ===&lt;br /&gt;
&lt;br /&gt;
Note that text files created under Windows may cause problems on the cluster. This is because Windows and Linux have different conventions for representing a [http://en.wikipedia.org/wiki/Newline newline] in ASCII text files. Some Windows text editors will allow you to save a file in the UNIX/Linux format before transferring the file to the cluster. Alternatively, you can use the Linux command dos2unix to remove the CR characters that Windows uses at the ends of lines:&lt;br /&gt;
&lt;br /&gt;
 dos2unix somefile&lt;br /&gt;
&lt;br /&gt;
dos2unix will have no effect on a Linux text file, so it&#039;s safe to use on any text file.&lt;br /&gt;
&lt;br /&gt;
You can determine whether a file is in Windows or Linux format with the command&lt;br /&gt;
&lt;br /&gt;
 cat -v somefile&lt;br /&gt;
&lt;br /&gt;
Windows text files will have a ^M at the end of each line.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2167</id>
		<title>Transferring Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2167"/>
		<updated>2025-03-09T01:21:59Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Files can be transferred to and from the cluster using a client that supports the SFTP (SSH File Transfer Protocol) or with scp (Secure Copy Protocol). Free SFTP clients  are available from https://www.putty.org for Windows, and are included with or available for MacOS, and most varieties of Linux/UNIX. Be sure your client is using port 22.&lt;br /&gt;
&lt;br /&gt;
*Popular file transfer clients are WinSCP and FileZilla. You can download WinSCP from http://winscp.net and FileZilla from http://filezilla-project.org.&lt;br /&gt;
&lt;br /&gt;
* Some users have also reported success with [http://www.itefix.no/i2/cwrsync cwrsync], a prepackaged version of Cgywin and rsync.&lt;br /&gt;
&lt;br /&gt;
=== Windows text files ===&lt;br /&gt;
&lt;br /&gt;
Note that text files created under Windows may cause problems on the cluster. This is because Windows and Linux have different conventions for representing a [http://en.wikipedia.org/wiki/Newline newline] in ASCII text files. Some Windows text editors will allow you to save a file in the UNIX/Linux format before transferring the file to the cluster. Alternatively, you can use the Linux command dos2unix to remove the CR characters that Windows uses at the ends of lines:&lt;br /&gt;
&lt;br /&gt;
 dos2unix somefile&lt;br /&gt;
&lt;br /&gt;
dos2unix will have no effect on a Linux text file, so it&#039;s safe to use on any text file.&lt;br /&gt;
&lt;br /&gt;
You can determine whether a file is in Windows or Linux format with the command&lt;br /&gt;
&lt;br /&gt;
 cat -v somefile&lt;br /&gt;
&lt;br /&gt;
Windows text files will have a ^M at the end of each line.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2166</id>
		<title>Transferring Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Transferring_Files&amp;diff=2166"/>
		<updated>2025-03-09T01:20:38Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* Files can be transferred to and from the cluster using a client that supports the SFTP (SSH File Transfer Protocol) or with scp (Secure Copy Protocol). Free SFTP clients  are available from https://www.putty.org for Windows, and are included with or available for MacOS, and most varieties of Linux/UNIX. Be sure your client is using port 22.&lt;br /&gt;
&lt;br /&gt;
*Popular file transfer clients are WinSCP and FileZilla. You can download WinSCP from http://winscp.net and FileZilla from http://filezilla-project.org.&lt;br /&gt;
&lt;br /&gt;
* Some users have also reported success with [http://www.itefix.no/i2/cwrsync cwrsync], a prepackaged version of Cgywin and rsync.&lt;br /&gt;
&lt;br /&gt;
=== Windows text files ===&lt;br /&gt;
&lt;br /&gt;
Note that text files created under Windows may cause problems on the cluster. This is because Windows and Linux have different conventions for representing a [http://en.wikipedia.org/wiki/Newline newline] in ASCII text files. Some Windows text editors will allow you to save a file in the UNIX/Linux format before transferring the file to the cluster. Alternatively, you can use the Linux command dos2unix to remove the CR characters that Windows uses at the ends of lines:&lt;br /&gt;
&lt;br /&gt;
 dos2unix somefile&lt;br /&gt;
&lt;br /&gt;
dos2unix will have no effect on a Linux text file, so it&#039;s safe to use on any text file.&lt;br /&gt;
&lt;br /&gt;
You can determine whether a file is in Windows or Linux format with the command&lt;br /&gt;
&lt;br /&gt;
 cat -v somefile&lt;br /&gt;
&lt;br /&gt;
Windows text files will have a ^M at the end of each line.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Becoming_A_User&amp;diff=2163</id>
		<title>Becoming A User</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Becoming_A_User&amp;diff=2163"/>
		<updated>2025-03-09T01:18:44Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The TRACC facility, applications software, and resources are limited to users from sponsoring organizations. TRACC welcomes discussions with potential researchers to see whether resources can be provided through existing projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Embargoed or State Sponsors of Terrorism (T-4 Countries) ==&lt;br /&gt;
&lt;br /&gt;
A T-4 country national is anybody who was born in or is a citizen of a country on the Department of State list of &amp;quot;State Sponsors of Terrorism.&amp;quot; T-4 countries currently are Cuba, Iran, North Korea, Sudan, and Syria.&lt;br /&gt;
&lt;br /&gt;
A request for TRACC computer access by a T-4 country national requires specific approval by the U.S. Under Secretary of Science. The process requires extensive paperwork that must be submitted for approval. Submittal lead time is 3 or more months with no guarantee the request will be approved.&lt;br /&gt;
&lt;br /&gt;
Principal Investigators are required to inform TRACC of any of their users who are foreign nationals and their countries of citizenship. No work may be performed on TRACC resources on behalf of foreign nationals from sensitive countries.&lt;br /&gt;
&lt;br /&gt;
:::::::::::::::[[New main|&#039;&#039;&#039;Return To Main Page&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2144</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2144"/>
		<updated>2025-03-08T23:14:57Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is availale by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster under construction |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2143</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2143"/>
		<updated>2025-03-08T23:05:17Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule and some of these queues can only be scheduled by one scheduler (Torque) and the others by a second scheduler (PBS). The nodes scheduled by the queues vary from queue to queue. Be aware that node characteristics (RAM, number of processors, etc) vary from queue to queue. The Torque scheduler is availale by default; the PBS scheduler is only available by loading its environmental variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2142</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2142"/>
		<updated>2025-03-08T22:40:13Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule. Be aware that all nodes in some queues have the same characteristics (RAM, etc) while some queues have nodes with different characteristics. Thus jobs using those queues must specify the node names that are to be used, further some queues can only scheduled by one scheduler (Torque) and the other by a different scheduler (PBS). &amp;lt;p&amp;gt;&lt;br /&gt;
The queues &amp;quot;Torque Computing Queues&amp;quot; are scheduled by the Torque scheduler and is available by default. &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2141</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2141"/>
		<updated>2025-03-08T22:38:19Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Changing ARROW Computing Queues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule. Be aware that all nodes in some queues have the same characteristics (RAM, etc) while some queues have nodes with different characteristics. Thus jobs using those queues must specify the node names that are to be used, further some queues can only scheduled by one scheduler (Torque) and the other by a different scheduler (PBS). &amp;lt;p&amp;gt;&lt;br /&gt;
The queues &amp;quot;Torque Computing Queues&amp;quot; are scheduled by the Torque scheduler and is available by default. &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can review the queues that are available and which scheduler to use to [[ARROW Cluster |&#039;&#039;&#039;schedule them by clicking here.&#039;&#039;&#039;]]&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One | &#039;&#039;&#039;Introduction to the ARROW Cluster&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
:* [[ARROW Cluster#ARROW Queues | &#039;&#039;&#039;ARROW Computing Queues&#039;&#039;&#039;]]&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2140</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2140"/>
		<updated>2025-03-08T22:32:52Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== Changing ARROW Computing Queues ===&lt;br /&gt;
There are currently several computing queues that are available to schedule. Be aware that all nodes in some queues have the same characteristics (RAM, etc) while some queues have nodes with different characteristics. Thus jobs using those queues must specify the node names that are to be used, further some queues can only scheduled by one scheduler (Torque) and the other by a different scheduler (PBS). &amp;lt;p&amp;gt;&lt;br /&gt;
The queues &amp;quot;Torque Computing Queues&amp;quot; are scheduled by the Torque scheduler and is available by default. &amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The queues &amp;quot;PBS Computing Queues&amp;quot; are available after the environmental specifying the PBS Scheduler is initiated&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
 module load pbs/pbs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2116</id>
		<title>Setting Up Your Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Setting_Up_Your_Environment&amp;diff=2116"/>
		<updated>2025-02-23T22:05:11Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Shells */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Shells ===&lt;br /&gt;
&lt;br /&gt;
* Your account will be set up with the bash shell, unless you asked for a different shell when you requested your account. You can find out your current shell with the command &amp;lt;code&amp;gt;echo $SHELL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* If you&#039;d like a different shell, please contact us. [mailto:TRACC_Director@anl.gov Click to send email].&lt;br /&gt;
&lt;br /&gt;
* The commands &amp;lt;code&amp;gt;chsh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ypchsh&amp;lt;/code&amp;gt; don&#039;t work on the cluster, and have been disabled.&lt;br /&gt;
&lt;br /&gt;
=== Accessing application software with modules ===&lt;br /&gt;
&lt;br /&gt;
* The cluster uses the [http://modules.sourceforge.net Environment Modules] package to manage access to application software.&lt;br /&gt;
&lt;br /&gt;
* modules documentation is available with the command &amp;lt;code&amp;gt;man module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To set up your environment so that an application can be used, use the command&lt;br /&gt;
&lt;br /&gt;
 module load &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
at the command line or in your shell&#039;s configuration files.&lt;br /&gt;
&lt;br /&gt;
* You can undo the effect of a module load with&lt;br /&gt;
&lt;br /&gt;
 module unload &amp;lt;module&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* It&#039;s generally not a good idea to load modules for more than one version of the same application. Instead, swap the modules:&lt;br /&gt;
&lt;br /&gt;
 module swap some-application/stable some-application/beta&lt;br /&gt;
&lt;br /&gt;
* Your .bashrc or .cshrc contains sample commands for loading the most common modules. Please see the instructions in those files, or in /etc/skel/.bashrc or /etc/skel/.cshrc, which will be the latest versions of the default configuration files.&lt;br /&gt;
&lt;br /&gt;
* Most modules are one of these two forms:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;application type&amp;gt;/&amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
 &amp;lt;application&amp;gt;/&amp;lt;version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for example&lt;br /&gt;
&lt;br /&gt;
 compiler/pathscale/3.1-147&lt;br /&gt;
 starccm/15.06.008-R8&lt;br /&gt;
&lt;br /&gt;
Omitting the version number will load the latest stable version of the module.&lt;br /&gt;
&lt;br /&gt;
To see what modules are currently loaded in your environment, do&lt;br /&gt;
&lt;br /&gt;
 module list&lt;br /&gt;
&lt;br /&gt;
To see what modules are available, do&lt;br /&gt;
&lt;br /&gt;
 module avail&lt;br /&gt;
&lt;br /&gt;
* Modules with &amp;quot;-alpha&amp;quot; or &amp;quot;-beta&amp;quot; appended to the name may not work, either because the software or module is broken.&lt;br /&gt;
&lt;br /&gt;
* To use modules in shell scripts, including Torque jobs scripts, see [[Running Your Code#Job_scripts| below]].&lt;br /&gt;
&lt;br /&gt;
=== File permissions ===&lt;br /&gt;
&lt;br /&gt;
By default, you will be in your own Unix group, and your files will be readable and writable only by you (that is, the default umask is 027). If you want files to be readable by everyone working on your project, you will need to &lt;br /&gt;
&lt;br /&gt;
* Have your project leader request that we create a Unix group for the project. They also need to let us know who should be in the group.&lt;br /&gt;
&lt;br /&gt;
* Change the group ownership of the files you want to be group-readable:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;project-group&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Make the file group-readable, and, if user-executable, group-executable:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rX &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want all your new files to be readable by everyone in your group, you&#039;ll need to &lt;br /&gt;
&lt;br /&gt;
* Ask us to change your default group. To contact us&lt;br /&gt;
[mailto:TRACC_Director@anl.gov click to send email] or via telephone: 630-252-8224.&lt;br /&gt;
&lt;br /&gt;
Note that a change in your primary group will not affect pre-existing files. To change the group ownership of all your files, do this:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;new-group&amp;gt; ~&lt;br /&gt;
 chmod -R g+rX ~&lt;br /&gt;
 chgrp -R $USER ~/.ssh&lt;br /&gt;
 chmod -R g-rx ~/.ssh&lt;br /&gt;
&lt;br /&gt;
The last two commands are necessary for SSH security; you will lock yourself out of the cluster if you omit them.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=How_to_Connect&amp;diff=1986</id>
		<title>How to Connect</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=How_to_Connect&amp;diff=1986"/>
		<updated>2025-01-14T21:28:05Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* SSH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
You need an SSH client to connect to Arrow. No other connection protocols are supported. There are 4 general purpose login nodes that you can connect to:&lt;br /&gt;
&lt;br /&gt;
*login1.arrow.tracc.anl.gov&lt;br /&gt;
*login2.arrow.tracc.anl.gov&lt;br /&gt;
*login3.arrow.tracc.anl.gov&lt;br /&gt;
*login4.arrow.tracc.anl.gov&lt;br /&gt;
&lt;br /&gt;
When connecting, please pick a random entry from the above list to evenly distribute users over multiple machines.&lt;br /&gt;
&lt;br /&gt;
For users that work at Argonne or that have an actual Argonne ANL Domain account, you use your assigned account name and password to connect to these login nodes. Just use the ANL Domain user name, without the ANL prefix.&lt;br /&gt;
&lt;br /&gt;
For external collaborators, the bulk of our users, you want to use your external collaborator account that was assigned to you when you applied for an account. These accounts all start with the letters &amp;quot;ac&amp;quot; followed by a period, and then followed by a specific account name. The entire account name, including the leading &amp;quot;ac.&amp;quot; portion must be used to connect.&lt;br /&gt;
&lt;br /&gt;
Passwords expire on a regular basis (every 6 months or so), and you will need to update your password with Argonne Account Services. You can call 630-252-9999 if you need any help or detailed instructions.&lt;br /&gt;
&lt;br /&gt;
You will not be able to connect until we have your public IP address on file in our system. Your account will be linked to a few machines with known IP addresses, and if you need to connect from another machine, please contact us to add that machine to your account. Details can be found below.&lt;br /&gt;
&lt;br /&gt;
== How to Connect: Details ==&lt;br /&gt;
&lt;br /&gt;
=== SSH ===&lt;br /&gt;
&lt;br /&gt;
* Access to the TRACC cluster requires use of an SSH client. Free SSH clients are available for Windows, are included or available for MacOS, and all varieties of Linux or UNIX. SSH clients can be terminal applications to work with command lines (e.g. Putty on Windows), or they can be file transfer utilities (WinSCP, FileZilla). In any case, cluster connections are all using the SSH protocol (including sftp).&lt;br /&gt;
&lt;br /&gt;
* If you&#039;re using a simple graphical application on the cluster through an SSH connection and you are either connecting from a Mac or Linux desktop machine or you have an X server installed on your Windows machine, you may want to enable X11 forwarding to your client. This is a method that uses strictly the old X protocol, and performance is very limited (due to the SSH encryption overhead). You should consider using one of the remote GUI options listed below instead if you can. If you want to keep it simple though, you can do this (using typically a corresponding check box in Windows clients):&lt;br /&gt;
&lt;br /&gt;
 ssh -X username@login1.arrow.tracc.anl.gov&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;--[[User:Amiot|Amiot]] ([[User talk:Amiot|talk]]) 15:28, January 14, 2025 (CST)&lt;br /&gt;
* Alternatively, client software like the [[Graphical Applications#GRAPHICAL APPLICATIONS Using NoMachine NX | NoMachine NX client]] can be used to connect, providing a full graphical user interface. This requires the installation of the free NoMachine client software.&lt;br /&gt;
&lt;br /&gt;
* Another alternative is the [[Graphical Applications#GRAPHICAL APPLICATIONS Using NoMachine NX | free X2Go client]], which provides a near identical user experience. Details can be found [[Graphical Applications#GRAPHICAL APPLICATIONS Using NoMachine NX | here]].&lt;br /&gt;
&lt;br /&gt;
=== Access restricted to authorized hosts ===&lt;br /&gt;
&lt;br /&gt;
* Access to the cluster is currently restricted to pre-approved hosts. Please contact us [mailto:TRACC_Director@anl.gov clicking  to send email] or via telephone at 630-252-8224 with the hostnames of the systems from which you would like to access the cluster. Argonne users with Argonne Domain accounts can connect through Argonne&#039;s VPN service; please contact us by [mailto:TRACC_Director@anl.gov clicking  to send email] or via telephone: 630-252-8224 for details.&lt;br /&gt;
&lt;br /&gt;
* Under Windows, you can find out your host name with the command &amp;quot;ipconfig&amp;quot;. Note that IP addresses beginning with &amp;quot;10.&amp;quot; or &amp;quot;192.168.&amp;quot; are private addresses assigned by your home router, and those are not accessible from outside your home network. If you have such an address, you can usually find your public IP address at (for example) http://whatismyip.com.&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=1976</id>
		<title>TRACC Cluster Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=1976"/>
		<updated>2024-12-24T21:10:30Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Under Investigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following lists the software that is supported on ARROW and the software we are considering for support in the future. Click on the software for Application Notes.&lt;br /&gt;
==Supported On ARROW==&lt;br /&gt;
&lt;br /&gt;
[[LS-DYNA | * LS-DYNA]]&lt;br /&gt;
&lt;br /&gt;
[[LS-PrePost | * LS-PrePost]]&lt;br /&gt;
&lt;br /&gt;
[[LS-OPT | * LS-OPT]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM | * OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[Python | * Python]]&lt;br /&gt;
&lt;br /&gt;
[[STAR-CCM+ | * STAR-CCM+]]&lt;br /&gt;
&lt;br /&gt;
==Under Investigation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* MATLAB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* COMSOL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* Abaqus&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=1975</id>
		<title>TRACC Cluster Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=TRACC_Cluster_Software&amp;diff=1975"/>
		<updated>2024-12-24T21:09:17Z</updated>

		<summary type="html">&lt;p&gt;Amiot: /* Under Investigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following lists the software that is supported on ARROW and the software we are considering for support in the future. Click on the software for Application Notes.&lt;br /&gt;
==Supported On ARROW==&lt;br /&gt;
&lt;br /&gt;
[[LS-DYNA | * LS-DYNA]]&lt;br /&gt;
&lt;br /&gt;
[[LS-PrePost | * LS-PrePost]]&lt;br /&gt;
&lt;br /&gt;
[[LS-OPT | * LS-OPT]]&lt;br /&gt;
&lt;br /&gt;
[[OpenFOAM | * OpenFOAM]]&lt;br /&gt;
&lt;br /&gt;
[[Python | * Python]]&lt;br /&gt;
&lt;br /&gt;
[[STAR-CCM+ | * STAR-CCM+]]&lt;br /&gt;
&lt;br /&gt;
==Under Investigation==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* MATLAB&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* COMSOL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* Abaqus&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* GPU&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_tracc/index.php?title=Python&amp;diff=1955</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_tracc/index.php?title=Python&amp;diff=1955"/>
		<updated>2021-07-30T19:08:44Z</updated>

		<summary type="html">&lt;p&gt;Amiot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[User:Amiot|Amiot]] ([[User talk:Amiot|talk]]) 16:20, July 6, 2021 (CDT)== Arrow ==&lt;br /&gt;
The default version of Python on Arrow is 2.7.5. and does not require a module to be loaded.  You can start the interactive version by entering the command&lt;br /&gt;
 python2&lt;br /&gt;
&lt;br /&gt;
To run the batch version, start your script with&lt;br /&gt;
 #!/usr/bin/env python2&lt;br /&gt;
&lt;br /&gt;
The default version of python3 (3.6.8) along with sympy, numpy, and ipython are also installed, but you must load the python libraries. You can use the interactive version by entering the commands&lt;br /&gt;
 module load python/3.8.2&lt;br /&gt;
 python3&lt;br /&gt;
&lt;br /&gt;
You can use the batch version by starting your script with&lt;br /&gt;
 module load python/3.8.2&lt;br /&gt;
 #!/usr/bin/env python2&lt;br /&gt;
&lt;br /&gt;
You can see general information about modules [[Setting Up Your Environment#Accessing application software with modules| here.]]&lt;/div&gt;</summary>
		<author><name>Amiot</name></author>
	</entry>
</feed>