#pragma once
#include <c10/core/Device.h>
#include "torch_npu/csrc/core/npu/NPUMacros.h"
namespace torch_npu {
TORCH_NPU_API void init_npu(const c10::DeviceIndex device_index = 0);
TORCH_NPU_API void init_npu(const std::string& device_str);
TORCH_NPU_API void init_npu(const at::Device& device);
TORCH_NPU_API void finalize_npu();
}
namespace torch {
namespace npu {
TORCH_NPU_API void synchronize(int64_t device_index = -1);
}
}
namespace c10 {
namespace npu {
C10_NPU_API DeviceIndex current_device();
}
}