Getting Started

Acquiring a user account

For participants of the workshop, please skip to Accessing Chalawan.

The process below describes how to register for an account. For further information please contact


Register for an account via online registration. We will review your information and activate your account within one working day. After the account is activated, you may now log in and fill in an application form.


Fill an online application form and submit. Once completed, you should receive notification of our decision within a week and further query regarding required software and setup if any.


Once your account and required setup are ready, we will send you email regarding account details and how to login to Chalawan cluster.


You can learn how to submit a job as well as uploading/downloading your file to/from Chalawan cluster from this page. Now you can launch your first job.


You can monitor Chalawan cluster status and utilization in the user-login area where you can also monitor the status of your submitted jobs.

The command-line interface

Our operating system is based on GNU/Linux. Thus, a command-line interface or command language interpreter (CLI) is the primary mean of interaction with our HPC. In case you are not familiar with the command-line interface, free-online course at Codecademy is a good place to start.

Accessing the Chalawan

For Microsoft Windows user, see Connect to the Remote Server from Microsoft Windows.

The Chalawan cluster is an isolated system which resides in the NARIT’s internal network. At the present time, we have two systems, Castor and Pollux (hereafter the computing systems).

  • Castor is the old system which is assigned with the IP address It contains 16 traditional Compute nodes suited for CPU-intensive tasks.
  • Pollux is the newest one assigned with the IP address It contains 3 GPU nodes and 3 traditional Compute node which have been refurbished from Castor.

If you are using the internet inside NARIT network you can directly connect to these systems via the Secure shell (ssh) command.

Connection from outside NARIT network

However, if you are using the internet outside NARIT, you need to log in to the gateway machine, A.K.A. stargate, first. The gateway machine’s IP address and other information are given to you once you get the permission to access the Chalawan Cluster.

Secure shell (ssh) through an intermediate host (the gateway)

This is the easiest method that using the ProxyJump directive. If this method doesn’t work for you because you are using the very old version of ssh, please read the next section.

To use ProxyJump, you can simply add the flag -J followed by user@gateway.ip:port. The example below shows how to connect to Castor (don’t forget to replace gateway.ip and port with the given information from the email).

If this is the first time you connect to our system, the gateway will prompt you to change the given password. Please remember that the password on the gateway and the computing system is not synchronised. After the password on the gateway is changed, please continue to log in to the computing system with the given (old) password. You can then change your password on the computing system with the command passwd.

If the command is correct, it will ask you for the gateway password and then the password. The successful connection will print an output:

The naive method

For an older version of ssh, this method always works for you. Log in to the gateway machine with the given port number:

After that, log in to the computing system (in this case, Castor):

Transferring data

Direct connection

These commands are applicable if you are using the internet inside NARIT network. Otherwise, please read the next section.


Rsync is a file transfer program capable of efficient remote update
via a fast differencing algorithm. It is the recommended command for transferring files or directories.

For example,

will copy a directory called src on to the research241 machine to castor at /home/user/src. Note that transferring an empty directory to the destination directory will delete all files in the destination directory to create another empty directory, too.

SecureCopy (scp)

scp is a basic command used to transfer files. For more information about scp, run man scp or scp -h. Note that option -r is recursive.

Transferring a file from a remote machine (in this case, Castor) to the local machine.

Transferring multiple files from a remote machine to the local machine.

Transferring a file from the local machine to a remote machine.

Through an intermediate host

Rsync through an intermediate host

This method requires OpenSSH’s version is equal or newer than 7.3 (to check, please use the command ssh -V). If you are using an older version or for the full details on this method, see Rsync files via intermediate host.

Rsync through the gateway machine is simple. You can use -J (ProxyJump) option.

For example

will copy a directory src from local machine (your laptop or PC) through the gateway machine to the remote machine, castor, at /home/user/src. Don’t forget to replace user@gateway.ip.address:port with the actual information from our email.

SCP through an intermediate host

Likewise rsync, This method also requires OpenSSH’s version is equal or newer than 7.3 (to check, please use the command ssh -V). If you are using an older version or for the full details on this method, see scp files via intermediate host.

For example

Using Module Environments

The Modules package provides dynamic modification of the user’s environment via modulefiles. List of all available modules are displayed; when typing the command:

To use a module, type the command modulefollowedload by the name of modulefile. This will modify the user’s environment. The user can remove the environment setting by unloading the loaded modulefile, or by logging out of the system. To unload a module, use the command module unload modulefile. Many modulefiles can be loaded at the same time by typing module load modulefile1 modulefile2 .... If you would like to know which module has been loaded, you can use module list. Sometimes, it is convenient to remove all the loaded modulefiles, let’s, which can be done by typing module purge. The example below shows how to load the MUSIC modulefile, list the names, and remove all of them.

Some modulefiles may be conflicted with currently loaded modulefiles, so you have to use module switch or module swap module1 module2. For module package documentation type module --help or module -H.

For further information and support, please send e-mail to