# Environment Variables

[![View Source On Gitee](https://gitee.com/mindspore/docs/raw/r1.5/resource/_static/logo_source_en.png)](https://gitee.com/mindspore/docs/blob/r1.5/docs/mindspore/note/source_en/env_var_list.md)

MindSpore environment variables are as follows:

| Environment Variable | Module | Function | Type | Value Range | Configuration Relationship | Mandatory or Not | Default Value |
| --- | --- | --- | --- | --- | --- | --- | --- |
|MS_BUILD_PROCESS_NUM|MindSpore|Specifies the number of parallel operator build processes during Ascend backend compilation.|Integer|The number of parallel operator build processes ranges from 1 to 24. |None|Optional(Only Ascend backend)|None|
|MS_COMPILER_CACHE_PATH|MindSpore|MindSpore compile cache directory and save the cache files like `kernel_meta`,`somas_meta`|String|File path, which can be a relative path or an absolute path.|None|Optional|None|
|MS_COMPILER_OP_LEVEL|MindSpore|Generate the TBE instruction mapping file(`*.cce` and `*_loc.json`) during Ascend backend compilation|Integer|The value of compiler op level should be `0` or `1`. `0`: No op debug; `1`: Turn off the compile optimization switch and generate the `*.cce` and `*_loc.json` at the same time|None|Optional(Only Ascend backend)|None|
|MS_GRAPH_KERNEL_FLAGS|MindSpore|Control options of graph kernel fusion, it can be used to open or close the graph kernel fusion, supports fine-tune of several optimizations in graph kernel fusion and supports dumping the fusion process, which is helpful in problems location and performance tuning.|String|Refer to the value setting of [graph_kernel_flags](https://www.mindspore.cn/docs/api/en/r1.5/api_python/mindspore.context.html#mindspore.context.set_context) in mindspore/context.py<br>Note: The priority of environment variables is higher than context, that is, if both environment variables and context are set at the same time, only the settings in the environment variables will take effect.|None|Optional|None|
|RANK_TABLE_FILE|MindSpore|Specifies the file to which a path points, including `DEVICE_IP`s corresponding to multiple Ascend AI Processor `DEVICE_ID`s. |String|File path, which can be a relative path or an absolute path.|This variable is used together with RANK_SIZE. |Optional (when the Ascend AI Processor is used, specified by user when a distributed case is executed)|None|
|RANK_SIZE|MindSpore|Specifies the number of Ascend AI Processors to be called during deep learning. |Integer|The number of Ascend AI Processors to be called ranges from 1 to 8. | This variable is used together with RANK_TABLE_FILE |Optional (when the Ascend AI Processor is used, specified by user when a distributed case is executed) |None|
|RANK_ID|MindSpore|Specifies the logical ID of the Ascend AI Processor called during deep learning.|Integer|The value ranges from 0 to 7. When multiple servers are running concurrently, `DEVICE_ID`s in different servers may be the same. RANK_ID can be used to avoid this problem. (RANK_ID = SERVER_ID * DEVICE_NUM + DEVICE_ID) |None|Optional|None|
|GLOG_v|MindSpore|For details about the function and usage, see [GLOG_v](https://www.mindspore.cn/docs/programming_guide/en/r1.5/custom_debugging_info.html#log-related-environment-variables-and-configurations)|Integer|0-DEBUG <br>1-INFO <br>2-WARNING <br>3-ERROR|None|Optional|2|
|GLOG_logtostderr|MindSpore|For details about the function and usage, see [GLOG_logtostderr](https://www.mindspore.cn/docs/programming_guide/en/r1.5/custom_debugging_info.html#log-related-environment-variables-and-configurations)|Integer|1:logs are output to the screen <br> 0:logs are output to a file|This variable is used together with GLOG_log_dir|Optional|1|
|GLOG_log_dir|MindSpore|For details about the function and usage, see [GLOG_log_dir](https://www.mindspore.cn/docs/programming_guide/en/r1.5/custom_debugging_info.html#log-related-environment-variables-and-configurations)|String|File path, which can be a relative path or an absolute path.|This variable is used together with GLOG_logtostderr|Optional|None|
|GLOG_log_max|MindSpore|For details about the function and usage, see [GLOG_log_max](https://www.mindspore.cn/docs/programming_guide/en/r1.5/custom_debugging_info.html#log-related-environment-variables-and-configurations)|Integer|>0|None |Optional|50|
|MS_SUBMODULE_LOG_v|MindSpore|For details about the function and usage, see [MS_SUBMODULE_LOG_v](https://www.mindspore.cn/docs/programming_guide/en/r1.5/custom_debugging_info.html#log-related-environment-variables-and-configurations)|Dict{String:Integer...}|LogLevel: 0-DEBUG, 1-INFO, 2-WARNING, 3-ERROR<br>SubModual: COMMON, MD, DEBUG, DEVICE, COMMON, IR...|None | Optional|None|
|GLOG_stderrthreshold|For details about the function and usage, see [GLOG_stderrthreshold](https://www.mindspore.cn/docs/programming_guide/en/r1.5/custom_debugging_info.html#log-related-environment-variables-and-configurations)|Integer|0-DEBUG <br>1-INFO <br>2-WARNING <br>3-ERROR|None|Optional|2
|OPTION_PROTO_LIB_PATH|MindSpore|Specifies the RPOTO dependent library path. |String|File path, which can be a relative path or an absolute path.|None|Optional|None|
|MS_RDR_ENABLE|MindSpore|Determines whether to enable running data recorder (RDR). If a running exception occurs in MindSpore, the pre-recorded data in MindSpore is automatically exported to assist in locating the cause of the running exception.|Integer|1:enables RDR <br>0:disables RDR|This variable is used together with MS_RDR_PATH|Optional|None|
|MS_RDR_PATH|MindSpore|Specifies the system path for storing the data recorded by running data recorder (RDR).|String|Directory path, which should be an absolute path.|This variable is used together with `MS_RDR_ENABLE=1`. The final directory for recording data is `${MS_RDR_PATH}/rank_${RANK_ID}/rdr/`. `RANK_ID` is the unique ID for multi-cards training, the single card scenario defaults to `RANK_ID=0`.|Optional|None|
|MS_OM_PATH|MindSpore|Specifies the save path for the file(analyze_fail.dat/*.npy) which is dumped if task exception or a compiling graph error occurred. The file will be saved to the path of `the_specified_directory/rank_${rank_id}/om/`.|String|File path, which can be a relative path or an absolute path.|None|Optional|None|
|MINDSPORE_DUMP_CONFIG|MindSpore|Specify the path of the configuration file that the [cloud-side Dump](https://www.mindspore.cn/docs/programming_guide/en/r1.5/dump_in_graph_mode.html#synchronous-dump) or the [device-side Dump](https://www.mindspore.cn/lite/docs/en/r1.5/use/benchmark_tool.html#dump) depends on.|String|File path, which can be a relative path or an absolute path.|None|Optional|None|
|MS_ENABLE_CACHE|MindData|Determines whether to enable the cache function for datasets during data processing to accelerate dataset reading and argumentation processing. |String|TRUE: enables the cache function during data processing. <br>FALSE: disables the cache function during data processing. | This variable is used together with MS_CACHE_HOST and MS_CACHE_PORT. |Optional|None|
|MS_CACHE_HOST|MindData|Specifies the IP address of the host where the cache server is located when the cache function is enabled. |String|IP address of the host where the cache server is located. | This variable is used together with MS_ENABLE_CACHE=TRUE and MS_CACHE_PORT. |Optional|None|
|MS_CACHE_PORT|MindData|Specifies the port number of the host where the cache server is located when the cache function is enabled. |String|Port number of the host where the cache server is located. | This variable is used together with MS_ENABLE_CACHE=TRUE and MS_CACHE_HOST. |Optional|None|
|DATASET_ENABLE_NUMA|MindData|Determines whether to enable numa bind feature. Most of time this configuration can improve performance on distribute scenario. |String| True: Enables the numa bind feature. |This variable is used together with libnuma.so. |Optional|None|
|OPTIMIZE|MindData|Determines whether to optimize the pipeline tree for dataset during data processing. This variable can improve the data processing efficiency in the data processing operator fusion scenario. |String|true: enables pipeline tree optimization. <br>false: disables pipeline tree optimization. |None |Optional|None|
|ENABLE_MS_DEBUGGER|Debugger|Determines whether to enable Debugger during training. |Boolean|1: enables Debugger. <br>0: disables Debugger. |This variable is used together with MS_DEBUGGER_HOST and MS_DEBUGGER_PORT. |Optional|None|
|MS_DEBUGGER_HOST|Debugger|Specifies the IP of the MindInsight Debugger Server. |String|IP address of the host where the MindInsight Debugger Server is located. |This variable is used together with ENABLE_MS_DEBUGGER=1 and MS_DEBUGGER_PORT.|Optional|None|
|MS_DEBUGGER_PORT|Debugger|Specifies the port for connecting to the MindInsight Debugger Server. |Integer|Port number ranges from 1 to 65536. |This variable is used together with ENABLE_MS_DEBUGGER=1 and MS_DEBUGGER_HOST.|Optional|None|
|MS_DEBUGGER_PARTIAL_MEM|Debugger|Determines whether to enable partial memory overcommitment. (Memory overcommitment is disabled only for nodes selected on Debugger.)|Boolean|1: enables memory overcommitment for nodes selected on Debugger. <br>0: disables memory overcommitment for nodes selected on Debugger. |None|Optional|None|
|GRAPH_OP_RUN|MindSpore|When running the pipeline large network model in task sink mode in graph mode, it may not be able to start as expected due to the limitation of stream resources. This environment variable can specify the execution mode of the graph mode. set this variable to 1, indicating that model will be executed in nontask sink mode which has performance degradation, otherwise executed in task sink mode. |Integer|0: task sink mode. <br>1: nontask sink mode. |None |Optional |None|