You are here

Using IT++ 3.10.12 on Iridis 3

Iridis 3 is a cluster of Linux computers for researchers to use in their projects. It has version 3.10.12 of the IT++ libraries installed. These libraries provide a number of useful mathematical, signal processing and communication routines. You can find out more about these routines in the IT++ 3.10.12 documentation.

1. Uploads, downloads and logging in

In Windows, you can log in to Iridis 3 and upload/download files using an SSH client such as PuTTY. In Linux, you can upload a file using the command

scp <SourcePath&FileName> <YourUserName><DestinationPath&FileName>

For example, I might type

scp main.cpp 

You can download using the command

scp <YourUserName><SourcePath&FileName> <DestinationPath&FileName>  

and you can log in using the command

ssh -X <YourUserName>

Note that besides iridis3_a, there are two other log in nodes that you can use if you want: iridis3_b and iridis3_c.

You can get more help with using Iridis 3 here.

2. Installing the IT++ project template on Iridis 3

The first step is to log in to Iridis 3 and then download the IT++ project template. You can do this by giving Iridis 3 the command


You can extract the template by typing

tar -xzvf itpp3IridisProject.tgz

This will create a directory named itpp3IridisProject, which you should go into by typing

cd itpp3IridisProject

If you type


you'll see that the itpp3IridisProject directory contains a Makefile, a job file and three subdirectories. You should write your .cpp and .h files in the src subdirectory. This comes with an example main.cpp to get you started. You can edit this using the emacs editor by typing

emacs src/main.cpp

3. Compiling on Iridis 3

When logged on to Iridis 3, you can compile your code using the commands

module load it++

from within the itpp3IridisProject directory.

4. Running jobs on Iridis 3

Once you have compiled your code, you can get Iridis 3 to run it by submitting a job file. The IT++ project template includes an example job file called 'job', which you can edit using the command

vi job

from within the itpp3IridisProject directory. This job file will request eight processors on one of Iridis 3's nodes, for one minute. It will run eight instances of the executable a.out, which is created in the bin directory when the example main.cpp is compiled. In the job file, the ampersands (&) at the end of each line that runs the executable are required in order to get them to run in parallel. Each of the eight instances uses different command line parameters, which specify the SNRs to consider. The job can be submitted to Iridis 3 by issuing the command

qsub job

from within the itpp3IridisProject directory. You can see the state of your jobs (Queued or Running) by using the command


This will tell you the Job ID number, which you need in order to cancel a job using the command

qdel <JobID>

You can see how busy Iridis 3 is using the command


When the example job has finished running, you should find that some results files have been created in the itpp3IridisProject directory.

There is more information on how to run jobs on Iridis 3 here.

Note that simulations should always be run by submitting them as jobs. However, it is okay to edit files and compile on the login nodes. You can also run short programs that collect all your results together into a single file, for example.


Have fun, Rob Maunder.

University of Southampton: