Appendix 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.

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 -o hw_hostname

When run on the login node, it shows the name of the login node; n16 in this case:

$ ./hw_hostname n16 says Hello!

srun can be used to run it on one of the compute nodes. This time it lands on n13:

$ srun ./hw_hostname n13 says Hello!

srun can also be used to replicate it on several compute nodes. This is not generally useful, but is included for illustrative purposes.

$ srun -n4 ./hw_hostname n13 says Hello!

n13 says Hello!

n14 says Hello!

n14 says Hello!

Launching a Serial Interactive Shell Through LSF-HPC

This section provides an example that shows how to launch a serial interactive shell through LSF-HPC. The bsub -Iscommand is used to launch an interactive shell through LSF-HPC. This example steps through a series of commands that illustrate what occurs when you launch an interactive shell.

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

Examine the partition information:

$ sinfo

 

 

 

 

 

PARTITION AVAILTIMELIMIT

NODES

STATE

NODELIST

lsf

up

infinite

6

idle

n[5-10]

Building and Running a Serial Application 99