Allow CUDA host device functions with two code paths using CUDA_ARCH to differentiate between code path being compiled.
For example,
__host__ __device__ void host_device_function(void) {
#ifdef __CUDA_ARCH__
device_only_function();
#else
host_only_function();
#endif
}