UMBC logo
UMBC High Performance Computing Facility
Please note that this page is under construction. We are documenting the 240-node cluster maya that will be available after Summer 2014. Currently, the 84-node cluster tara still operates independently, until it becomes part of maya at the end of Summer 2014. Please see the 2013 Resources Pages under the Resources tab for tara information.
Using your HPCF account
The following page gives a tour through a typical maya account. While it is a standard Unix account, there are several special features to note, including the location and intent of the different storage areas and the availability of software. If you're having trouble with any of the material, or believe that your account may be missing something, contact user support.

Connecting to maya

The only nodes with a connection to the outside network are the user nodes. Internally to the system, their full hostnames are and (notice the "-usr1" and "-usr2"). From the outside, we must refer to the hostname To log in to the system, you must use a secure shell like SSH from Unix/Linux, PuTTY from Windows, or similar. You connect to the user node, which is the only node visible from the internet. For example, suppose we're connecting to maya from the Linux machine "". We will take user "araim1" as our example throughout this page.[16]$ ssh
WARNING: UNAUTHORIZED ACCESS to this computer is in violation of Criminal
         Law Article section 8-606 and 7-302 of the Annotated Code of MD.

NOTICE:  This system is for the use of authorized users only. 
         Individuals using this computer system without authority, or in
         excess of their authority, are subject to having all of their
         activities on this system monitored and recorded by system

Last login: Mon Mar  3 14:17:05 2014 from ...

  UMBC High Performance Computing Facility
  If you have any questions or problems using this system please send mail to  System technical issues should be reported
  via RT ticket to the "Research Computing" queue at

  Remember that the Division of Information Technology will never ask for
  your password. Do NOT give out this information under any circumstances.

[araim1@maya-usr1 ~]$ 
Replace "araim1" with your UMBC username (that you use to log into myUMBC). You will be prompted for your password when connecting; your password is your myUMBC password. Notice that connecting to puts us on maya-usr1. We may connect to the other user node with the following.
[araim1@maya-usr1 ~]$ ssh maya-usr2
... same welcome message ...
[araim1@maya-usr2 ~]$

As another example, suppose we're SSHing to maya from a Windows machine with PuTTY. When setting up a connection, use "" as the hostname. Once you connect, you will be prompted for your username and password, as mentioned above.

If you intend to do something requiring a graphical interface, such as view plots, then see running X Windows programs remotely.

Available software

Our system is run on Red Hat Enterprise Linux 6. We support only the bash shell. In addition to the software you'd find on a typical Linux system, the following are also available on maya:

We supply three compiler suites:

The command used to compile code depends on the language and compiler used.
Language Intel GNU PGI
C icc gcc pgcc
C++ icpc g++ pgCC
Fortran ifort gfortran pgf77/pgf90/pgf95
We also provide three implementations of Infiniband-enabled MPI: The following table provides the command necessary to compile MPI code for each implementation of MPI in C, C++, and Fortran.
Language Intel MPI MVAPICH2 OpenMPI
C mpiicc mpicc mpicc
C++ mpiicpc mpic++ mpiCC
Fortran mpiifort mpif77/mpif90/mpif95 mpif77/mpif90/mpif95
To access state-of-the-art features we supply: We use the SLURM cluster management and job scheduling system.

See resources for maya for a more complete list of the available software, along with tutorials to help you get started. For more details, Bright computing offers the manual.

Storage areas

The directory structure that DoIT will set up as part of your account creation is designed to facilitate the work of research groups consisting of several users and also reflects the fact that all HPCF accounts must be sponsored by a faculty member at UMBC. This sponsor will be referred to as PI (short for principal investigator) in the following. A user may be a member of one or several research groups on maya. Each research group has several storage areas on the system in the following specified locations. See System Description for a higher level overview of the storage and the cluster architecture.

Note that some special users, such as students in MATH 627, may not belong to a research group and therefore may not have any of the group storage areas set up.

