Skip to content

[重构IV] 重构 PyBind 绑定方法 以及 删除 memory_copy#29

Merged
aztice merged 27 commits intoByteRainTech:devfrom
aztice:iv
Dec 5, 2025
Merged

[重构IV] 重构 PyBind 绑定方法 以及 删除 memory_copy#29
aztice merged 27 commits intoByteRainTech:devfrom
aztice:iv

Conversation

@aztice
Copy link
Member

@aztice aztice commented Dec 5, 2025

PR For

Cpp

PR Types

Code Enhancements

Description

  1. PyBind 绑定被移动至 /include/pybind/*,并拆分文件以方便后续维护
  2. 移除 memory_copy 功能,这似乎并不好用 bro

pybind11.cpp 变得更简洁了哦~

#include <pybind11/numpy.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

#include "axono/pybind/core/tensor.h"
#include "axono/pybind/compute/operators/matmul.h"
#include "axono/pybind/compute/ops/relu.h"
#include "axono/pybind/compute/operators/add.h"

namespace py = pybind11;

PYBIND11_MODULE(axonolib, m) {
  m.doc() = "Axono Library";

  // 数据类型枚举
  py::enum_<axono::core::DataType>(m, "DataType")
      .value("INT8", axono::core::DataType::INT8)
      .value("INT16", axono::core::DataType::INT16)
      .value("INT32", axono::core::DataType::INT32)
      .value("INT64", axono::core::DataType::INT64)
      .value("FLOAT32", axono::core::DataType::FLOAT32)
      .value("FLOAT64", axono::core::DataType::FLOAT64)
      .value("BOOLEAN", axono::core::DataType::BOOLEAN)
      .export_values();

  // 状态枚举
  py::enum_<axono::core::Status>(m, "Status")
      .value("OK", axono::core::Status::OK)
      .value("INVALID_ARGUMENT", axono::core::Status::INVALID_ARGUMENT)
      .value("OUT_OF_MEMORY", axono::core::Status::OUT_OF_MEMORY)
      .value("UNSUPPORTED_TYPE", axono::core::Status::UNSUPPORTED_TYPE)
      .value("SHAPE_MISMATCH", axono::core::Status::SHAPE_MISMATCH)
      .value("INTERNAL_ERROR", axono::core::Status::INTERNAL_ERROR)
      .export_values();

  // 初始化 Tensor
  init_tensor(m);
  init_matmul_operations(m);
  init_add_operations(m);
  init_relu_operations(m);
}

@paddle-bot
Copy link

paddle-bot bot commented Dec 5, 2025

Thanks for your contribution!

@aztice aztice merged commit e00fbc5 into ByteRainTech:dev Dec 5, 2025
4 checks passed
@aztice aztice deleted the iv branch December 5, 2025 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant