# \[Project Announcement\] numgraph: A High-Performance C++ Numerical Core for Learnable Graphs (Looking for Maintainers!)

**URL:** <https://discuss.pytorch.org/t/project-announcement-numgraph-a-high-performance-c-numerical-core-for-learnable-graphs-looking-for-maintainers/225463>\
**Category:** Uncategorized\
**Created:** [September 29, 2026, 10:05am UTC](https://discuss.pytorch.org/t/project-announcement-numgraph-a-high-performance-c-numerical-core-for-learnable-graphs-looking-for-maintainers/225463 "2026-09-29T10:05:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sundaram](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/sundaram/32/79642_2.png) [@sundaram](https://discuss.pytorch.org/u/sundaram)\
**Post date:** [September 29, 2026, 10:05am UTC](https://discuss.pytorch.org/t/project-announcement-numgraph-a-high-performance-c-numerical-core-for-learnable-graphs-looking-for-maintainers/225463/1 "2026-09-29T10:05:30Z")

</div>

Hi everyone,

I am building **`numgraph`** , a lightweight and high-performance **numerical core for learnable graphs** , designed with a C++ backend and clean Python bindings to handle complex graph-based tensor operations and deep learning workflows efficiently.

The core goal is to provide fast, modular primitives for graph representation learning, spatial/relational computations, and seamless integration with modern deep learning stacks like PyTorch.

As the project moves into active development, I am looking for passionate co-maintainers and contributors to help build out:

- **C++ Core & Bindings:** Optimizing numerical routines and writing robust Python/C++ extension bindings.

- **Graph Primitives:** Developing efficient algorithms for learnable graph structures and operations.

- **Ecosystem Integration:** Benchmarking, testing pipelines, and ensuring smooth compatibility with PyTorch modules.

If you love systems programming, C++/Python interoperability, or graph machine learning, I would love to collaborate with you to shape this from the ground up!

- **GitHub Organization / Repo:** [numgraph · GitHub](https://github.com/orgs/numgraph)

- **How to Contribute:** Check out the repository, read the roadmap in the README, or drop an issue/PR.

Looking forward to building `numgraph` together with the community!

---

<div class="post-metadata">

**Author:** ![mira\_tokarev](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/mira_tokarev/32/80077_2.png) [@mira\_tokarev](https://discuss.pytorch.org/u/mira_tokarev)\
**Post date:** [September 30, 2026, 1:03pm UTC](https://discuss.pytorch.org/t/project-announcement-numgraph-a-high-performance-c-numerical-core-for-learnable-graphs-looking-for-maintainers/225463/2 "2026-09-30T13:03:02Z")

</div>

This looks promising, especially the focus on keeping the Python bindings clean while the graph primitives evolve. A small set of end-to-end benchmarks (including autograd and CPU/GPU transfer costs) would make the trade-offs very easy to evaluate. I’d also be interested in seeing how you plan to handle ABI compatibility as the C++ core changes.

---

<div class="post-metadata">

**Author:** ![sundaram](https://discuss.pytorch.org/user_avatar/discuss.pytorch.org/sundaram/32/79642_2.png) [@sundaram](https://discuss.pytorch.org/u/sundaram)\
**Post date:** [September 30, 2026, 3:51pm UTC](https://discuss.pytorch.org/t/project-announcement-numgraph-a-high-performance-c-numerical-core-for-learnable-graphs-looking-for-maintainers/225463/3 "2026-09-30T15:51:05Z")

</div>

Thanks for the insights! We’re actively building out the C++ backend and benchmark suite today. If you’re interested in shaping the architecture or co-maintaining numgraph, we’d love to have you on board! If you want to start contributing, check this link:

> <https://github.com/numgraph/numgraph/issues/1>
>
> \### Summary
> To support C++ core development in \`csrc/\` while maintaining Python …binding stability, we need to design and implement a clean C ABI boundary using \`extern "C"\` wrappers.
> 
> \### Objectives
> \- Define an \`extern "C"\` API wrapper around low-level C++ graph primitives to prevent name mangling and compiler ABI breakage across toolchains.
> \- Ensure PyTorch C++ / ATen extension bindings consume the C ABI interface rather than raw C++ classes directly.
> \- Export clean C macros/symbols for cross-platform dynamic linking (Windows/Linux/macOS).
> 
> \### Implementation Details
> 1. Create \`csrc/include/numgraph\_abi.h\` defining export macros and C-compatible structs/functions.
> 2. Wrap \`LGraph\` C++ kernel execution routines behind the ABI layer in \`csrc/numgraph\_abi.cpp\`.
> 3. Update \`csrc/bindings.cpp\` (pybind11 / PyTorch C++ extension) to consume the C API wrappers.
> 
> \### References & Background
> Suggested during framework community feedback regarding dynamic C++ core evolution and long-term ABI stability.