Storage Area Location Description
User Home /home/username/ This is where the user starts after logging in to maya. Only accessible to the user by default. Default size is 100 MB, storage is located on the management node. This area is backed up nightly.
Group Saved Symlink: /home/username/pi_name_saved
Mount point: /group_saved/pi_name/
A storage area for files to be shared with the user's research group. Ideal for working on papers or code together, for example, because it is accessible with read and write permission to all members of the research group. This area is backed up nightly.
User Workspace Symlink: /home/username/pi_name_user
Mount point: /umbc/research/pi_name/users/username/
A central storage area for the user's own data, accessible only to the user and with read permission to the PI, but not accessible to other group members by default. Ideal for storing output of parallel programs, for example. This area is not backed up.
Group Workspace Symlink: /home/username/pi_name_common
Mount point: /umbc/research/pi_name/common/
The same functionality and intent for use as user workspace, except this area is accessible with read and write permission to all members of the research group. This area is like the group saved area, except it is larger and not backed up.
Scratch space /scratch/NNNNN Each compute node on the cluster has 100 GB of local /scratch storage. This storage is convenient temporary space to use while your job is running, but note that your files here persist only for the duration of the job. The space in this area is shared among current users of the node. Use of this area is encouraged over /tmp, which is also needed by critical system processes. Note that a subdirectory NNNNN (e.g. 22704) is created for your job by the scheduler at runtime.

For information on how to access scratch space from your job, see the how to run page.

Tmp Space /tmp/ Each machine on the cluster has its own local /tmp storage, as is customary on Unix systems. This scratch area is shared with other users, and is purged periodically by the operating system, therefore is only suitable for temporary scratch storage. Use of /scratch is encouraged over /tmp (see above)
AFS /afs/ Your AFS storage is conveniently available on the cluster, but can only be accessed from the user node. The "/u/s" in the directory name should be replaced with the first two letters of your username (for example user "straha1" would have directory /afs/
"Mount point" indicates the actual location of the storage on maya's filesystem. Traditionally, many users prefer to have a link to the storage from their home directory for easier navigation. The field "symlink" gives a suggested location for this link. For example, once the link is created, you may use the command "cd ~/pi_name_user" to get to User Workspace for the given PI. These links may be created for users as part of the account creation process; however, if they do not yet exist, simple instructions are provided below to create them yourself.

The amount of space available in the PI-specific areas depend on the allocation given to your research group. Your AFS quota is determined by DoIT. The quota for everyone's home directory is generally the same.

Some research groups have additional storage areas, or have storage organized in a different way than shown above. For more information, contact your PI or user support.

Note that listing the contents of /umbc/research may not show storage areas for all PIs. This is because PI storage is only loaded when it is in use. If you attempt to access a PI's subdirectory in /umbc/research, it should be loaded (seamlessly) if it was previously offline.

The tutorial below will walk you through your home directory, and the specialized storage areas on maya.

A brief tour of your account

This section assumes that you already have an account, and you're a member of a research group. If you need to apply for an account, see the account request form. If you're not a member of a research group, you won't have access to the various group spaces.

Home directory

First, log in to maya from your local machine by SSH:
me@mymachine:~> ssh
Password: (type your password)
WARNING: UNAUTHORIZED ACCESS to this computer is in violation of Criminal
         Law Article section 8-606 and 7-302 of the Annotated Code of MD.

NOTICE:  This system is for the use of authorized users only. 
         Individuals using this computer system without authority, or in
         excess of their authority, are subject to having all of their
         activities on this system monitored and recorded by system

Last login: Sat Dec  5 01:39:23 2009 from

  UMBC High Performance Computing Facility
  If you have any questions or problems regarding this system, please send
  mail to

  Remember that the Division of Information Technology will never ask for
  your password. Do NOT give out this information under any circumstances.

[araim1@maya-usr1 ~]$
The Bash shell as the default shell for maya users - this will be the shell that you are assumed to be in for purposes of documentation and examples on this webpage. Check your shell with the command "echo $SHELL" or by using "env" and searching for SHELL in the resulting lines of output.
[araim1@maya-usr1 ~]$ echo $SHELL
[araim1@maya-usr1 ~]$
At any given time, the directory that you are currently in is referred to as your current working directory. Since you just logged in, your home directory is your current working directory. The "~" symbol is shorthand for your home directory. The program "pwd" tells you the full path of the current working directory, so let's run pwd to see where your home directory really is:
araim1@maya-usr1:~$ pwd
Now let's use ls to get more information about your home directory.
araim1@maya-usr1:~$ ls -ld ~
drwx------ 23 araim1 pi_nagaraj 4096 Oct 29 22:35 /home/araim1
There is quite a bit of information on this line. If you're not sure of what it means, this would be a good time to find a Linux/Unix reference. One example available on the web is The Linux Cookbook. What we wanted to emphasize was the string of permissions. The string "drwx------" indicates that only you have read, write, or execute access to this directory. (For a directory, "execute" access means ability to browse inside of it). Therefore your home is private. The space in your home directory is limited though; you can see this by using the "quota" command:
[araim1@maya-usr1 ~]$ quota
Disk quotas for user araim1 (uid 28398): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   master:/home   74948  250000  350000            2301   10000   15000 
[araim1@maya-usr1 ~]$ 
These numbers tell you how much space you're using and how much is available. We limit two aspects of your storage: KB of disk space and the number of files you can create. For each of those quantities, you have two limits: a soft limit and a hard limit. When you reach your soft limit, you will have a little while to reduce your usage. If you wait too long before reducing your usage, or if you pass your hard limit, then you won't be able to make more files or enlarge existing files until you delete enough to get under your soft limit. Your hard and soft limits are also referred to as your quotas.
blocks 74948 I am currently using 74948 KB of disk space
quota 250000 My disk space soft limit is 250000 KB
limit 350000 My disk space hard limit is 350000 KB
grace How far over my disk space soft limit I've gone (0 currently since I'm below my soft limit)
files 2301 How many files I have
quota 10000 My soft limit for the number of files I can have
limit 15000 My hard limit for the number of files I can have
grace How far over my soft limit I've gone in terms of the number of files (currently 0 since I'm below my soft limit)
In your home directory, you are only allowed to create up to 10,000 files that take up a total of 250,000 kB of storage space. That isn't much space for high performance computing and so you should plan on using the special storage areas that have been set up for you.


