deb_guid-e (1158372), страница 4
Текст из файла (страница 4)
( <dimension> : [<first iteration>] , [<last iteration>] [<iteration step>])
| <dimension> |
|
| <first iteration> |
|
| <last iteration> |
|
| < iteration step> |
|
Iteration ranges examples:
| (0:2,10,) |
|
| (0:,10,) |
|
| (0:4,,) |
|
| (0:,,3) |
|
10.11Program startup with non-standard parameter set.
When a user starts programs using derived dvm-commands, described in this chapter, but with non-standard parameters (using his own parameter sets), he should take into account the sequence, Run-Time Library follows to correct parameters:
-
first, one of the base parameter sets are taken from files with extensions .rel or .deb (see section 11);
-
then base set is corrected by the parameters from files, specified in environment variable usrpar (see section 7);
-
then corrected set is corrected ones more by parameters from the file, defined for concrete derived dvm-command.
This sequence of parameter correction is resulted in the user current directory in the file current.par, used by Run-Time Library to execute any dvm-command.
11Parameters of DVM-system.
Base set of parameters, controlling Run-Time Library operating, is provided with DVM-system and located in dvm_sys/par subdirectory. File names reflect purpose of the parameters, placed in the files:
| checksum |
|
| statist |
|
| sysdebug |
|
| syspar |
|
| systrace |
|
| trcevent |
|
| usrdebug |
|
File name extensions reflects a way of applying given parameter subset:
| .rel | - parameter set, provided maximal speed of program execution; |
| .deb | - parameter set for debugging a user program and Run-Time Library. Built-in Run-Time Library tools of internal self-checking, system trace accumulation and informational messages output are enabled; |
| .par | - sets of correcting parameters. |
The correcting parameter sets are the files with the names:
| deb_err, deb_trc, deb_red, deb_dif, deb_size, deb_ptrc |
|
| out |
|
| outoff |
|
A user chooses the base set, more suitable for his purposes by specifying corresponding extension in environment variable dvmpar. He can also have own parameter sets (in any his working directory and with any file names and extensions), correcting the base set. The user specifies in these files only the parameters (contained in any of files with .rel or .deb extensions), that he wishes to correct. These directories and file names must be listed in environment variable usrpar of the dvm-command startup file (see section 7).
All parameters of the base set have the commentaries. Full lists of parameters of dynamic control and the user trace are presented in sections 11.1 and 11.2. Parameters of Run-Time Library information messages output and main parameters, controlling system trace (as more frequently used when debugging a program) are considered in sections 11.3 and 11.4.
11.1The parameters of dynamic control
The parameters of dynamic control, listed below, are set in files with name usrdebug.
-
EnableDynControl - flag of enabled dynamic control.
-
DebugOptions.ErrorToScreen - if this parameter is not equal to 0 all dynamic control diagnostic messages will be outputted to the screen.
-
DebugOptions.ErrorFile - the name of error diagnostic file. Error messages, found by dynamic control, are written to this file if parameter DebugOptions.ErrorToScreen is equal to 0. In the case of file opening failure the diagnostics will be outputted to the screen.
-
DebugOptions.AppendErrorFile - the mode of a diagnostic file usage. If this parameter is equal to 0, the file will be updated every time when the program is started.
-
DebugOptions.MaxErrors - the maximum count of errors after that the dynamic control will be disabled.
-
DebugOptions.PrintStatistic - if flag is not equal to 0, then after program termination the statistics of dealing with variable table is printed. The statistics is written into the file with name, specified by DebugOptions.ErrorFile parameter or to the screen dependently on value of DebugOptions.ErrorToScreen parameter.
-
DebugOptions.CheckVarInitialization - if flag is equal to 0, then checking scalar variables initialization is disabled.
-
DebugOptions.CheckVarReadOnly - if flag is equal to 0, then checking usage of read-only variables is disabled.
-
DebugOptions.CheckReductionAccess - if flag is equal to 0, checking usage of reduction variables is disabled.
-
DebugOptions.CheckDisArrInitialization -if flag is equal to 0, checking distributed array elements initialization is disabled.
-
DebugOptions.CheckDisArrLimits - if flag is equal to 0, checking violation of distributed array bounds is disabled.
-
DebugOptions.CheckDisArrEdgeExchange - if flag is equal to 0, checking exchange of shadow edges of distributed arrays is disabled.
-
DebugOptions.CheckDisArrSequentialAccess - if flag is equal to 0, checking usage of distributed array elements in the sequential program part is disabled.
-
DebugOptions.CheckDisArrLocalElm - if flag is equal to 0, checking membership of an element to the distributed array local part is disabled.
-
DebugOptions.CheckDataDependence - if flag is equal to 0, checking undeclared loop data dependence is disabled.
-
DebugOptions.CheckRemoteBufferAccess - if flag is equal to 0, checking usage of remote access buffers is disabled.
-
HashMethod - the parameter defines algorithm of the hash-value calculation. If it is equal to 0, StandartHashCalc algorithm is used; if it is equal to 1, OffsetHashCalc algorithm is used.
-
HashOffsetValue - offset value for the OffsetHashCalc algorithm. The values from 0 up to 16 are allowed.
-
DebugOptions.HashIndexSize - size of hash-table index for the variable table.
-
DebugOptions.HashTableSize - size of hash-table arrays.
-
DebugOptions.VarTableSize - size of variable tables.
11.2Parameters of trace accumulation and comparison.
The parameters, listed below, are set in files with the name usrdebug.
-
EnableTrace - flag of enabled execution tracing.
-
DelUsrTrace – flag to delete "old" (kept from previous startup) files containing calculation trace and detected errors. Deleting is performed only in the case if EnableDynControl and EnableTrace parameters are equal to zero.
-
TraceOptions.TraceMode - specifying trace mode:
0 - generating loop description file. Only processor with the number TraceOptions.WrtHeaderProc writes to this file.
1 - trace accumulating and writing into the file <processor number>.<TraceOptions.Ext>.
2 - joining of the two previous modes.
3 - comparing the execution trace with the reference one, given in file TraceOptions.TraceFile.
-
TraceOptions.TraceLevel - trace accumulation level. It is relevant only in modes of trace accumulation and loop descriptor file generation.
0 - trace is not accumulated.
1 - accumulating loops and iterations trace only.
1 - the previous level plus accumulating trace of variable modifications.
2 - accumulating full trace.
-
ManualReductCalc - reduction computation mode. If flag is equal to 0, then the calculation mode is usual, and emulation of computation of every iteration of the loop at its own processor is performed in other case.
-
TraceOptions.WriteEmptyIter -if flag is equal to 0 then the records, corresponding to iteration beginning, are excluded from trace, if inside the iteration there are no the variables accesses or nested loops.
-
TraceOptions.TracePath - path for the trace files.
-
TraceOptions.TraceFile - the name of the reference trace file. This file is looked for in the TraceOptions.TracePath directory. It is used only in the trace comparison mode.
-
TraceOptions.Ext - extension of trace accumulated files. The name of a trace file is formed as <processor number>.<TraceOptions.Ext>. The trace file will be created in the TraceOptions.TracePath directory. It is used only in the trace accumulation mode.
-
TraceOptions.FileLoopInfo - loop description file name. This file is searched in the TraceOptions.TracePath directory.
-
TraceOptions.ErrorToScreen - if flag is not equal to 0 then all diagnostic messages will be outputted to the screen.
-
TraceOptions.ErrorFile - the name of error diagnostic file. The file is used if parameter TraceOptions.ErrorToScreen is equal to 0. In the case of file opening failure, the error messages will be outputted to the screen.
-
TraceOptions.AppendErrorFile - the mode of a diagnostic file usage. If the flag is equal to 0, the file will be cleared every time, when the program is started.
-
TraceOptions.MaxErrors - the maximal count of errors after that the trace accumulation or comparison will be disabled.
-
TraceOptions.PrintStatistic - output statistics after program termination. The statistics is outputted to the file TraseOptions.ErrorFile or to the screen dependently on value of TraceOptions.ErrorToScreen parameter.
-
TraceOptions.Exp - accuracy of a float number comparison in the trace comparison mode.
-
TraceOptions.WrtHeaderProc - the number of a processor that creates loop description file. Since the common structure of the program is the same for all the processors, then loop description file will be identical for any process. The only distinction is the trace size, because these values are calculated only for the current process. The summary trace size can be obtained by launching the program on a single processor.
-
TraceOptions.SpaceIndent - the indent size used in the trace files
-
TraceOptions.TableTraceSize - size of arrays for tracing.
-
TraceOptions.HashIterIndex,
TraceOptions.HashIterSize - hash-table parameters, used for searching iterations. -
TraceOptions.ReductHashIndexSize,
TraceOptions.ReductHashTableSize,
TraceOptions.ReductVarTableSize - the parameters of the variable-table, used for keeping reduction variables. -
TraceOptions.SaveThroughExec - if the parameter is not equal to 0, the trace will be written into the file in the process of program execution (there is no accumulating in the memory). Otherwise the trace will be written to the file after program termination.
11.3Parameters of standard data streams redirection and Run-Time Library informational messages output control.
The listed below parameters are set in files with syspar, statist, systrace and usrdebug names. A parameter is set in files with name syspar by default.
-
StdOutToFile –flag to redirect standard output stream stdout into the file.
-
StdOutFileName - path, determining a file for stdout stream redirection. If the parameter is omitted or dummy path is specified, then stdout stream will be redirected to the file stdout.out (if redirection is set by the parameter StdOutToFile).
-
StdErrToFile – flag to redirect standard error output stream stderr to the file.
-
StdErrFileName – path, determining a file for stderr stream redirection. If the parameter is omitted or dummy path is specified, then stderr stream will be redirected to the file stderr.out (if it is set by the parameter StdErrToFile).
-
DelStdStream –flag to delete "old" (kept from previous startup) files containing output streams.
-
SysInfoPrint - common flag to enable output of Run-Time Library informational messages.
-
SysInfoStdOut - flag to output informational messages to stdout stream.
-
SysInfoStdErr - flag to output informational messages to stderr stream.
-
SysInfoFile - flag to output informational messages into a file.
-
SysInfoFileName - file name for informational messages.
-
SysInfoSepFile - flag to accumulate informational messages in separate for each processor temporary file (if SysInfoSepFile=1) with the name <internal processor number>.out. Before program termination all temporary files will be joined into single target file and then deleted. The target file name is specified by SysInfoFileName parameter. If SysInfoSepFile=0 each processor outputs informational messages directly to the file, specified by SysInfoFileName parameter.
-
FatInfoNoOpen - flag to terminate the work in the case of opening failure of the file for the informational messages. If the flag is equal to zero, Run-Time Library outputs warning message to the error stream and continues the program execution without output of informational messages into the file.
-
DelSysInfo – flag to delete "old" (kept from previous startup) file containing informational messages.
-
VersStartPrint - flag to output Run-Time Library version number before starting the program.
-
VersFullStartPrint - flag to output Run-Time Library version number and version numbers of all parameter files before starting the program.
-
VersFinishPrint - flag to output Run-Time Library version number after the program termination.
-
VersFullFinishPrint - flag to output Run-Time Library version number and version numbers of all parameter files after the program termination.
-
SysParPrint - flag to output initialization parameters of Run-Time Library before starting the program.
-
ProcListPrint - flag to output processor matrix before starting the program. Internal and external numbers and identifier are outputted for each processor.
-
WeightListPrint - flag to output coordinate processor weights before starting the program.
-
ParamRunPrint - flag to output information about initial parameters and starting modes of Run-Time Library before starting the program (standard or non-standard startup, base message passing system type and so on).
-
EndProgMemoryPrint – flag to output information about non-freed memory when terminating work.
-
EndProgObjectPrint – flag to output information about undeleted DVM-objects when terminating work.
-
EndProgCheckSumPrint –flag to output information about state of checked memory areas when terminating work.
-
InputParPrint - flag to output messages about beginning input of each parameter file.
-
EndReadParPrint - flag to output messages about completion of the input of each parameter file.
-
TimeExpendPrint - mode to output time spent by the program. If the parameter is equal to zero, time consumption information is not outputted. The parameter, equal to 1, specifies brief output mode of time consumption information. The parameter with value, more than 1 (2,3,4,5) specifies detailed mode. The parameter is set in files with name statist.
-
CallCountPrint - flag to output statistics of Run-Time Library function calls, acceptable for the user program (for each function the count of function calls is reported). The parameter is set in the files with name statist. If CallCountPrint value is equal to one the information about functions, invoked at least one time, is output only and if the value is equal to 2, the information about all functions is output.
-
TraceClosePrint - flag to output messages about completion of uploading each buffer with accumulated system trace into a file (when tracing in memory buffer). The parameter is set in the files with name systrace.
-
DbgInfoPrint - flag to output informational messages of dynamic control subsystem and execution trace. The parameter is set in files with name usrdebug.
11.4Parameters controlling system tracing.
Controlling trace mode and trace event set is implemented by the parameters, kept in files systrace.* and trcevent.*. Let consider main from them. A parameter is kept in files systrace.* by default.
11.4.1 Enabling and disabling tracing
-
Is_DVM_TRACE - non-zero value of the parameter is common flag of enabled tracing.
-
Is_ALL_TRACE - flag to trace all functions of Run-Time Library (except of functions invoking DVM-debugger and information accumulation system).
-
Is_DEB_TRACE - flag to trace functions invoking DVM-debugger.
-
Is_STAT_TRACE - flag to trace function invoking information accumulation system.
-
TraceProcList - list of internal numbers of processors with enabled tracing. When flag of common trace is on, tracing is performed only on the processors from the list. At the main processor the trace information is accumulated always independently of presence of its number (zero) in TraceProcList list.
-
IsTraceProcList - flag of enabled TraceProcList list. If the parameter has zero value trace is accumulated at all the processors.
-
IsEvent[<event number>] . The parameter value, equal to1 or 2, is the flag of enabled tracing of the event with the number <event number>. The value 2 specifies trace of given event in extended mode independently from common mode of extended trace. Zero value of the parameter disables tracing of specified event. The parameter is set in trcevent.* files.
-
BlockTrace - flag of postponed trace enabling. When common tracing is enabled the accumulation is started only by special instruction from the function void tron(void). Enabled tracing can be disabled by the function void troff(void) (and then can be again enabled and so on).
11.4.2Specifying opened (enabled) trace streams
-
TracePath - directory name for trace files (as when tracing in the buffer, as when tracing directly in the file). If directory name is not empty, the last symbol of the name must be '\' or '/'.
-
ScreenTrace - if the parameter is not equal to zero, the trace is outputted to information message stream (flag to output trace to the screen). Trace, outputted to informational message stream, doesn't contain informational messages and messages about errors of Run-Time Library.
-
BufferTrace - flag to accumulate trace in the memory buffer.
-
TraceBufLength - trace buffer size in bytes.
-
TraceBufferExt - trace file extension when tracing in the buffer.
-
FileTrace - flag to accumulate trace directly in the files.
-
FatTraceNoOpen - flag to terminate work in the case of opening failure of the trace file for direct trace accumulation. If the parameter is equal to zero, warning is outputted in the case of the file opening failure.
-
TraceFileExt - trace file extension when tracing directly into the files.
11.4.3Specifying trace modes
-
DelSysTrace - flag to delete "old" trace files (remained from previous startup) when initializing Run-Time Library.
-
FullTrace - common flag of extended trace mode.
-
MaxTraceLevel - common maximal traced enclosure level of function calls. Zero value of the parameter means tracing the functions, directly called by the user program.
-
MaxEventLevel[<event number>] - maximal traced enclosure level of function calls for the event with the number <event number>. This parameter has priority under the parameter MaxTraceLevel. The parameter is set in trcevent.* files.
-
FullBufferStop - flag to stop tracing if buffer is overflowed. If the parameter is equal to zero, then last information is written instead of most old information if the buffer is overflowed.
-
BufferTraceUnLoad - flag to upload trace, accumulated in trace buffers, into the files before program termination. If flag is equal to 0, Run-Time Library does not upload trace, accumulated in trace buffers, into the files, entrusting this work to the dump-program, started if it is required.
-
LowDumpLevel - flag to upload trace, accumulated in the buffers, into the files, using low level input/output functions. Uploading trace buffers by high-level input/output functions is performed more slowly.
-
SetTraceBuf - flag to trace directly into the files with buffering, performed by operation system. Trace mode with buffering is set at once after opening trace stream by the function setbuf.
-
TraceFlush - flag to upload trace information from operation system buffer into the file after each event (when tracing directly into the files). The mode, specified by this parameter, is active only in the case of tracing with buffering (the parameter SetTraceBuf is not equal to 0).
-
Controlling form of accumulated information
-
KeyWordName - flag to output "NAME=" before name of each event.
-
PreUnderLine - flag to underline heading of each event (event heading is a trace line, containing event name, time, file name and line number).
-
PreUnderLining - underlining string of heading of each event.
-
PostUnderLine - flag to underline end line of output information of each event.
-
PostUnderLining - underlining string of output information for each event.
-
BufferTraceShift - coefficient of indentation of output information when tracing in buffer. The number of blanks, equal to product of this parameter by the current enclosure level of traced function calls will be inserted prior each output line.
-
FileTraceShift - coefficient of indentation of output information when tracing directly into the files.
-
TimePrecision - a number of digits after dot when printing time, passed from the previous event.
11.4.4Controlling internal self-checking Run-Time Library mechanisms, functioning during trace accumulation
In the process of trace information accumulation Run-Time Library can check certain memory areas. In the case of such area modification it terminates the program and outputs corresponding error message. Such areas are:
-
left (low) and right (high) control parts of each dynamically allocated memory block;
-
memory area, explicitly specified by their initial and final addresses in parameter files systrace.*;
-
memory area, containing code of the user program and Run-Time Library (code memory).
The control parts of dynamically allocated memory blocks are created by special instruction in parameter files sysdebug.* and are filled by the code, also specified in these files. Their contents can be checked each time, when memory is allocated or freed, and also in the process of tracing.















