FAQ

How to copy data from/to compute servers?

On Desktop Machines

The home directories of the compute servers can be accessed from the desktop machines via the directory

/clusterhome/<username>

Just open that directory in your graphical file manager or change to that directory in a Terminal application to copy the data.

From outside the Institute

After setting up the VPN connection to the institute (see also here you can use scp to copy files from/to hydra, e.g.,

scp hydra:some_path/some_file.txt .

or

scp some_file.txt hydra:some_path/

How to limit the number of processors used by the job?

taskset : OS level control

With taskset one can define the CPU cores the application is permitted to use for the computation. The Linux OS will ensure that no other core is available to the process.

To limit the available cores, just use

taskset -c <range> my-program -arg1 -arg2 ...

Here, range is a list of CPU cores, e.g., “0”, “0-4”, “1,2,5,6”, etc..

Prefer to use cores on the same CPU! To show, which core belongs to which CPU, you may use

numactl -H

Also on systems with hyper threading, the second half of cores per CPU normally belongs to the hyper threading cores.

OpenMP

If OpenMP is used for parallelization, the environment variable OMP_NUM_THREADS is used to define the maximal number of threads (cores) to be used:

Depending on the user shell, either use

export OMP_NUM_THREADS=n

or

setenv OMP_NUM_THREADS n

To set the number of threads to n.

Intel MKL

Some applications use Intel MKL for linear algebra or other basic mathematical computations. The number of threads/cores is defined by the environment variable MKL_NUM_THREADS:

export MKL_NUM_THREADS=n

or

setenv MKL_NUM_THREADS n