# What is the current state Numba Arm support?

**URL:** <https://numba.discourse.group/t/what-is-the-current-state-numba-arm-support/103>\
**Category:** Numba\
**Created:** [July 16, 2020, 11:10am UTC](https://numba.discourse.group/t/what-is-the-current-state-numba-arm-support/103 "2020-07-16T11:10:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hugohadfield](https://yyz2.discourse-cdn.com/free1/user_avatar/numba.discourse.group/hugohadfield/32/54_2.png) [@hugohadfield](https://numba.discourse.group/u/hugohadfield)\
**Post date:** [July 16, 2020, 11:10am UTC](https://numba.discourse.group/t/what-is-the-current-state-numba-arm-support/103/1 "2020-07-16T11:10:15Z")

</div>

Hi everyone,

I’m going to be at Arm (virtually) for the next 3 months and one of the projects that I’ll be having a go at is getting the [clifford](https://github.com/pygae/clifford) library running on some Arm processors and different bits of hardware eg. [Nvidia Jetson Nano](https://www.nvidia.com/en-gb/autonomous-machines/embedded-systems/jetson-nano/). Clifford relies very heavily on Numba to make it fast and I am presuming (I haven’t tried it out yet) that this is likely to cause a bit of a headache when trying to get things running. So generally I have a few questions:

What is the current state of numba support for Arm processors?  
Has anyone attempted to get numba working on the Jetson Nano/other hardware with Arm processors?  
Given the Jetson Nano has a Nvidia GPU is it likely that `numba.cuda` will work?  
Is there anything that Arm could do that would help Numba (or its dependencies) to run more efficiently on its hardware?  
What other platforms might make a good testbed for Numba + Arm interoperability?

Hugo

---

<div class="post-metadata">

**Author:** ![stuartarchibald](https://yyz2.discourse-cdn.com/free1/user_avatar/numba.discourse.group/stuartarchibald/32/10_2.png) [@stuartarchibald](https://numba.discourse.group/u/stuartarchibald)\
**Post date:** [July 16, 2020, 5:05pm UTC](https://numba.discourse.group/t/what-is-the-current-state-numba-arm-support/103/2 "2020-07-16T17:05:28Z")

</div>

Hi Hugo,

Some quick replies, expect others may respond too, but to get you started…

> I’m going to be at Arm (virtually) for the next 3 months

Excellent!

> and one of the projects that I’ll be having a go at is getting the [clifford](https://github.com/pygae/clifford) library running on some Arm processors and different bits of hardware eg. [Nvidia Jetson Nano](https://www.nvidia.com/en-gb/autonomous-machines/embedded-systems/jetson-nano/). Clifford relies very heavily on Numba to make it fast and I am presuming (I haven’t tried it out yet) that this is likely to cause a bit of a headache when trying to get things running. So generally I have a few questions:  
> What is the current state of numba support for Arm processors?

Should work fine, the Numba build farm builds and tests on a Jetson Tx2 and RPi4. I use a RPi3 locally to debug as needed. Conda packages are available here: [https://anaconda.org/numba/numba/](https://anaconda.org/numba/numba/)

Docs on installing for `ARMv7l`: [Installation — Numba 0.50.1 documentation](http://numba.pydata.org/numba-doc/latest/user/installing.html#installing-on-linux-armv7-platforms)

Docs on installing for `AArch64`: [Installation — Numba 0.50.1 documentation](http://numba.pydata.org/numba-doc/latest/user/installing.html#installing-on-linux-armv8-aarch64-platforms)

> Has anyone attempted to get numba working on the Jetson Nano/other hardware with Arm processors?

Yes, as above. There’s also an `ARM` label on the issue tracker which may hint at what others have tried: [Issues · numba/numba · GitHub](https://github.com/numba/numba/issues?q=is%3Aissue+label%3AARM)

> Given the Jetson Nano has a Nvidia GPU is it likely that `numba.cuda` will work?

Highly likely.

> Is there anything that Arm could do that would help Numba (or its dependencies) to run more efficiently on its hardware?

Can’t think of anything immediately, most of Numba’s efficiency problems stem from areas higher up than LLVM/hardware.

> What other platforms might make a good testbed for Numba + Arm interoperability?

It’d be interesting to see how large core count ARM machines perform, this is something we’ve not tested on.

–  
stuart

---

<div class="post-metadata">

**Author:** ![sseibert](https://yyz2.discourse-cdn.com/free1/user_avatar/numba.discourse.group/sseibert/32/744_2.png) [@sseibert](https://numba.discourse.group/u/sseibert)\
**Post date:** [July 16, 2020, 7:12pm UTC](https://numba.discourse.group/t/what-is-the-current-state-numba-arm-support/103/3 "2020-07-16T19:12:47Z")

</div>

Last time I tried (2 years ago), the CUDA support did work (with a few exceptions):

> <https://github.com/numba/numba/issues/2849>
>
> Much to my surprise, Numba's CUDA target mostly "just works" on the Tegra TX2 (there are some CPU failures that I'll...

Note that things should be much easier to test now than back in 2018. We have conda packages now, and Numba should be able to detect the system installed CUDA libraries without setting weird environment variables. (Worst case, you might need to set $CUDA\_HOME.)

---

<div class="post-metadata">

**Author:** ![hugohadfield](https://yyz2.discourse-cdn.com/free1/user_avatar/numba.discourse.group/hugohadfield/32/54_2.png) [@hugohadfield](https://numba.discourse.group/u/hugohadfield)\
**Post date:** [July 17, 2020, 8:48am UTC](https://numba.discourse.group/t/what-is-the-current-state-numba-arm-support/103/4 "2020-07-17T08:48:20Z")

</div>

Fantastic, thank you @stuartarchibald and @sseibert for all the information 🙂 It’s really encouraging to hear that it is likely to be a pretty painless process to get our library working on these boards, will report back if I run into any nasty issues along the way!
