empty_cuda: Add functions that don't depend on Tensor (#70616)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/70616
This adds `at::detail::empty_cuda` and
`at::detail::empty_strided_cuda` to complement the cpu and meta APIs.
These functions also include the `lazyInitCUDA` and `DeviceGuard` that
are missing from the `at::native::empty_cuda` interface and so is
safer to use.
Test Plan: Imported from OSS
Reviewed By: mruberry
Differential Revision: D33623677
Pulled By: ngimel
fbshipit-source-id: 1c38e84881083df8e025250388f0c8f392974b92
(cherry picked from commit 4bc48c7008acf2394db7d02dee69dd7a8cfb87b8)