I'm using W7000 on Windows 7-64. Why clinfo shows 3GB global memory for 4GB W7000 card? What could be the reason? Should not clinfo show hardware specs?
By default, the OpenCL runtime exposes a fraction (say 50-75%) of the physical GPU memory to OpenCL™ applications. Certain developers may require accessing additional physical memory in order to optimize their applications when running on the GPU. For developers who wish to experiment with increasing the amount of physical memory that is accessible to their OpenCL™ applications, the default setting can be changed by setting the environment variable GPU_MAX_HEAP_SIZE to the percentage of total GPU memory that should be exposed.
For example, if you wanted to set the exposed GPU physical memory size to 80%, you need to the GPU_MAX_HEAP_SIZE environment variable to 80. GPU_MAX_HEAP_SIZE must be set to an integer value between 0 and 100, inclusive.
It should be noted that changing the default setting for exposed GPU physical memory to the OpenCL™ application may result in unexpected behavior. This preview feature is provided solely to allow developers to experiment with accessing a larger portion of the GPU physical memory than is normally exposed.
Also, it is noted that the behavior of this environmental setting varies somewhat with devices and drivers. It may happen that it is not possible to get 100% of physical GPU using this variable for some environments.