Is numba supported?

  1. I would like to use numba (JIT, LLVM) in PX2 to speed up our python script in CPU of PX2. Does PX2 support numba? Need I install some software to get numba?
  2. Does the numba (JIT, LLVM) work in GPU of PX2? How can I make it work?

Dear @mpescho,
I do not see aarch64 in supported list at 1.3. Installation — Numba 0.41.0 documentation

@SivaRamaKrishnaNV Dear Siva, Thanks a lot
Could you see this link below? There is " Installing on Linux ARMv8 (AArch64) Platforms".
Installation — Numba 0.50.1 documentation

My further question is whether there is conflict between conda and ROS. Because we use ROS.

Regards,
Sam

Hi @mpescho,
I wasn’t familiar with numba, so I tried to install it on the Drive PX2.

  • the declaration on the numba website is that it works and tested on aarch64 (specifically on Jetson platfrom): Installation — Numba 0.50.1 documentation
    but what they don’t specify is the OS (or jetpack) that it was tested with.
  • if you try to install it on your PX2 that has ubuntu 16 (the latest release for PX2 delivers our Vibrante OS version which is based on ubuntu 16) then only the version 0.47 is installable on the platform, the command is: pip3 install numba==0.47

but eventually the installation will still fail as one of the dependencies is llvm v7 (or higher) and that is only supported on ubuntu 18 OS and later.
the first version of numba that supports NVIDIA platforms is 0.45, and that is built for ubuntu 18 (because the same dependencies exist)

so for my understanding numba will not work on the PX2, but I would suggest you post this question on a numba related forum to get more accurate support.

to your second question: conda is just like docker for python, it creates a protective isolated environment for python installations and execution. you can install anything with conda or directly on your system. (as can be seen in the numba documentation too)
and this separate workflow to installing and using ROS.

Thanks a lot. @shayNV
In the link below you’ve given, there is “We build and test conda packages on the NVIDIA Jetson TX2”.
http://numba.pydata.org/numba-doc/latest/user/installing.html?highlight=gpu

TX2 and PX2 have the same CPU core (2 Denver and 4 Cortex A57) and similar OS(Ubuntu 16). Moreover, numba(JIT) is the important feature to speed up. So possibly, numba can run on PX2.

I’ve installed llvmv1 on PX2, that is, llvm v7 can be installed on ubuntu16.04. I’ll continue to verify namba in PX2.

Dear @mpescho,

that is right that the HW is similar between Jetson TX2 and PX2.
the Jetson and the Drive product family has a completely different software stack.

The latest jetpack (4.4) for jetson (also TX2) includes OS based on Ubuntu 18.
the Jetson platform is supported on new releases of Jetpack and unfortunately there are no new releases targeted for DRIVE PX2.

thanks for the update, I would appreciate an update here if you are able to install NUMBA or not on the PX2 and the steps.

thanks,
Shay

Hi @mpescho,
any news on installing NUMBA on Drive PX2?
if so, please share it.
thanks

@shayNV numba can work in PX2 and speed up from 10Hz to 80Hz for my module. My share is below.

  1. Numba Dependencies
  • funcsigs ==1.0.2
  • enum34 = 1.1.10
  • six == 1.12.0
  • numpy ==1.16.3
  • colorama == 0.3.9
  • llvm == 7.0.0 [Installation instructions below]
  • llvmlite == 0.30.0 [Installation instructions below]
  1. Install LLVM 7.0.0 from source code
    https://releases.llvm.org
    #check installation with, which llvm-config
    /usr/bin/llvm-config --version
  2. Install llvmlite-0.30.0 from source code
    llvmlite · PyPI
  3. install other dependencies by pip
  4. Install numba-0.43.1 from source code
    numba · PyPI

Hope it can help you and other fiends

1 Like