virtual bool supports_double_precision() const =0
virtual size_t total_memory_bytes() const =0
virtual void deallocate(void *pointer)=0
virtual void synchronize()=0
virtual void * allocate_unified(size_t size_bytes)=0
virtual std::string device_name() const =0
virtual ~GPUDeviceBackend()=default