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