Environment Variables

Environment Variables Referenced During Execution

VE_ADVANCEOFF

This variable is used to control the advance-off (lockstep execution) mode. When “YES” is set, the advance-off mode is enabled. If any other value is set or this variable is not set, the advance-off mode is disabled. If the advance-off mode is enabled, the execution time can be significantly increased.

Example:

$ export VE_ADVANCEOFF=YES
VE_FPE_ENABLE

This variable is used to control over floating-point exception handling at run-time. When this variable is set, the specified exception is enabled. The value of this variable is a comma separated list, each element of which is one of the following values.

DIV

Divide-by-zero exception.

FOF

Floating-point overflow exception.

FUF

Floating-point underflow exception.

INV

Invalid operation exception.

INE

Inexact exception.

Example:

$ export VE_FPE_ENABLE=DIV
VE_LD_LIBRARY_PATH

This variable set a list of directories separated by colon that the dynamic linker searches for libraries. The dynamic linker automatically searches the standard directories. This environment variable is set when you want to always search non-standard directories. For example, you want to always search the OSS library directory that is not attached to the NEC C/C++ compiler.

Example:

$ export VE_LD_LIBRARY_PATH="${HOME}/lib:$VE_LD_LIBRARY_PATH"
VE_NODE_NUMBER

This variable is set to designate a program to be executed on specified VE node.

VE_PROGINF

When “YES” or “DETAIL” is set, the program execution information is output to the standard error output at the termination of execution. See the manual “PROGINF/FTRACE User’s Guide” for the detail.

VE_TRACEBACK

This variable is used to control to output traceback information when a fatal error occurs at runtime. The program must be compiled and linked with -traceback to output traceback information. When the value of this variable is “FULL” or “ALL”, then at most depth which is specified by VE_TRACEBACK_DEPTH environment variable of traceback information is output. If any other value is set, only traceback information of the function that a fatal error occurs is output. If this variable is not set, no traceback information is output. An occurrence line number of fatal error is found by address information in traceback information.

Example:

$ export VE_TRACEBACK=FULL
$ ./a.out
Runtime Error: Divide by zero at 0x600000000cc0
[ 1] Called from 0x7f5ca0062f60
[ 2] Called from 0x600000000b70
Floating point exception

The line number can be sought from the address information using the command naddr2line. In example, the exception of “Divide by zero” occurred in line 3 of a.c.

Example:

$ naddr2line -e ./a.out -a 0x600000000cc0
0x0000600000000cc0
/.../a.c:3

When running the program which is compiled and linked with -traceback=verbose and the value of this variable is “VERBOSE”, filename and line number is output in traceback information.

Example:

$ export VE_TRACEBACK=VERBOSE
$ ./a.out
Segmentation fault: Address not mapped to object at 0x600008001078
[ 0] 0x600008001078 below            below.c:8
[ 1] 0x600018001170 out              out.c:3
[ 2] 0x600020001170 watch            watch.c:3
[ 3] 0x600010001170 hey              hey.c:3
[ 4] 0x600000001500 main             ovf.c:10
VE_TRACEBACK_DEPTH

This variable is used to control the maximum depth of traceback information when it is output. When it is not specified explicitly, then 50 is set. If 0 is specified, then the maximum depth is unlimited.