Kompilacja oprogramowania
Software Compilation
Please do not run the compilation on the head node! |
---|
To compile the software on a cluster we need to access to interactive console. To do this, you must submit interactive job
We compile in interactive mode because we get access directly to the machine which we have more resources.
The head node is not compileable (and calculated) because it has limited resources only for data viewing and submit job.
Example Slurm:
srun --pty /bin/bash
To access node with a certain number of cores you can add the -n parameter
srun --pty -n 12 /bin/bash
When we want to reserve a certain amount of RAM, we add the --mem parameter
srun --pty -n 12 --mem 16000 /bin/bash
When we access the console directly at the node we need to load the modules with the compilers needed to compile our software.
Example:
module load gcc
The last step is to compile the software in your home directory according to the manufacturer's recommendations
Example:
./configure --prefix=home directory make make install
To execute compiles on the declared number of cores, add the -j parameter
make -j 12
INTERACTIVE Job
An interactive job allows a user to obtain a shell on a computational node. Because compiling and running any programs on the head node (ui.inula.man.poznan.pl) is not allowed, interactive job are one way to run graphical user interface software (eg Matlab, Maple, etc.) or compile your application. The following is an example of how to run a task in interactive mode.
With the command line
The easiest way to submit interactive job is to execute the following command.
Interactive job SLURM
Interactive job can be divided into two groups:
- Interactive job (text mode)
- Interactive job with X (graphical mode)
Interactive job (text mode)
Submit interactive job in SLURM
srun --pty /bin/bash
You must add the -n parameter to access the node with the specified number of cores
srun --pty -n 12 /bin/bash
When we want to reserve a certain amount of RAM, we add the --mem parameter
srun --pty -n 12 --mem 16000 /bin/bash