Modules are a simple way of preparing your environment to use many of the major applications on maya. Modules are normally loaded for the duration of an SSH session. They can be unloaded as well, and can also be set to automatically load each time you log in. The following shows the modules which are loaded for you by default.
[jongraf1@maya-usr1 ~]$ module list
Currently Loaded Modulefiles:
  1) dot                                 7) intel-mpi/64/4.1.3/049
  2) matlab/r2014a                       8) texlive/2014
  3) comsol/4.4                          9) quoter
  4) gcc/4.8.2                          10) git/2.0.4
  5) slurm/14.03.6                      11) default-environment
  6) intel/compiler/64/15.0/2015.1.133
This means that SLURM, GCC, matlab, texlive, comsol and the Intel compiler + Intel MPI implementation are usable by default as soon as you log in. If we wish to use other software such as R (for statistical computing), we must first load the approriate module.
[araim1@maya-usr1 ~]$ Rscript -e 'exp(1)'
-bash: Rscript: command not found
[araim1@maya-usr1 ~]$ module load R/3.0.2 
[araim1@maya-usr1 ~]$ Rscript -e 'exp(1)'
[1] 2.718282
[araim1@maya-usr1 ~]$ 
To use compilers other than default you need to unload and load modules from time to time. If you lost track and want to get back to the default status, try the following command:
[hu6@maya-usr1 ~]$ module purge
[hu6@maya-usr1 ~]$ module load default-environment
More information on modules is available here.

Group membership

Your account has membership in one or more Unix groups. On maya, groups are usually (but not always) organized by research group and named after the PI. The primary purpose of these groups is to facilitate sharing of files with other users, through the Unix permissions system. To see your Unix groups, try the following command:
[araim1@maya-usr1 ~]$ groups
pi_nagaraj contrib alloc_node_ssh hpcreu pi_gobbert
[araim1@maya-usr1 ~]$ 
In the example above, the user is a member of five groups - two of them correspond to research groups.

Special storage areas

