A Examples
This appendix provides examples that illustrate how to build and run applications on the HP XC system. The examples in this section show you how to take advantage of some of the many methods available, and demonstrate a variety of other user commands to monitor, control, or kill jobs.
The examples in this section assume that you have read the information in previous chapters describing how to use the HP XC commands to build and run parallel applications. Only examples of building and running applications are provided in this section — detailed information about the commands is not provided.
A.1 Building and Running a Serial Application
This example show how to build a simple application, called hello world, and launch it with the SLURM srun command.
The following is the source code for the hello world program, located in file hw_hostname.c.
#include <unistd.h> #include <stdio.h>
int main()
{
char name[100]; gethostname(name, sizeof(name)); printf("%s says Hello!\n", name); return 0;
}
The hello world program is compiled in the usual way:
$ cc hw_hostname.c
When run on the login node, it shows the name of the login node; n16 in this case:
$ ./hw_hostname n16 says Hello!
The srun command can be used to run it on one of the compute nodes in the default SLURM partition. This time it lands on n13:
$ srun ./hw_hostname n13 says Hello!
The srun command can also be used to replicate it on several compute nodes. This is not generally useful, but is included for illustrative purposes.
$ srun
n13 says Hello!
n14 says Hello!
n14 says Hello!
A.2 Launching a Serial Interactive Shell Through LSF
This section provides an example that shows how to launch a serial interactive shell through LSF. The bsub
Examine the LSF execution host information:
$ bhosts |
|
|
|
|
|
|
|
|
HOST_NAME | STATUS JL/U | MAX NJOBS RUN SSUSP USUSP RSV | ||||||
lsfhost.localdomain | ok | - | 12 | 0 | 0 | 0 | 0 | 0 |
A.1 Building and Running a Serial Application 115