How to realize device specific memory allocation

device pinned memory should be different from the normal memory and thus belongs to a different runtime type code, similar to the CPUPinned for the case of CUDA.