The following is a collection of scripts to help in the development of CCP applications.
| make_all | make_all Macros... |
| go_t | go_t -e exe -i iters -r resDir -s skip1 -s -skip2... -- cmdLineArgs |
| vfy | vfy -e exe -p procs -c cpus -i iterations |
| build_res_dir | build_res_dir DestDir ResDir1 ResDir2 ResDir2... |
| line-diff | line-diff file1 file2 |
| av_t | av_t [-f] -a appl outFiles |
| zap | zap [-s] [-m machine] [-8 | -4 | -2] pattern |
| ipc_clean | ipc_clean |
| cmc | cmc [8|4|2] pattern |
| get_res_all | get_res_all -p path1 -r resDir1a -r resDir2a... -p path2 -r resDir1b... |
| build_res_dir | build_res_dir DestDir ResDir1 ResDir2 ResDir2... |
| get_bd_all | get_res_all -p 16 -P path1 -R resDir1a name1a -r resDir2a name2a... -P path2 -r resDir1b name1b... |
| get_bd | get_bd [-p X] [-a apps] [-g] -r dir1 Name1 ... -R dirX NameX |
| rcsq | rcsq (-l level_spec | -d date) [-files|-logs] [files] |
| scr2html | SCRipt to HTML |
| order_res_all | order_res_all -[s|m] -p path1 -r resDir1a -r resDir2a... -p path2 -r resDir1b... |
make_all Macros...
This script will make the following ccp applications:
/s23/cashmere/ccp/apps/barnes/src
/s23/cashmere/ccp/apps/clu/src
/s23/cashmere/ccp/apps/lu/src
/s23/cashmere/ccp/apps/em3d/src
/s23/cashmere/ccp/apps/fastlink-2.3P/src
/s23/cashmere/ccp/apps/gauss_fine.IMPROVED/src
/s23/cashmere/ccp/apps/sor/src
/s23/cashmere/ccp/apps/tsp/src
/s23/cashmere/ccp/apps/water-spatial/src
/s23/cashmere/ccp/apps/water-nsquared/src
/s23/cashmere/ccp/apps/volrend/src
/s23/cashmere/ccp/apps/volrend.pad/src
Example:
make_all PROT=CSM_NOL LIB_VERS=_TWINS
makes the CSM_NOLT version of all applications.
go_t -e exe -i iters -r resDir -s skip1 -s -skip2... -- cmdLineArgs
GO Timing
Runs a timing test on the specified executable.
The executable will be run for the specified iterations
over a varying number of processors. The default for the
result directory is $PROT_res (i.e. csm_res).
The -s switch specifies which args to skip. This is
useful for continuing interrupted executions.
Anything specified after the '--' will be ignored by
the script argument parser and passed directly to the
executable command line builder subroutines. This allows
each executable to receive its own command line arguments.
Example:
go_t -e ../csm_bin/sor -r csm_res -i 5
Note the script will parse the executable pathname
in order to determine which protocol is being executed,
and thus which parameters to use. The script expects the
pathname to conform to the following conventions:
pathname protocol
*tmk* tmk
*tmk*mc* tmk_mc
*csm* csm
The following applications are supported:
sor -p X -i 25 -m 3070 -n 2047 --
em3d -p X -n 64000 -d 15 -t 100 --
water -i /inputs/sample_4096.in -t 5 --
barnes -i /inputs/sample_128.in --
lu -pX -n2048 -b32 --
LU -pX -n2500 -b32 --
appbt -p X --
mgc -tX -s2048 --
ocean -n514 -pX -e1e-07 -r20000 -t28800 --
tsp -f/tspfiles/tspfilesr --
ilink --
fft -pX -m22 --
radix -n5000000 -r4096 -m5000000 --
RAYTRACE -pX -m32 -i inputs/balls4.env --
VOLREND -p X -i inputs/head --
WATER-NSQUARED -i /inputs/i.9261 --
WATER-SPATIAL -i /inputs/i.9261 --
BARNES -i /inputs/sample_128.in --
The "X" stands for the number of processors. All
protocol arguments should follow the "--".
NOTA BENE: This script expects to be run from the application's
base directory, i.e. /s23/cashmere/ccp/apps/fastlink-2.3P.
vfy -e exe -p procs -c cpus -i iterations
Runs the specified executable in verify mode and
compares the output to the file vres.orig. The
test will be repeated for the specified number of
iterations. Procs specifies the number of compute
processors. Cpus specifies the number of compute
processors per host.
Nota Bene: The executable specification must include a
path name that includes the protocol specification, i.e.
-e csm_2l_poll_bin/sor.
Example:
vfy -e ../tmk_bin/sor -p 3 -c 1 -i 10
The script will not create the vres.orig file if it
already exists. This allows the user to use a vres.orig
produced by another protocol.
build_res_dir DestDir ResDir1 ResDir2 ResDir2...
This script will move the specified result directories for each
ccp application to the specified destination directory. Results are
expected to originally reside in the /s23/cashmere/ccp/apps hierarchy.
Example:
build_res_dir /s23/cashmere/ccp/apps/results csm_nol_res csm_nolt_res
line-diff file1 file2
Simple script to do a line-by-line comparison between 2 files.
The script will return an exit status of 0 if the files are the
and 1 if the files are different.
av_t [-f] -a appl outFiles
Parse through the specified output files
and calculate the average "Elapsed time"
If appl is specified, then the script will also
look for application specific timing lines. Elapsed
time will override any application specific lines.
-f will only print the filename with the min time.
zap [-s] [-m machine] [-8 | -4 | -2] pattern
This script will kill any processes which match
the specified pattern.
Options:
-s silent
-m machine name
-8 all machines on the oct
-4 all machines on the quad
-2 all machines on the pair
ipc_clean
This script will remove all the user's active shared
memory segments.
cmc [8|4|2] pattern
This script will check the processes on the
specified memory channel ring. Note all root,
rshd, and ps -o user processes are discarded.
Rings:
8 .... all nodes.
4 .... (the "quad")
2 .... the two direct connect rings
Also a perl-style pattern can be specified to
filter entries.
get_res_all -p path1 -r resDir1a -r resDir2a... -p path2 -r resDir1b...
This script will gather all the specified results and place
them into a table. The script begins with the first specified
path and reads the specified results directory for each ccp
application present in the path. The script continues this procedure
for each path/results specification.
Example:
cd /s23/cashmere/ccp/results
get_res_all -p isca_97 -r csm_res_poll -r tmk_res -p sosp_97 -r csm_2l_res_tues_poll
build_res_dir DestDir ResDir1 ResDir2 ResDir2...
This script will move the specified result directories for each
ccp application to the specified destination directory. Results are
expected to originally reside in the /s23/cashmere/ccp/apps hierarchy.
Example:
build_res_dir /s23/cashmere/ccp/apps/results csm_nol_res csm_nolt_res
get_res_all -p 16 -P path1 -R resDir1a name1a -r resDir2a name2a... -P path2 -r resDir1b name1b...
This script will gather all the normalized breakdown results and place
them into a table. The script begins with the first specified
path and reads the specified results directory for each ccp
application present in the path. The script continues this procedure
for each path/results specification.
Example:
cd /s23/cashmere/ccp/results
get_bd_all -P isca_97 -p 32 -r csm_res_poll 1L -r tmk_res TMK -p sosp_97 -R csm_2l_res_tues_poll 2L
-P ...... specifies the parent directory of all results
-p ...... specifies number of processors
-r ...... specifies the result directory
-R ...... specifies the results used for the base normalization
get_bd [-p X] [-a apps] [-g] -r dir1 Name1 ... -R dirX NameX
his script will produce a normalized execution breakdown
or the result files in the specified directories. The script
ill take the result file with the lowest execution time from
ach directory. Times will be normalized to the directory specified
by the uppercase -R parameter.
he resulting output can be imported into Excel for easy charting.
aramters:
-p .......... specifies the number of processors to use
-r .......... specifies a result directory and the output name
-R .......... specifies the directory to use as the basis for
normalization
Note: A directory should only be specified _once_ in the -r,-R
parameters.
Example:
get_bd -p 32 -R csm_2lmc_poll_res_16 MC -r csm_2l_poll_res_mgmsgft_16_2 FT
rcsq (-l level_spec | -d date) [-files|-logs] [files]
This script will perform RCS queries on the specified files.
-l Query based on a level specification.
Range: Level1:Level2
Before: :Level1
After: Level1:
-d Query based on a date specification.
Range: "1996/09/27<1996/10/02"
Before: "<1996/09/27"
After: "1996/09/27<"
-logs Prints log file entries.
-files Prints files. (Default)
If no files are specified, the script will check the current directory
for an RCS subdirectory.
SCRipt to HTML
scr2html scrFile
Convert a .scr file to HTML format. A .scr
file is composed of an initial header section
followed by a list of scripts. The final html
page will begin with the header section (containing
titles, an introduction, etc) and then will list
the help lines of each listed script. This allows
all script documentation to be compartmentalized in the
script itself.
Example scr file:
Simple Scripts
This is an example file. The header
consists of all info up to the *** SCRIPTS ***
line. The info will be placed verbatim in the
output html file.
*** SCRIPTS ***
/u/stets/bin/csim
/u/stets/bin/find-bl
order_res_all -[s|m] -p path1 -r resDir1a -r resDir2a... -p path2 -r resDir1b...
This script will walk through all the specified directories and
order the result files according to elapsed time values.
-s Sort in increasing order
-m Find the median value and place it in the first file.
Example:
cd /s23/cashmere/ccp/results
order_res_all -m -p isca_97 -r csm_res_poll -r tmk_res -p sosp_97 -r csm_2l_res_tues_poll