DEB_GUID (1158345), страница 5
Текст из файла (страница 5)
(<processor number>)<context> File: <file>, Line: <line> (<count> times)<error message>
where:
| <processor number> |
| |
| <context> |
| |
| Sequential branch |
| |
| Loop( No(N1), Iter(I1,I2,…)), …, Loop( No(Nm), Iter(I1,I2,…)) |
| |
| <file> | - name of file, where the error occurred. | |
| <line> | - line number. | |
| <count> | - a number of given error repetitions in the given context. It is output when all detected errors are reported. | |
| <error message> | - error description message. | |
12.1.Dynamic control.
| Writing to read-only variable <var> | Writing to read-only variable is detected. |
| Using non-initialized private variable <var> | Access to non-initialized variable is detected. |
| Using non-initialized element <elem> | Access to non-initialized array element is detected. |
| Using variable <var> before asynchronous reduction competed | Access to reduction variable before reduction operation completion. |
| Access to non-local element <elem> | Access to non-local element of distributed array. |
| Writing to shadow element <elem> of array | Writing to shadow element of array. |
| Shadow element <elem> was not updated | Access to shadow elements before completion of shadow renew operation. |
| Data dependence in loop <elem> | Data dependence in parallel loop is detected. |
| WAIT for shadow renew without START | Operation of waiting for shadow renewal is issued without start of shadow renew operation. |
| Double WAIT for shadow renew | Repeated operation of waiting for shadow renewal. |
| Write to exported element before shadow renewal | Updating exported element of array before completion of shadow renewal. |
| Writing to remote data buffer <var> | Writing to remote data buffer. |
| Write to remote element <elem> in sequential branch | Access to array element in sequential branch of program without preliminary testing that the element is located on current processor. |
| WAIT for reduction without START | Waiting for asynchronous reduction completion is issued without Start asynchronous reduction. |
| Using an element outside of array <elem> | Access to element of array beyond its limits. |
12.2.Trace accumulation and comparison.
| Error message | Description |
| Bad file structure | It is reported when any non-correspondence of trace or loop description file is detected. |
| Undefined keyword | It is reported if unknown keyword appears in trace or loop description file. |
| Bad command syntax | It is reported, if wrong parameters appear after keyword. |
| Can't open a file <file name> | Specified file can’t be open on reading or writing. |
| Trace file <file name> is empty | Specified trace file exists, but it is empty. |
| Bad trace structure (missing current loop) | It is reported, if iteration beginning or loop end event occurs without correspondent loop starting event. |
| No current loop | It is reported if iteration beginning or loop end event occurs without corresponding loop beginning event. |
| Unexpected iteration of loop | It is reported if iteration beginning event occurred, but there is no correspondent record in reference trace. |
| Double execution of iteration, No = <iter no> | It is reported if iteration beginning event occurs for executing loop iteration. Absolute iteration number is reported. |
| Unexpected loop execution | It is reported if loop beginning event occurs, but there is no correspondent record in reference trace. |
| Abnormal loop exit | It is reported if record of loop end is not corresponds to the record of loop beginning. |
| Unexpected use of variable | It is reported there is no record in reference trace for variable access event. |
| Unexpected trace record | It is reported there is no record in reference trace for an event of possible skip of group operators in the sequential branch. |
| Different <type> values: <standard value> != <current value> | Different values of the same variable are detected for current event and in reference trace record. |
| Different <type> values of reduction variable: <standard value> != <current value> | Different values of reduction operation are detected for current event and in reference trace record. |
13.Structure of loop description file
| # Trace size = | <size of full trace file in bytes> |
| # String count = | <a number of lines of trace file> |
| SL or PL | <loop number> (<number of nesting loop>) [<loop rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>) | |
| # Trace size = <loop trace size in bytes for specified trace level> | ||
| # String count = <number of loop trace lines for specified trace level> | ||
| # Count of traced iterations = <number of traced loop iterations> | ||
EL: <loop number>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| SL or PL | <loop number> (<number of nesting loop>) [<loop rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>) | |
| # Trace size = <loop trace size in bytes for specified trace level> | ||
| # String count = <number of loop trace lines for specified trace level> | ||
| # Count of traced iterations = <number of traced loop iterations> | ||
14.Execution trace structure.
When executions are traced, accumulated trace information consists of two parts:
-
trace header
-
trace body (may be omitted).
The header exists in trace even if the trace accumulation is disabled for whole program. Its structure looks like the structure of loop description loop, but without calculated values of trace size for whole program and for loops:
MODE = <accumulation trace level for whole program>,
| SL or PL | <loop number> (<number of nesting loop>) [<loop rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>) |
EL: <loop number>
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| SL or PL | <loop number> (<number of nesting loop>) [<loop rank>] {<file name>, <line number>} = <trace accumulation level>, (<dimension>:<first iteration>, < last iteration >, <iteration step>) |
EL: <loop number>
Trace body is absent, when trace accumulation is disabled for whole program. Otherwise trace body consists of a lot of records of the following types:
-
Reading variable.
RD: [<variable type>] <variable name> = <value>; {<file name>, <line number>} -
Referring to variable (before expression computation)
BW: [<variable type>] <variable name>; {<file name>, <line number>} -
Result of assigning value to variable.
AW: [<variable type>] <variable name> = <value>; {<file name>, <line number>} -
Reading reduction variable. A record in trace file is the following:
RV_RD: [<variable type>] <variable name> = <value>; {<file name>, <line number>} -
Referring to reduction variable (before expression computation)
RV_BW: [<variable type>] <variable name>; {<file name>, <line number>} -
Result of assigning value to reduction variable.
RV_AW: [<variable type>] <variable name> = <value>; {<file name>, <line number>} -
Result of reduction computation:
RV: [<variable type>] <value>; {<file name>, <line number>} -
Skipping a group of statements when referring an element of distributed array in a sequential branch of the program.
SKP: {<file name>, <line number>} -
Parallel loop beginning.
PL: <loop number> (<parent loop number>) [<loop rank>] = <trace level: FULL, MODIFY, NONE>, (<traced iteration range (can be absent)>); {<file name>, <line number>} -
Sequential loop beginning.
SL: <loop number> (<parent loop number>) [<loop rank>] = <trace level: FULL, MODIFY, NONE>, (<traced iteration range (can be absent)>); {<file name>, <line number>} -
Iteration beginning (putted in trace file only when the most nested iteration is executed).
IT: <absolute iteration index (calculated from all values of all iteration variables)>, (<iteration variable value>,<iteration variable value>,…). -
End of parallel loop execution.
EL: <loop number>; {<file name>, <line number>}
15.Error messages of Run-Time Library.
The error messages, occurring in process of Run-Time Library operating, can be divided (by error level) on warnings and error messages, breaking the program execution.
The errors, breaking the program execution, can be usual (a user errors most likely) and fatal, requiring, possibly, a participation of program builder.
The error messages have one of the following forms:
*** RTL warning <number of error class> . <error number in class>:
<error message text> ,
*** RTL err <number of error class> . <error number in class>:
<error message text> ,















