AMD OpenCL limits a single buffer allocation (CL_DEVICE_MAX_MEM_ALLOC_SIZE) to 50% of total memory.
So on a 8Gb card there is only 4Gb available for allocation in a single chunk.
This is very sad for many applications, for example Ethereum DAG buffer is approaching 4Gb. This will prevent not only all 4Gb AMD cards, but also the 8Gb cards from mining. CUDA is not affected by this.
Some magic environment variables worked sometime in the past: