int main(void)
{
int X = -1;
int host_A[8] = { 1, 2, 3, X, 4, 5, 6, X};
int * device_A;
cudaMalloc(&device_A, 8 * sizeof(int));
cudaMemcpy(device_A, host_A, 8 * sizeof(int), cudaMemcpyHostToDevice);
thrust::device_ptr<int> wrapped_device_A(device_A);
DeviceArray1dView linear_array(wrapped_device_A, wrapped_device_A + 8);
DeviceArray2dView A(2, 3, 4, linear_array);
cudaFree(device_A);
return 0;
}