xref: /aosp_15_r20/external/pytorch/aten/src/ATen/xpu/detail/XPUHooks.h (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #pragma once
2 
3 #include <ATen/detail/XPUHooksInterface.h>
4 
5 namespace at::xpu::detail {
6 
7 // The real implementation of XPUHooksInterface
8 struct XPUHooks : public at::XPUHooksInterface {
XPUHooksXPUHooks9   XPUHooks(at::XPUHooksArgs) {}
10   void initXPU() const override;
11   bool hasXPU() const override;
12   std::string showConfig() const override;
13   int32_t getGlobalIdxFromDevice(const at::Device& device) const override;
14   Generator getXPUGenerator(DeviceIndex device_index = -1) const override;
15   const Generator& getDefaultXPUGenerator(
16       DeviceIndex device_index = -1) const override;
17   Device getDeviceFromPtr(void* data) const override;
18   c10::DeviceIndex getNumGPUs() const override;
19   DeviceIndex current_device() const override;
20   void deviceSynchronize(DeviceIndex device_index) const override;
21   Allocator* getPinnedMemoryAllocator() const override;
22   bool isPinnedPtr(const void* data) const override;
23   bool hasPrimaryContext(DeviceIndex device_index) const override;
24 };
25 
26 } // namespace at::xpu::detail
27