diff --git a/docs/faq/env_var.md b/docs/faq/env_var.md index 0664d7907415..d3ca753c615a 100644 --- a/docs/faq/env_var.md +++ b/docs/faq/env_var.md @@ -58,6 +58,15 @@ $env:MXNET_STORAGE_FALLBACK_LOG_VERBOSE=0 - Values: Int ```(default=5)``` - The percentage of GPU memory to reserve for things other than the GPU array, such as kernel launch or cudnn handle space. - If you see a strange out-of-memory error from the kernel launch, after multiple iterations, try setting this to a larger value. +* MXNET_GPU_MEM_POOL_TYPE + - Values: String ```(default=Naive)``` + - The type of memory pool. + - Choices: + - Naive: A simple memory pool that allocates memory for the exact requested size and cache memory buffers. If a buffered memory chunk matches the size of a new request, the chunk from the memory pool will be returned and reused. + - Round: A memory pool that always rounds the requested memory size and allocates memory of the rounded size. MXNET_GPU_MEM_POOL_ROUND_LINEAR_CUTOFF defines how to round up a memory size. Caching and allocating buffered memory works in the same way as the naive memory pool. +* MXNET_GPU_MEM_POOL_ROUND_LINEAR_CUTOFF + - Values: Int ```(default=24)``` + - The cutoff threshold that decides the rounding strategy. Let's denote the threshold as T. If the memory size is smaller than `2 ** T` (by default, it's 2 ** 24 = 16MB), it rounds to the smallest `2 ** n` that is larger than the requested memory size; if the memory size is larger than `2 ** T`, it rounds to the next k * 2 ** T. ## Engine Type