A typical account on maya will have access to several central storage areas. These can be classified as "backed up" and "not backed up". They can also be classified as "user" or "group" storage. See above for the complete descriptions. For each research group, you should have access to the following areas:
[araim1@maya-usr1 ~]$ ls -d /umbc/research/nagaraj/users/
[araim1@maya-usr1 ~]$ ls -d /umbc/research/nagaraj/common/
[araim1@maya-usr1 ~]$ ls -d /group_saved/nagaraj/
[araim1@maya-usr1 ~]$ 
We recommend creating the following symlinks to your home directory for easier navigation.
araim1@maya-usr1:~$ ls -l ~/nagaraj_common ~/nagaraj_user ~/nagaraj_saved
lrwxrwxrwx 1 araim1 pi_nagaraj 33 Jul 29 15:48 nagaraj_common -> /umbc/research/nagaraj/common
lrwxrwxrwx 1 araim1 pi_nagaraj 33 Jul 29 15:48 nagaraj_user -> /umbc/research/nagaraj/users/araim1
lrwxrwxrwx 1 araim1 pi_nagaraj 33 Jul 29 15:48 nagaraj_saved -> /group_saved/nagaraj
If any of these do not exist, you may create them using the following commands. You only need to do this once. We suggest that you repeat it for each PI if you are a member of multiple research groups.
[araim1@maya-usr1 ~]$ ln -s /umbc/research/nagaraj/common ~/nagaraj_common
[araim1@maya-usr1 ~]$ ln -s /umbc/research/nagaraj/users/ ~/nagaraj_user
[araim1@maya-usr1 ~]$ ln -s /group_saved/nagaraj ~/nagaraj_saved
[araim1@maya-usr1 ~]$
In the "ls" command output, we see that these are symbolic links instead of normal directories. Whenever you access "/home/araim1/nagaraj_common", you are actually redirected to "/umbc/research/nagaraj/common". If the link "/home/araim1/nagaraj_common" is removed, the actual directory "/umbc/research/nagaraj/common" is not affected. Note that certain research groups may need different links than the (standard) ones shown. Check with your PI.
Note that running "ls /umbc/research/" may not show all PI subdirectories present on the research storage. The PI subdirectories are automatically brought online when they are accessed, and brought offline after some period of inactivity. This should be completely transparent to users, except when explicitly listing the contents of "/umbc/research/".

Group Workspace

The intention of Group Workspace is to store reasonably large volumes of data, such as large datasets from computations, which can be accessed by everyone in your group. By default, the permissions of Group Workspace are set as follows to enable sharing among your group
araim1@maya-usr1:~$ ls -ld /umbc/research/nagaraj/common
drwxrws--- 2 pi_nagaraj pi_nagaraj 2 Jul 29 14:56 /umbc/research/nagaraj/common/
The string "drwxrws---" indicates that the PI, who is the owner of the group, has read, write, and execute permissions in this directory. In addition, other members of the group also have read, write, and execute permissions. The "s" indicates that all directories created under this directory should inherit the same group permissions. (If this attribute were set but execute permissions were not enabled for the group, this would be displayed as a capital letter "S").

User Workspace

Where Group Workspace is intended as an area for collaboration, User Workspace is intended for individual work. Again, it is intended to store reasonably large volumes of data. Your PI and other group members can see your work in this area, but cannot edit it.
araim1@maya-usr1:~$ ls -ld /umbc/research/nagaraj/users/araim1
drwxr-sr-x 3 araim1 pi_nagaraj 3 Sep 21 21:59 /umbc/research/nagaraj/users/araim1
The string "drwxr-sr-x", means that only you may make changes inside this directory, but anyone in your group can list or read the contents. Other users appear to also have this access, but they are restricted further up the directory tree from accessing your PI's storage
araim1@maya-usr1:~$ ls -ld /umbc/research/nagaraj/
drwxrws--- 3 pi_nagaraj pi_nagaraj 3 Sep 21 21:59 /umbc/research/nagaraj/

Group Saved

Group Saved is another storage area intended for collaboration. This area provides less space than Group Workspace. It is appropriate for working on a paper with your research group, or for storing your source code.

The permissions in Group Saved are similar to Group Workspace

[araim1@maya-usr1 ~]$ ls -ld /group_saved/nagaraj/
drwxrws--- 2 pi_nagaraj pi_nagaraj 4096 Apr 27 16:25 /group_saved/nagaraj/

Checking disk usage vs. storage limits

