::clCreateBuffer, devide alloc?

Hi all. I’m new to OpenCL.
I am using OpenCL on the ARM-Mali board which have 2G main ram and 4G GPU ram.
I want to create buffer of 3.5G with clCreateBuffer() function.
But , as I know, clCreateBuffer first alloc at main memory and copy it GPU memory.
To avoid copy, I tryed to use SVM but I could just alloc 25%(1G) of GPU ram(4G).
Is there any way to create buffer of 3.5G?
PS : Is it possible to devide alloc of 1G 4times and merge it?