文档
注册

概述

本章节包含Ascend Extension for PyTorch中提供的C++拓展接口,供深度优化使用。

表1 C++ API

API名称

说明

(beta)torch_npu::init_npu

初始化npu设备。

(beta)torch_npu::finalize_npu

反初始化NPU设备,即进行NPU资源释放。

(beta)torch::npu::synchronize

npu设备同步接口,与void torch::cuda::synchronize(int64_t device_index = -1)相同。

(beta)c10::npu::current_device

获取当前npu设备,返回值类型DeviceIndex,与c10::DeviceIndex c10::cuda::current_device()相同。

(beta)at::Device

在安装torch_npu后,Device类型新增支持npu字段,可以从字符串描述中指示设备。

(beta)struct c10_npu::NPUEvent

NPUEvent是一个事件类,实现了npu设备事件管理的相关功能,可用于监视设备的进度、精确测量计时以及同步NPU流。

(beta)class at_npu::NPUGeneratorImpl

NPUGeneratorImpl是一个随机数生成器类,实现了npu设备随机数的相关功能,可用于众多依赖随机数的方法。

(beta)at_npu::detail::getDefaultNPUGenerator

npu设备默认生成器获取,返回值类型at::Generator常量引用,与at::Generator& at::cuda::detail::getDefaultCUDAGenerator(c10::DeviceIndex device_index = -1)相同。

(beta)at_npu::detail::createNPUGenerator

npu设备默认生成器创建,返回值类型at::Generator,与at::Generator at::cuda::detail::createCUDAGenerator(c10::DeviceIndex device_index = -1)相同。

(beta)class c10_npu::NPUStream

NPUStream是一个npu流类,实现了npu流管理的相关功能,是属于npu设备的线性执行序列。

(beta)c10_npu::getNPUStreamFromPool

从npu流池中获得一条新流,返回值类型NPUStream,与c10::CUDA::CUDAStream c10::CUDA::getStreamFromPool(const bool isHighPriority = false, c10::DeviceIndex device = -1)相同。

(beta)c10_npu::getDefaultNPUStream

获取默认npu流,返回值类型NPUStream,与c10::CUDA::CUDAStream c10::CUDA::getDefaultCUDAStream(c10::DeviceIndex device_index = -1)相同。

(beta)c10_npu::getCurrentNPUStream

获取当前npu流,返回值类型NPUStream,与c10::CUDA::CUDAStream c10::CUDA::getCurrentCUDAStream(c10::DeviceIndex device_index = -1)相同。

(beta)c10_npu::setCurrentNPUStream

设置当前npu流,与void c10::CUDA::setCurrentCUDAStream(c10::CUDA::CUDAStream stream)相同。

(beta)class at_npu::native::OpCommand

OpCommand是一个封装下层算子调用的类,实现了npu设备下层算子调用的相关功能。

(beta)struct c10_npu::NPUHooksInterface

NPUHooksInterface是一个Hook接口类,提供了npu Hook的相关接口。

(beta)struct c10_npu::NPUHooksArgs

NPUHooksArgs是一个Hook参数类,提供了npu Hook的相关参数。

(beta)c10_npu::device_count

npu设备数量获取,返回值类型DeviceIndex,与c10::DeviceIndex c10::cuda::device_count()相同。

(beta)c10_npu::GetDevice

npu设备id获取,返回值类型aclError,与cudaError_t c10::cuda::GetDevice(int *device)相同。

(beta)c10_npu::SetDevice

npu设备设置,返回值类型aclError,与cudaError_t c10::cuda::GetDevice(int device)相同。

(beta)c10_npu::current_device

npu设备id获取,返回值类型DeviceIndex,为获取到的设备id,与c10::DeviceIndex c10::cuda::current_device()相同,与c10_npu::GetDevice主要区别是增加了错误检查。

(beta)c10_npu::set_device

npu设备设置,与void c10::cuda::set_device(c10::DeviceIndex device)相同,与c10_npu::SetDevice主要区别是增加了错误检查。

(beta)c10_npu::warning_state

获取当前同步时警告等级,返回值类型WarningState为枚举类,包含无警告L_DISABLED、警告L_WARN和报错L_ERROR,与WarningState& c10::cuda::warning_state()相同。

(beta)c10_npu::warn_or_error_on_sync

npu同步时警告,无返回值,根据当前警告等级进行报错或警告,与void c10::cuda::warn_or_error_on_sync()相同。

(beta)at_npu::native::get_npu_format

获取npu tensor格式信息,返回值类型int64_t,表示获取的npu tensor格式信息。

(beta)at_npu::native::get_npu_storage_sizes

获取npu tensor的内存大小,返回值类型vector<int64_t>,表示获取的npu tensor内存大小。

(beta)at_npu::native::npu_format_cast

npu tensor格式转换,返回值类型Tensor,表示转换后的tensor。

(beta)at_npu::native::empty_with_format

获取指定格式的npu 空tensor,返回值类型Tensor,表示获取的空tensor。

(beta)c10_npu::c10_npu_get_error_message

获取报错信息,返回值类型char *,表示获取到的报错信息字符串。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词