There are two types of storage limits to be aware of: quotas and physical limits of the filesystems where your space is hosted. The following command will check the space on User Workspace, and Group Workspace:
[araim1@maya-usr1 ~]$ df -h ~/ ~/nagaraj_user ~/nagaraj_common
Filesystem            Size  Used Avail Use% Mounted on
mgt-ib:/home           95G   20G   71G  22% /home
                      100G  493M  100G   1% /umbc/research/nagaraj
                      100G  493M  100G   1% /umbc/research/nagaraj
[araim1@maya-usr1 ~]$
Of course your output will depend on which research group(s) you are a member. The first column indicates where the data is physically stored. For example the filesystem "rstor1-ib:/export/nagaraj" means that the data is stored on remote machine "rstor1-ib", in the directory "/export/nagaraj". In the last column, "/umbc/research/nagaraj" indicates where this storage is mounted on the local machine. If you want to check the overal usage for the /umbc/research storage, follow the example below:
[hu6@maya-usr1 ~]$ df -h | grep gobbert
                      5.0T  3.1T  2.0T  61% /umbc/research/gobbert

Notice that User Workspace and Group Workspace are sharing the same storage, which will be the case for most users. Notice also that "/group_saved" is not particular to our PI. In fact, all PI's with Group Saved storage will share this space. The same thing is true for the "/home" directory, in which the home directory for every user resides. In both cases, the "quota" mechanism is used to partition the available space.

Earlier in the page, we demonstrated the plain "quota" command to check your home directory. The quota for Group Saved can be seen with the following command:

[hu6@maya-usr1 ~]$ quota -gf /group_saved
Disk quotas for group contrib (gid 700): none
Disk quotas for group pi_nagaraj (gid 1057): none
Disk quotas for group pi_bpeercy (gid 1064): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
                      0       1       1               1*      1       1        
Disk quotas for group hpcreu (gid 1072): none
Disk quotas for group pi_gobbert (gid 32296): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
                9840792  10485760 10485760           63401  100000  110000        
[hu6@maya-usr1 ~]$ 
The "-g" option will display quotas associated with your group membership(s). In this sample output, we can see that our group has used 9840792 KB out of an available 10485760 KB. (Note that this quota size is not typical of most groups).

To check quota for lustre storage space use the following command:

[hu6@maya-usr1 ~]$ lfs quota /umbc/lustre/
Disk quotas for user hu6 (uid 99429):
     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
  /umbc/lustre/ 3167825540       0       0       -  657029       0       0       -
Disk quotas for group pi_gobbert (gid 32296):
     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
  /umbc/lustre/ 13509401064* 10000000000 15000000000    none 7379141       0       0       -
[hu6@maya-usr1 ~]$ 

For tips on managing your disk space usage, see How to check disk usage

More about permissions

Standard Unix permissions are used on maya to control which users have access to your files. We've already seen some examples of this. It's important to emphasize that this is the mechanism that determines the degree of sharing, and on the other hand privacy, of your work on this system. In setting up your account, we've taken a few steps to simplify things, assuming you use the storage areas for the basic purposes they were designed. This should be sufficient for many users, but you can also customize your use of the permissions system if you need additional privacy, to share with additional users, etc.

Changing a file's permissions

For existing files and directories, you can modify permissions with the "chmod" command. As a very basic example:
[araim1@maya-usr1 ~]$ touch tmpfile
[araim1@maya-usr1 ~]$ ls -la tmpfile 
-rwxrwxr-x 1 araim1 pi_nagaraj 0 Jun 14 17:50 tmpfile
[araim1@maya-usr1 ~]$ chmod 664 tmpfile 
[araim1@maya-usr1 ~]$ ls -la tmpfile 
-rw-rw-r-- 1 araim1 pi_nagaraj 0 Jun 14 17:50 tmpfile
[araim1@maya-usr1 ~]$ 
See "man chmod" for more information, or the Wikipedia page for chmod

Changing a file's group

