The Tufts High Performance Compute (HPC) cluster delivers 35,845,920 cpu hours and 59,427,840 gpu hours of free compute time per year to the user community.

Teraflops: 60+ (60+ trillion floating point operations per second) cpu: 4000 cores gpu: 6784 cores Interconnect: 40GB low latency ethernet

For additional information, please contact Research Technology Services at tts-research@tufts.edu


Basic Linux

Linux  information FAQs

 

Where do I find basic unix/linux resources?

There are many web based tutorials and howto's for anything linux oriented. Some sites of interest:

linux-tutorial, Unix info , linux.org

What are some of the basic linux and related commands?

Most usage is centered around a dozen or so commands:

ls, more, less, cat, nano, pwd, cd, man, bsub, bkill, bjobs, ps, scp, ssh, cp, chmod, rm, mkdir, passwd, history, zip, unzip, tar, df, du, head, tail, grep

 

See the man pages for complete documentation. Here is a short description of some.

Basic Unix Commands

Action Needed

Command

Usage

Display contents of a file

cat

cat filename

Copy a file

cp

cp [-op] source destination

Change file protection

chmod

chmod mode filename or
chmod mode directory_name

Change working directory

cd

cd pathname

Display file (/w pauses)

more

more filename

Display first page of text

less

less filename

Display help

man

man command or
man -k topic

Rename a file

mv

mv [-op] filename1 filename2 or
mv [-op] directory1 directory2 or
mv [-op] filename directory

Compare file

diff

diff file1 file2

Delete file

rm

rm [-op] filename

Create a directory

mkdir

mkdir directory_name

Delete a directory /w files in it

rmdir -r

rm -r directory_name

Delete a directory

rmdir

rmdir directory_name

Display a list of files

ls

ls [-op] directory_name

Change the password

passwd

passwd

Display a long list (details)

ls -l

ls -l directory_name

Display current directory

pwd

pwd

Display mounted filesystems

df

df


What text editors are available?

nano, nedit, vi, vim, emacs

 

How do I strip out ^M embedded characters in my files I transferred from my PC?

Use the dos2unix command on the file. There is man page documentation available for further info.  Also check this page  for additional tips.

> man dos2unix


What is a man page?

man pages are linux/unix style text based documentation. For example, to obtain documentation on the command cat:

> man cat

> xman
is the command for the x-based interface to man.

> man man
is the man documentation.

> man -k graphics
finds all related commands concerning graphics.

Are the compute nodes named differently from the old cluster compute nodes?

Yes. You should not hard code the names anywhere.

How can I verify that my requested storage is mounted?
Use the df command.

How can I view my most recent files?

> ls -lt 

 

I sometime notice that my job duration can vary when I rerun a program with exactly the same inputs, condition, etc... Why?
The cluster has a mix of several different Intel CPUs and motherboard combinations. The absolute performance potential is similar among them but given the mix of other jobs sharing nodes, your results will vary. This is not something that is predictable when the cluster is well loaded.

How do I convert mixed case file names in a directory to lower case?

Issue the following in the directory of interest:

> find . -name "A-Z" | cut -c 3- - | awk '{print $1,tolower($1)}' | xargs -i echo "mv {}" | csh

 

This will find everything with uppercase letters and rename it to the
same thing with all lowercase.

How do I uncompress and extract many .gz and corresponding tar files?

> ls -1 *.gz | xargs -n 1 -r -I {} tar zxf {}


Sometimes I get a cryptic message about too many open files, what is that?
There are several resource settings associated with a default account. To see the settings:

-bash-3.2$ ulimit -a

The default setting is 2048 for the open files parameter. A user may increase it up to 10K in 1024 increments. To set it to 4096:

-bash-3.2$ ulimit -n 4096

However, this shows what has happened on the headnode only.

Since jobs execute on compute nodes you should include this in a simple shell script along with your sbatch command, so that the new setting takes effect on the compute node as well.

Sometimes I would like to have multiple shells available on the login node, how do I do this?

There are many ways. Most often you may just login two or more times from your desktop.  Or, refer to the slurm section with examples using srun. 

It is best not to ssh into the cluster while you are on the login node of the  cluster.

 

I compiled a program locally in my account and I would like to add the location of the executables to my PATH, how do I do this?

Suppose your software directory is located in you home directory and your username is jdoe02.  Your software directory is flight_program/  and there is a bin subdirectory  located within containing executables.

$PATH is a global environmental variable defined for the cluster  for general access to important locations.  You may add to it by pre-pending the path you wish to be searched.

PATH=/cluster/home/j/d/jdoe02/flight_program/bin:$PATH

export PATH

To see if it got updated:

> printenv  | grep  PATH

 

 

 

 

 

 


For additional information, please contact Research Technology Services at tts-research@tufts.edu