# New backend development for Ascend NPU

**URL:** <https://community.konduit.ai/t/new-backend-development-for-ascend-npu/3308>\
**Category:** ND4J\
**Created:** [January 7, 2025, 8:53am UTC](https://community.konduit.ai/t/new-backend-development-for-ascend-npu/3308 "2025-01-07T08:53:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![luentong](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/luentong/32/1341_2.png) [@luentong](https://community.konduit.ai/u/luentong)\
**Post date:** [January 7, 2025, 8:53am UTC](https://community.konduit.ai/t/new-backend-development-for-ascend-npu/3308/1 "2025-01-07T08:53:02Z")

</div>

Hi! I’m new to DL4j. Our Ascend NPU team wants to add support for DL4j. So far, I think the way is doing our own NPU implementation of backend, just like nd4j-tvm or nd4j-tensorflow. wondering what kinds documents or collaboration readily available for us? After the backend code is done, will it get merged to the official repo? Thank you

---

<div class="post-metadata">

**Author:** ![agibsonccc](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/agibsonccc/32/697_2.png) [@agibsonccc](https://community.konduit.ai/u/agibsonccc)\
**Post date:** [January 7, 2025, 9:47am UTC](https://community.konduit.ai/t/new-backend-development-for-ascend-npu/3308/2 "2025-01-07T09:47:58Z")

</div>

@luentong that’s great! I’m happy to help you. I would start by looking at libnd4j a fairly standard cmake project:

> **[deeplearning4j/libnd4j at master · deeplearning4j/deeplearning4j](https://github.com/deeplearning4j/deeplearning4j/tree/master/libnd4j)**
>
> Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running mat...

After you add the relevant c++ code in a PR we can discuss it. Usually we have generic code and “helpers” optimized for specific processors. You can find those here:

> **[deeplearning4j/libnd4j/include/ops/declarable/platform at master ·...](https://github.com/deeplearning4j/deeplearning4j/tree/master/libnd4j/include/ops/declarable/platform)**
>
> Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running mat...

You can get an idea to add specific kernels there.

After that I can guide on ou the java specifics but since the java bindings are just bindings those would come later.