For users in multiple groups, you may find the need to change a file's ownership to a different group. This can be accomplished on a file-by-file basis by the "chgrp" command
[araim1@maya-usr1 ~]$ touch tmpfile 
[araim1@maya-usr1 ~]$ ls -la tmpfile 
-rw-rw---- 1 araim1 pi_nagaraj 0 Jun 14 18:00 tmpfile
[araim1@maya-usr1 ~]$ chgrp pi_gobbert tmpfile 
[araim1@maya-usr1 ~]$ ls -la tmpfile 
-rw-rw---- 1 araim1 pi_gobbert 0 Jun 14 18:00 tmpfile
[araim1@maya-usr1 ~]$ 
You may also change your "currently active" group using the "newgrp" command
[araim1@maya-usr1 ~]$ id
uid=28398(araim1) gid=1057(pi_nagaraj) groups=1057(pi_nagaraj),32296(pi_gobbert)
[araim1@maya-usr1 ~]$ newgrp pi_gobbert
[araim1@maya-usr1 ~]$ id
uid=28398(araim1) gid=32296(pi_gobbert) groups=1057(pi_nagaraj),32296(pi_gobbert)
Now any new files created in this session will belong to the group pi_gobbert
[araim1@maya-usr1 ~]$ touch tmpfile2
[araim1@maya-usr1 ~]$ ls -la tmpfile2 
-rw-rw---- 1 araim1 pi_gobbert 0 Jun 14 18:05 tmpfile2
[araim1@maya-usr1 ~]$ 


By default, your account will have a line in ~/.bashrc which sets your "umask"
umask 007
The umask is traditionally set to 022 on Unix systems, so this is a customization on maya. The umask helps to determine the permissions for new files and directories you create. Usually when you create a file, you don't specify what its permissions will be. Instead some defaults are used, but they may be too liberal. For example, suppose we created a file that got the following default permissions.
[araim1@maya-usr1 ~]$ ls -la secret-research.txt
-rwxrwxr-x 1 araim1 pi_nagaraj 0 Jun 14 17:02 secret-research.txt
All users on the system could read this file if they had access to its directory. The umask allows us to turn off specific permissions for newly created files. Suppose we want all new files to have "rwx" turned off for anyone who isn't us (araim1) or in our group (pi_nagaraj). A umask setting of "007" accomplishes this. To quickly illustrate what this means, notice that 007 is three digit number in octal (base 8). We can also represent it as a 9 digit binary number 000000111. We can also represent "rwxrwxr-x" (from our file above) as a 9 digit binary number 111111101; dashes correspond to 0's and letters correspond to 1's. The umask is applied the following way to set the new permissions for our file
        111111101    <-- proposed permissions for our new file
AND NOT(000000111)   <-- the mask
=       111111000
=       rwxrwx---    <-- permissions for our new file
In other words, umask 007 ensures that outside users have no access to your new files. See the Wikipedia entry for umask for more explanation and examples. On maya, the storage areas' permissions are already set up to enforce specific styles of collaboration. We've selected 007 as the default umask to not prevent sharing with your group, but to prevent sharing with outside users. If you generally want to prevent your group from modifying your files (for example), even in the shared storage areas, you may want to use a more restrictive umask.

If you have any need to change your umask, you can do so permanently by editing ~/.bashrc, or temporarily for the current SSH session by using the umask command directly.

[araim1@maya-usr1 ~]$ umask
[araim1@maya-usr1 ~]$ umask 022
[araim1@maya-usr1 ~]$ umask
[araim1@maya-usr1 ~]$ 
Notice that typing "umask" with no arguments reports your current umask setting.

Configuring permissions of Group storage areas (PI only)

If you are a PI, you can add or remove the group write permissions (the w in r-s/rws) by using the chmod command. You may want to do this if you intend to place materials here for your group to read, but not for editing. To add group write permissions and let all members of your group create or delete files and directories in your Group Saved area:
araim1@maya-usr1:~$ chmod g+w ~/nagaraj_saved/
To remove group write permissions so that only araim1 and the PI nagaraj can create or delete files in the Group Saved directory:
araim1@maya-usr1:~$ chmod g-w ~/nagaraj_saved/
Of course, you may use the full path to ~/nagaraj_common/ in those commands: /group_saved/nagaraj. The same commands can be applied to the Group Workspace area to control write permissions there.

AFS Storage

Your AFS partition is the directory where your personal files are stored when you use the DoIT computer labs or the systems. You can access this partition from maya. In order to access AFS, you need an AFS token. You can see whether you currently have an AFS token
straha1@maya-usr1:~> tokens

Tokens held by the Cache Manager:

