How to generate SampleUniform Tensor on GPU backend

I want to generate SampleUniform Tensor on GPU backend with TVM, but I find that it has not been realized.

void SampleUniform(DLTensor* data, float low, float high) {
CHECK_GT(high, low) << “high must be bigger than low”;
CHECK(data->strides == nullptr);

DLDataType dtype = data->dtype;
int64_t size = 1;
for (int i = 0; i < data->ndim; ++i) {
  size *= data->shape[i];
}

CHECK(dtype.code == kDLFloat && dtype.bits == 32 && dtype.lanes == 1);

if (data->ctx.device_type == kDLCPU) {
  std::uniform_real_distribution<float> uniform_dist(low, high);
  std::generate_n(static_cast<float*>(data->data), size, [&] () {
    return uniform_dist(rnd_engine_);
  });
} else {
  LOG(FATAL) << "Do not support random.uniform on this device yet";
}

}

Have anyone come across similar problems?
Could you give me some suggestions on how to relaize the ELSE part(data->ctx.device_type == kDLGPU)?
Thanks a lot
@nhynes
@tqchen