.. _subsec:environment_variables: Environment Variables ===================== NVSHMEM provides a set of environment variables that allows users to configure the NVSHMEM implementation and receive information about the implementation. .. c:var:: NVSHMEM_VERSION *Value*: Any Print the library version at start-up .. c:var:: NVSHMEM_INFO *Value*: Any Print helpful text about all these environment variables .. c:var:: NVSHMEM_SYMMETRIC_SIZE *Value*: Non-negative integer or floating point value with an optional character suffix Specifies the size (in bytes) of the symmetric heap memory per PE. The resulting size is implementation-defined and must be least as large as the integer ceiling of the product of the numeric prefix and the scaling factor. The allowed character suffixes for the scaling factor are as follows: - k or K multiplies by :math:`2^{10}` (kibibytes) - m or M multiplies by :math:`2^{20}` (mebibytes) - g or G multiplies by :math:`2^{30}` (gibibytes) - t or T multiplies by :math:`2^{40}` (tebibytes) For example, string “20m” is equivalent to the integer value 20971520, or 20 mebibytes. Similarly the string “3.1M” is equivalent to the integer value 3250586. Only one multiplier is recognized and any characters following the multiplier are ignored, so “20kk” will not produce the same result as “20m”. Usage of string “.5m” will yield the same result as the string “0.5m”. An invalid value for ``NVSHMEM_SYMMETRIC_SIZE`` is an error, which the NVSHMEM library shall report by either returning a nonzero value from ``nvshmem_init_thread`` or causing program termination. .. include:: ../env-nvshmem.in