Tokens for [Expires Oct 25 00:16]
   --End of list--
The "Tokens for" line tells me that we currently have tokens that let us access UMBC's AFS storage. The expiration date ("Expires Oct 25 00:16") tells us when our tokens will expire. When your tokens expire, an empty list will be returned
straha1@maya-usr1:~> tokens

Tokens held by the Cache Manager:

   --End of list--
We can renew our tokens using the "kinit" and "aklog" commands as follows. Note that kinit is asking for your MyUMBC password.
[araim1@maya-usr1 ~]$ kinit
Password for araim1@UMBC.EDU: 
[araim1@maya-usr1 ~]$ aklog
[araim1@maya-usr1 ~]$ tokens

Tokens held by the Cache Manager:

User's (AFS ID 28398) tokens for [Expires Apr  4 05:57]
   --End of list--
[araim1@maya-usr1 ~]$
The "kinit" command may only be necessary for SSH sessions using public key / private pair, where typing of the password is bypassed at login time.

How to create simple files and directories

Now let's try creating some files and directories. First, let's make a directory named "testdir" in your home directory.
araim1@maya-usr1:~$ mkdir testdir
araim1@maya-usr1:~$ ls -ld testdir
drwxr-x--- 2 araim1 nagaraj 4096 Oct 30 00:12 testdir
araim1@maya-usr1:~$ cd testdir
The mkdir command created the directory testdir. Since your current working directory was ~ when you ran that command, testdir is inside your home directory. Thus it is said to be a subdirectory of ~. The cd command changed your working directory to ~/testdir and that is reflected by the new prompt: araim1@maya-usr1:~/testdir$. Now lets create a file in testdir:
araim1@maya-usr1:~/testdir$ echo HELLO WORLD > testfile
araim1@maya-usr1:~/testdir$ ls -l testfile
-rw-r----- 1 araim1 pi_groupname 12 Oct 30 00:16 testfile
araim1@maya-usr1:~/testdir$ cat testfile
araim1@maya-usr1:~/testdir$ cat ~/testdir/testfile
The echo command simply prints out its arguments ("HELLO WORLD"). The ">" tells your shell to send the output of echo into the file testfile. Since your current working directory is ~/testdir, testfile was created in testdir and its full path is then ~/testdir/testfile. The program cat prints (aka concatenates) out the contents of a file (where the argument to cat, testfile or ~/testdir/testfile is the file to print out). As you can see, testfile does indeed contain "HELLO WORLD". Now let's delete testdir and testfile. To use the "rmdir" command and remove our directory, we must first ensure that it is empty:
araim1@maya-usr1:~/testdir$ rm -i testfile
rm: remove regular file `testfile'? y
Now we delete the testdir directory with rmdir:
araim1@maya-usr1:~/testdir$ cd ~
araim1@maya-usr1:~$ rmdir testdir

How to copy files to and from maya

Probably the most general way to transfer files between machines is by Secure Copy (scp). Because some remote filesystems may be mounted to maya, it may also be possible to transfer files using "local" file operations like cp, mv, etc.

Method 1: Secure Copy (scp)

The maya cluster only allows secure connection from the outside. Secure Copy is the file copying program that is part of Secure Shell (SSH). To transfer files to and from maya, you must use scp or compatible software (such as WinSCP or SSHFS). On Unix machines such as Linux or MacOS X, you can execute scp from a terminal window. Let's explain the use of scp by the following example: user "araim1" has a file hello.c in sub-directory math627/hw1 from his home directory on maya. To copy the file to the current directory on another Unix/Linux system with scp, use
[araim1@maya-usr1 ~]$ scp . 
Notice carefully the period "." at the end of the above sample command; it signifies that you want the file copied to your current directory (without changing the name of the file). You can also send data in the other direction too. Let's say you have a file /home/bob/myfile on your machine and you want to send it to a subdirectory "work" of your your maya home directory:
[araim1@maya-usr1 ~]$ scp /home/bob/myfile
The "/" after "work" ensures that scp will fail if the directory "work" does not exist. If you leave out the "/" and "work" was not a directory already, then scp would create a file "work" that contains the contents of /home/bob/myfile (which is not what we want). You may also specify a different name for the file at its remote destination.
[araim1@maya-usr1 ~]$ scp /home/bob/myfile

As with SSH, you can leave out the "araim1@", if your username is the same on both machines. That is the case on the GL login servers and the general lab Mac OS X and Linux machines. If you issue the command from within UMBC, you can also abbreviate the machine name to See the scp manual page for more information. You can access the scp manual page (referred to as a "man page") on a unix machine by running the command:

man scp

Method 2: AFS

Another way to copy data is to use the UMBC-wide AFS filesystem. The AFS filesystem is where your UMBC GL data is stored. That includes your UMBC email, your home directory on the login servers and general lab Linux and Mac OS X machines, your UMBC webpage (if you have one) and your S: and some other drives on the general lab windows machines. Any data you put in your AFS partition will be available on maya in the directory /afs/ where "araim1" should be replaced with your username, and "a" and "r" should be replaced with the first and second letters of your username, respectively. As an example, suppose you're using a Mac OS X machine in a UMBC computer lab and you've SSHed into maya in a terminal window. Then, in that window you can type:
[araim1@maya-usr1 ~]$ cp ~/myfile /afs/
and your file myfile in your maya home directory will be copied to myfile in your AFS home directory. Then, you can access that copy of the file on the Mac you're using, via ~/myfile. Note that it's only a copy of the file; ~/myfile on your Mac is not the same file as ~/myfile on maya. However, ~/myfile on your Mac is the same as /afs/ on both your Mac and maya.

Make sure you've noted the section on AFS tokens above if you plan on using the AFS mount.

How to use the queuing system

See our How to compile C programs tutorial to learn how to run both serial and parallel programs on the cluster.

Transition from tara to maya

If you are newly transferred from tara to maya, please follow the instructions below to check if you have the right setting, and fix mistakes if any.

The first thing you will notice are the symbolic links in your home directory, like:

[hu6@maya-usr1 ~]$ ll
lrwxrwxrwx  1 hu6  pi_gobbert           28 Sep 22 10:15 gobbert_common -> /umbc/lustre/gobbert/common/
lrwxrwxrwx  1 hu6  pi_gobbert           31 Sep 22 10:16 gobbert_user -> /umbc/lustre/gobbert/users/hu6/
The first one points to the common area of your pi_group, the second to your user area also in that pi_group. If you do not see them, try create them using the following commands:
[hu6@maya-usr1 ~]$ ln -s /umbc/lustre/gobbert/common/ gobbert_common
[hu6@maya-usr1 ~]$ 
[hu6@maya-usr1 ~]$ ln -s /umbc/lustre/gobbert/users/username/ gobbert_user
Notice you should replace gobbert_ by your pi_group, and replace /username/ in second line by your own username. To find your pi_group, try the following:
[hu6@maya-usr1 ~]$ ls -ld .
drwx------ 20 hu6 pi_gobbert 4096 Oct  1 14:47 .
Moreover, if you are in the common directory, you should have something like:
[hu6@maya-usr1 gobbert_common]$ ls -ld .
drwxrws--- 6 gobbert pi_gobbert 4096 Sep 24 15:02 .
Here 's' in group permission means the directory's setgid bit is set, and the execute bit is set. When another user creates a file or directory under such a setgid directory, the new file or directory will have its group set as the group of the directory's owner, instead of the group of the user who creates it.

Next, please run the following command to check your bachrc file:

[hu6@maya-usr1 ~]$ more .bashrc
You should have output to your screen like this:
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc

# User specific aliases and functions
umask 007

# Load modules needed for the maya system
if [ -e /cm ]; then
module load default-environment
export SQUEUE_FORMAT="%.7i %.9P %.8j %.8u %.2t %.10M %.6D %7q %R"
Please check that your umask is 007 and that you have the default-environment loaded. With the default environment, the following module are ready for use:
[jongraf1@maya-usr1 ~]$ module list
Currently Loaded Modulefiles:
  1) dot                                 7) intel-mpi/64/4.1.3/049
  2) matlab/r2014a                       8) texlive/2014
  3) comsol/4.4                          9) quoter
  4) gcc/4.8.2                          10) git/2.0.4
  5) slurm/14.03.6                      11) default-environment
  6) intel/compiler/64/15.0/2015.1.133