xref: /aosp_15_r20/external/pytorch/c10/core/impl/DeviceGuardImplInterface.cpp (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #include <c10/core/impl/DeviceGuardImplInterface.h>
2 
3 namespace c10::impl {
4 
5 // NOLINTNEXTLINE(modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
6 std::atomic<const DeviceGuardImplInterface*>
7     device_guard_impl_registry[static_cast<size_t>(
8         DeviceType::COMPILE_TIME_MAX_DEVICE_TYPES)];
9 
DeviceGuardImplRegistrar(DeviceType type,const DeviceGuardImplInterface * impl)10 DeviceGuardImplRegistrar::DeviceGuardImplRegistrar(
11     DeviceType type,
12     const DeviceGuardImplInterface* impl) {
13   device_guard_impl_registry[static_cast<size_t>(type)].store(impl);
14 }
15 
16 } // namespace c10::impl
17