cl_mem pinned memory?

Is the cl_mem structure returned by “clCreateBuffer” contiguous memory?

Because, the flag “CL_MEM_USE_HOST_PTR” says kernels can write into this memory. But implementations can also cache this.

CAn some1 throw light on the implementation semantics?