cuDeviceTotalMem description a little bit ambigious (multi interpretable) CUDA Driver API DeviceTota

Hello I was reading this description:

"
//
// brief Returns the total amount of memory on the device
//
// Returns in bytes the total amount of memory available on the device
// dev in bytes.
//
// param bytes - Returned memory available on device in bytes
// param dev - Device handle
//
// returns
// CUDA_SUCCESS,
// CUDA_ERROR_DEINITIALIZED,
// CUDA_ERROR_NOT_INITIALIZED,
// CUDA_ERROR_INVALID_CONTEXT,
// CUDA_ERROR_INVALID_VALUE,
// CUDA_ERROR_INVALID_DEVICE
cuDeviceTotalMem
"

I now kinda wonder if this function returns “total memory” on the hardware.

Or if it returns “total memory available at the present time” (So if allocations happen it would become less).

To me it seems this is the “MemorySize” of the device.

So is it indeed the memory size of the device ? So it will in principle never change during the running of programs ?

Hello I was reading this description:

"
//
// brief Returns the total amount of memory on the device
//
// Returns in bytes the total amount of memory available on the device
// dev in bytes.
//
// param bytes - Returned memory available on device in bytes
// param dev - Device handle
//
// returns
// CUDA_SUCCESS,
// CUDA_ERROR_DEINITIALIZED,
// CUDA_ERROR_NOT_INITIALIZED,
// CUDA_ERROR_INVALID_CONTEXT,
// CUDA_ERROR_INVALID_VALUE,
// CUDA_ERROR_INVALID_DEVICE
cuDeviceTotalMem
"

I now kinda wonder if this function returns “total memory” on the hardware.

Or if it returns “total memory available at the present time” (So if allocations happen it would become less).

To me it seems this is the “MemorySize” of the device.

So is it indeed the memory size of the device ? So it will in principle never change during the running of programs ?