文档
注册

函数:ptr_to_numpy

C函数原型

Python函数

output = acl.util.ptr_to_numpy(ptr, shape, type)

函数功能

将void*数据转换为numpy数组,可以使python代码直接访问。

输入说明

ptr:int,C中的指针,是能够访问的数据的首地址。

shape:tuple,需要构造的numpy的shape。

type:int,表示ptr中数据的数据类型。

下面举例一些常用的类型(未列出类型详见Numpy手册,NumPy C-API中的数据类型API,以下列出类型以手册中数据为准):

  • 0:NPY_BOOL
  • 1:NPY_BYTE,NPY_INT8
  • 2:NPY_UINT8
  • 3:NPY_SHORT,NPY_INT16
  • 4:NPY_USHORT,NPY_UINT16
  • 5:NPY_INT,NPY_INT32
  • 6:NPY_UINT,NPY_UINT32
  • 7:NPY_INT64
  • 8:NPY_UINT64
  • 9:NPY_LONGLONG
  • 10:NPY_ULONGLONG
  • 11:NPY_FLOAT32
  • 12:NPY_DOUBLE
  • 23:NPY_HALF,NPY_FLOAT16

返回值说明

output:numpy类型。

约束说明

注意事项

  • 该接口即将废弃,建议使用acl.util.ptr_to_bytes接口。
  • 修改示例如下:
    np_arr_out = acl.util.ptr_to_numpy(host_ptr, np_arr_in.shape, NPY_INT32)

    修改后使用:

    bytes_out = acl.util.ptr_to_bytes(ptr, size)
    np_arr_out = np.frombuffer(bytes_out, dtype=np.int32).reshape(np_arr_in.shape)
  • 若要继续使用该接口,需要运行环境为python≥3.8且numpy≥1.22.0。
搜索结果
找到“0”个结果

当前产品无相关内容

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