77 Star 595 Fork 1.1K

Ascend/pytorch

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
OverflowUtils.cpp 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
#include <ATen/ATen.h>
#include "torch_npu/csrc/core/OverflowUtils.h"
#include "torch_npu/csrc/core/npu/sys_ctrl/npu_sys_ctrl.h"
#include "op_plugin/OpInterface.h"
namespace torch_npu {
namespace utils {
OverflowUtil::OverflowUtil() {}
OverflowUtil::~OverflowUtil() {}
void OverflowUtil::EnableOverflowNpu() {
auto result = c10_npu::NpuSysCtrl::GetInstance().OverflowSwitchEnable();
return;
}
bool OverflowUtil::CheckOverflowNpu() {
auto options = at::TensorOptions(c10::DeviceType::PrivateUse1).dtype(at::kFloat);
at::Tensor tmp = at::empty({8}, options);
auto floatStatus = op_plugin::npu_alloc_float_status(tmp);
auto result = op_plugin::npu_get_float_status(floatStatus);
if (result.cpu()[0].item().toInt() != 0) {
return true;
}
return false;
}
void OverflowUtil::ClearOverflowNpu() {
auto options = at::TensorOptions(c10::DeviceType::PrivateUse1).dtype(at::kFloat);
at::Tensor tmp = at::empty({8}, options);
auto floatStatus = op_plugin::npu_alloc_float_status(tmp);
auto result = op_plugin::npu_clear_float_status(floatStatus);
return;
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/ascend/pytorch.git
git@gitee.com:ascend/pytorch.git
ascend
pytorch
pytorch
1d93e12c9bfbbfa9472783aa8bb10badbc51c417

搜索帮助