Batch job utilities: X-llcreate/llcreate (SP2 Primer) something else

Batch job utilities: X-llcreate/llcreate

Introduction to X-llcreate/llcreate

X-llcreate and llcreate are utilities for generating a LoadLeveler command file matched to a user's specific parallel program. llcreate is a line oriented script, and should be used when X-windows access is not possible. For users running X-windows, xllcreate provides a more convenient "point-and-click" style interface to the llcreate program.

Note: when using xllcreate, your DISPLAY environment variable must be set to your working console. To accomplish this, type "setenv DISPLAY console.internet.address:0.0" at the unix prompt on danube, and "xhost" at the unix prompt on your console.

Regardless of interface style, the user is prompted for information about the communication library used (PVMe, MPL, or Oak Ridge PVM), the style of their program (SPMD or MPMD), arguments or input required, batch class and number of processors, and whether a custom setup or cleanup script is required. when the "Create *.cmd File" button is pressed in xllcreate, a command file is generated based on the input information.

X-llcreate/llcreate interface for GAMESS

A special purpose version of X-llcreate is available for easy creation and submission of programs using the GAMESS quantum chemistry package. The input panel requires only the information necessary for a GAMESS run, and is therefore simpler than the general X-llcreate interface. For instructions on the use of this special purpose interface, see the file "README.gamess".

Use of X-llcreate/llcreate

To use llcreate or xllcreate, simply invoke it in the directory where your executables are stored (this is often the same as your source directory, or ~/pvm3/bin/RS6K). Type in the requested information at the prompts for llcreate, or, for xllcreate, check the appropriate boxes and fill in requested information in the entry panel. The script is relatively generous in interpreting your input; for example, the program is insensitive to the case of most responses. X-llcreate takes this a step further, in that most input can be handled with a click of a button, eliminating the need to worry about typos in the input. A command file will be generated when you finish input to llcreate or click the "Create *.cmd File" button in the xllcreate window.

Of course, with the use of these utilities, you maintain the flexibility of editing the generated command file, which could be used, for example, to correct any mistyped program names, etc. You may wish to experiment with various combinations of responses to the queries, studying resulting command file, to help your understanding of how information is relayed to the generic script. If you run into difficulty because your particular program doesn't fit any of the standard scenarios handled by (x)llcreate and the appropriate generic script file, please send mail to and we will try to update the scripts to accommodate your needs.

A sample view of the X-llcreate interface:

(click to enlarge)

The format of the llcreate user dialogue is given in the section Sample llcreate session. In addition, a short (9-page) user's guide is available, see Parallel Batch Job Preparation on the NIST IBM SP2 with X-llcreate/llcreate, or the file /usr/local/apps/LLCREATE/doc/ on danube.

Generic Batch Scripts for Message Passing Programs

The X-llcreate/llcreate utilities rely on the use of three generic batch scripts, one for each of the available message passing library. These scripts are system supported and maintained. They are included in this document for reference:




Sample llcreate session

Script command is started on Fri Feb 23 14:36:02 EST 1996.
danube> llcreate

Does your program use PVMe, MPL or PVM? [PVMe | MPL | PVM | HELP | Q  (Quit)]  PVM

Is it SPMD (hostless) or MPMD (manager-worker)? [SPMD | MPMD | Q (Quit)]  mpmd

Enter the MAIN (manager) executable filename: manager

Enter the SECONDARY (worker) executable filename: worker

Does your program take arguments?  [ Yes | No | Q (Quit)] n

Does your program read from standard input?  [ Yes | No | Q (Quit)] y
Enter the file for redirection to standard input: manager.input

Does your program read from an input file(s)?  [ Yes | No | Q (Quit)] n

Enter the batch class: 
Available classes:         
To accept the default class of Small, just hit RETURN.
Class? [ CLASSNAME | [RETURN] | Q (Quit) ] Small

Enter the number of PROCESSORS: [1-5] 5

Do you wish to run a custom setup script? [ Yes | No | Quit] n

Do you wish to run a custom cleanup script? [ Yes | No | Quit] n

Do you wish to use XPVM to monitor your program? [ Yes | No | Q (Quit)] n

****  Generating the LoadLeveler command file manager.cmd ****

*** Warning: File manager.cmd already exists.  Overwrite? [ Yes | No ] y
danube> exit

Script command is complete on Fri Feb 23 14:37:46 EST 1996.

Sample command file

# -----------------------------------------------------------------
# LoadLeveler Command Script:  manager.cmd
# Automatically generated at:  Fri Feb 23 14:37:36 EST 1996
# Llcreate V. 1.3 
# -----------------------------------------------------------------
# @ program = manager
# @ arguments = 
# @ input = manager.input
# @ initialdir = /danube/nist/karin/simpletest
# @ output = $(initialdir)/$(program).$(Cluster).out
# @ error = $(initialdir)/$(program).$(Cluster).err
# @ requirements = (Arch == "R6000") && (OpSys == "AIX32")
# @ notification = Error
# @ notify_user =
# @ class = Small
# @ job_type = parallel
# @ min_processors = 5
# @ max_processors = 5
# @ environment = CLUSTER=$(Cluster); LLCLASS=$(class);
# @ restart = no
# @ checkpoint = no
# @ queue
# -- Export necessary variables and run the job script: -----------
export PROGRAM=manager
export NODEPROGRAM=worker
export NPROCS=5
export INPUT=manager.input
# -----------------------------------------------------------------

Tutorial example

A tutorial example is available for help in getting started with xllcreate. To set-up the tutorial, copy the example directory "/usr/local/apps/LLCREATE/example" to your home area. To run the tutorial, change into the example directory, and follow the instructions in the file "README".