DEB_GUID (1158345), страница 2
Текст из файла (страница 2)
dvm <DVM-command_name> [<command_parameters>] <DVM-program_name>
where:
| dvm | - prefix (name of file starting DVM-command). |
| < command_parameters > | - specific for different commands parameters, such as options of converters or compilers, processor matrix and so on. |
| < DVM-program_name > | - name (without extension) of the file, containing source program |
DVM-commands can be subdivided on based and derived.
The base commands to perform different operations, required for debugging DVM-programs, are presented below.
-
DVM-program conversion commands.
dvm cdv [<C-DVM-converter_options >] <С-DVM-program_name>
dvm fdv [<F-DVM-converter_options>] <F-DVM-program_name>
Processing result: the files <DVM-program_name>.c or <DVM-program_name>.f
First, converter options are taken from environment variables (see section Error: Reference source not found), then options from command line are added. If converter options are not specified, the commands form working parallel version of the program.
-
Commands of standard compilation and linking of C-program and Fortran-program.
dvm cc [<C-compiler_options>] <C-DVM-program_name>
dvm f77 [<F-compiler_options>] <F-DVM-program_name>
Processing result: ready-for-run program (executable file <DVM-program_name>)
First, converter options are taken from environment variables (see section Error: Reference source not found), then options from command line are added.
-
The command of ready-for-run program startup.
dvm run [processor_matrix ][<options>] <DVM-program_name>
Processor matrix: the matrix of virtual processors is specified, for example, 2 3 or 5 1 3.
Options are specified only when parallel programs are started on workstation cluster with UNIX-like operating systems. They are:
| -mf <machine_list> | - name of file, containing machine name list in workstation cluster. The summary account of processors in processor matrix cannot be more, then a number of machine names in the list. |
| -m | - name $dvmdir/user/machinelist is used as name of the file with machine name list |
| -cp | - coping executable file in shared (defined in the file dvmwork and accessible for all workstations) directory. |
| -h | - help |
If options -mf and -m are not specified, the program is executed at local workstation.
Processing result: execution of program version, prepared by a user.
Derived command is a sequence of base commands simplifying execution of some user actions, for example, in process of debugging DVM-programs (see section Error: Reference source not found). The following derived commands exist:
-
The commands of DVM-program conversion and compilation.
dvm c [<C-DVM-converter_options>] <C-DVM-program_name>
dvm f [<F-DVM-converter_options>] <F-DVM-program_name>
Processing result: ready-for-run program (executable file <DVM-program_name>).
First, converter options are taken from environment variables (see section Error: Reference source not found), then options from command line are added. If converter options are not specified, the commands form working parallel version of the program.
-
The commands to obtain and start sequential version of DVM-program (in mode of full ignoring DVM-directives).
dvm cs <C-DVM-program_name>
dvm fs <F-DVM-program_name>
Processing result: execution of sequential version of the program (executable file <DVM-program_name>).
-
The commands to obtain debug sequential version of DVM-program (with linking dynamic debugger for reference trace accumulation).
dvm csdeb [<C-DVM-converter_options>] <C-DVM-program_name>
dvm fsdeb [<F-DVM-converter_options>] <F-DVM-program_name>
Processing result: ready-for-run program (executable file <DVM-program_name>_s)
First, converter options are taken from environment variables (see section Error: Reference source not found), then options from command line are added. If converter options are not specified, the commands sequential program version with option –d4 (see section.Error: Reference source not found).
-
The commands to obtain debug parallel version of DVM-program (with taking into account all DVM-directives and with linking dynamic debugger for dynamic control of DVM-directives or trace accumulation and comparison):
dvm cpdeb [<C-DVM-converter_options>] <C-DVM-program_name>
dvm fpdeb [<F-DVM-converter_options>] <F-DVM-program_name>
Processing result: ready-for-run program (executable file <DVM-program_name>_p).
First, converter options are taken from environment variables (see section Error: Reference source not found), then options from command line are added. If converter options are not specified, the commands parallel program version with option –d4 (see section.Error: Reference source not found).
-
The command to start debug parallel version of DVM-program, performing dynamic control of DVM-directives.
dvm err <DVM-program_name>
Processing result: errors, detected in DVM-directives (if they exist).
-
The command to start debug sequential version of DVM-program, accumulating of reference trace on one processor.
dvm trc <DVM-program_name>
Processing result: a file, containing accumulated trace or error messages, if trace accumulation errors were detected.
-
The command to start debug parallel version of DVM-program comparing execution results, obtained when executing the program on one processor, with previously accumulated reference trace.
dvm red <DVM-program_name>
Processing result: errors, detected during trace comparing (if they exist).
-
The command to start debug parallel version of DVM-program comparing execution results, obtained when executing the program on several processor, with previously accumulated reference trace.
dvm dif [processor_matrix] [<cluster_options>] <DVM-program_name>
Processing errors detected during trace comparing (if they exist).
-
The command to start debugging parallel version of DVM-program accumulating trace on several processors.
dvm ptrc [processor_matrix] [<cluster_options>] <DVM-program_name>
Processing result: the files with accumulated trace or error messages, if trace accumulation errors were detected.
-
The command to start debug sequential version of DVM-program estimating accumulated trace size.
dvm size <DVM-program_name>
Processing result: loop description file (see sections Error: Reference source not found and Error: Reference source not found).
-
The command to start performance analyzer. The command should be executed after parallel program execution with real data on workstation cluster.
dvm pa [sts <output_file_name>][[[<ch1> <ch2><ch3>] <level>] <numbers]
where:
| ch1 | - y/n – output of main characteristics; |
Processing result: performance analysis characteristics.
If options are omitted in first pair of square brackets, the characteristics are outputted to the screen. The command of form dvm pa –h is outputted to the screen the list of its own options.
-
The command to execute for one program all debug steps sequentially.
dvm ctest <DVM-program_name>
dvm ftest <DVM-program_name>
Processing result: concatenation of processing results of commands jointed in one complex test.
9.1.Programs, using sequential program libraries.
If a program uses sequential program libraries, the names of the libraries must be specified in environment variable in file starting dvm-commands (see section.Error: Reference source not found).
10.Methods of debugging DVM-programs.
It is recommended to debug programs first on tests, and then on the real data in the following sequence.
10.1.Debugging ordinary sequential program.
First DVM-program is debugged on a workstation as usual sequential program in C or Fortran 77 language using ordinary compilers and debuggers. DVM-directories are ignored. To start compilation and execution the following commands are used:
dvm cs <C-DVM-program name>
dvm fs <F-DVM-program name>
10.2.Obtaining debug versions of DVM-program for sequential and parallel execution.
To obtain version for sequential execution the following commands are used:
dvm csdeb [C-DVM-converter_options] <C-DVM-program_name>
dvm fsdeb [F-DVM-converter_options] <F-DVM-program_name>
To obtain version for parallel execution the following commands are used:
dvm cpdeb [C-DVM-converter_options] <C-DVM-program_name>
dvm fpdeb [F-DVM-converter_options] <F-DVM-program_name>
10.3.Program execution in mode of dynamic control of DVM-directives.
To execute DVM-program in such a mode, the following command is used:
dvm err <DVM-program_name>
The program startup is controlled (by default) by dynamic control parameters from base file usrdebug (see sections Error: Reference source not found and Error: Reference source not found), corrected by the following parameters from file deb_err.par (both files are in subdirectory \PAR of DVM-system directory, specified in environment variable dvmpar):
| EnableDynControl=1; | - enable dynamic control; |
| EnableTrace=0; | - disable accumulation of execution trace. |
In case wrong DVM-directives are found, diagnostics about occurrence of dynamic control errors is output in stderr stream. This stream can be directed either to the screen or in a file (see sections Error: Reference source not found and Error: Reference source not found).
Diagnostics about error type, line of the source text and numbers of iterations of all nesting loops can be also output ether to the screen, or in a file (see section Error: Reference source not found). A structure and list of dynamic control error messages is described in section Error: Reference source not found).
The absence of dynamic control errors does not guarantee correct execution of the parallel program. Therefore, program debugging should be continued, using trace accumulation and comparison trace commands.
10.4.Accumulation of reference file of DVM-program trace.
The following command is used for this purpose:
dvm trc <DVM-program_name>
By default, startup is controlled by the parameters of accumulation of execution tracing from base file usrdebug (see section Error: Reference source not found), corrected by parameters from file deb_trc.par:
| EnableDynControl=0; | - disable dynamic control; |
| EnableTrace=1; | - enable trace accumulation; |
| TraceOptions.TraceMode=1; | - trace accumulation mode |
In case trace accumulation errors are found, diagnostics about existence of such errors is output to stderr stream. This stream can be directed either to the screen or in a file (see sections Error: Reference source not found and Error: Reference source not found).
Diagnostics about error type, line of the source text and numbers of iterations of all nesting loops can be also output either to the screen, or into a file (see section Error: Reference source not found). A structure of accumulated trace is presented in section 14.
The structure and list of error messages of trace accumulation is presented in section Error: Reference source not found.
10.5.Comparing reference trace with results of parallel program execution on single processor.
When comparing reference trace with the trace of parallel execution of the program on one processor, the correctness of reduction operation descriptions is checked. It is carried out by means of a special mode of parallel execution of the program on one processor. In this mode the reduction variables are calculated according to the reduction operation descriptions given by programmer. The reduction variables are calculated in the way of emulation of each iteration execution on a separate processor. At the beginning of iteration, the initial value is assigned to the reduction variable. The initial value is kept when entering loop. Upon end of iteration, Lib-DVM is invoked to calculate the final value of the reduction according to specified reduction function. If the user specify the reduction function incorrectly, the differences in traces, obtained in different modes of reduction computation must occur.















