Last modified: February 07 2017.

Initial Setup

  1. The user environment needs to be set for each account. Since different applications need different environments, this task is left to each respective user. There are template bashrc and bash_profile files available.
    	$ cp /home/apps/skeleton/.bashrc  $HOME/.bashrc 
    	$ cp /home/apps/skeleton/.bash_profile $HOME/.bash_profile 

  2. User data can be kept in the $HOME directory, or a special storage available in $SCRATCH directory. Currently each user has 30GB for their home directory and a 100 TB diskspace has been allocated in the $SCRATCH directory. Users can access this space from their respective subdirectories using $SCRATCH. For ease of use, users can create a soft link in their home folders:
         $ ln -s $SCRATCH $HOME/scratch 

    $ cd $HOME/data
    Paths involving links should be carefully used. Parent directory of $HOME/data would be /data, and not $HOME.

  3. Currently, all directories are accessible (readable) to all users.
    To make your directory inaccessible to other users:
    $ chmod og-rx /data/$USER
    $ chmod og-rx $HOME
    i.e. remove read and execution (-rx) permission to all other users (o) and other group users (g).
  4. Set Up SSH Keys

Accessing the cluster

The cluster consists of linux machines. The access to the cluster is through a few designated nodes, which allow users to log in. You may reach the cluster from any computer on the IITD network with the help of an up to date ssh client.

  • You may access login nodes through ssh to GPU and MIC based login nodes are also available. You can ssh into and, respectively, to reach them.
  • The login nodes are primarily gateways to the rest of the cluster, which is accessed through a job queueing system (called PBS). You submit jobs to the queue and they run when the required resources are available. You may choose to receive email when your jobs complete.
  • Please do not run programs directly on login nodes. They should be used mainly to submit jobs, transfer data, inspect your files and data, and to compile source code. (If your compilation takes more than a few minutes, you should submit the compilation job into the queue to be run on the cluster.)
  • By default, you have two directories available to you. One in /scratch and one in /home. (These directories are available on login nodes as well as the other cluster nodes.) /scratch is for temporary data designed for use by running jobs. and may be deleted after your job completes. /home is permanent space (and slower than /scratch). quota is enabled.

Using SSH in Windows

Windows systems do not have any built-in support for using SSH, so you will have to download a software package to use SSH. PuTTY is the most popular open source (ie free) SSH client for Windows. To install it, visit the download site, and download the Installer package. Once installed, find the PuTTy application shortcut in your Start Menu, desktop. On clicking the PuTTy icon The PuTTy Configuration dialog should appear: Locate the Host Name input box in the PuTTy Configuration screen. Enter the server name you wish to connect to (e.g. [username], and click Open. Enter your password when prompted, and press Enter. You are now connected!

Using SSH in Mac or Linux

Both Mac and Linux systems provide a built-in SSH client, so there is no need to install an additional package. Simply locate and run the Terminal app. Once in the terminal, you can connect to an SSH server by typing the following command:
	ssh [username]@[hostname]
For example, to connect to the HPC Login Node, with the username user1: ssh You will be prompted for a password, and then will be connected to the server:
	Last login: Wed Nov 6 08:41:31 2013 from
	[user1@submit ~]$ 
Please generate an ssh key pair in your .ssh directory.

Copying Directory/File from local machine to HPC cluster:

To copy a local directory from your linux system (say InputFiles-2.0) to your home directory in your IITD cluster account, the procedure is:
  1. from the terminal goto the parent directory using cd command.
    	user1@mylaptop3230:~$ cd ~/MyData/
  2. under parent directory type ls <& press return key>, & notice InputFiles-2.0 is there.
    	MyFiles TempFiles-1.0 InputFiles-2.0		
  3. begin copy by typing:
    	user1@mylaptop3230:~$ scp -r InputFiles-2.0 (your username)
    	< you will be asked for password ; enter the same & press return key >
    you should see :
    	scp -r InputFiles-2.0
    	cover0.txt			100%   18KB  18.5KB/s   00:00   
    	CPU.f	 			100%   41     0.0KB/s   00:00   
    	param0.txt			100%   33KB  33.0KB/s   00:00   
    	Final.exe			100%  281KB 280.5KB/s   00:00   
    required files have been copied !
  4. now login to your iitd hpc account as:
    	user1@mylaptop3230:~$ ssh (your username)
    	< you will be asked for password ; enter the same & press return key >
    	Last login: Thu Nov 26 16:13:31 2015 from
    	[user1@login03 ~]$
  5. execute ls command, you should see InputFiles-2.0 directory.
  6. execute
    $ cd InputFiles-2.0
  7. you can compile your fortran code using :
    $ gfortran CPU.f
Follow those steps in reverse for transferring files from your IITD hpc account to your local directory. WinSCP (Windows Secure Copy) is a free and open-source SFTP, FTP, WebDAV and SCP GUI client for Microsoft Windows to transfer files between a local and a remote computer.

Enabling X11 Tunneling (graphical programs over SSH)

SSH, by default, allows you to run remote commands on a server in text mode. You can also use SSH to run graphical programs remotely, such as Matlab. On Linux and Mac clients, simply include the -X parameter when connecting via SSH:
	ssh -X
This option will enable remote graphical programs, such as Scilab, Matlab or Paraview to run over SSH. For example, on the HPC system, after connecting with the -X parameter, you should be able to execute the xeyes command and see the xeyes graphical user interface. Windows does not include built-in support for SSH . Free software package called Xming can be used, also, a commercial alternative to Xming is MobaXTerm. Notice the < username >@login03 section of the last line. That indicates that you are now connected to the 'submit' server. To disconnect from the remote server, simply type exit or close the terminal window.