CuPy and Jetson Nano

Hello,

Is CuPy library usable with Jetson Nano?

Here is the link to CuPy for information :

https://docs-cupy.chainer.org/en/stable/index.html

Does anyone have experience with CuPy?

Can Cupy be used instead of numpy with opencv routines ?

Many thanks for your highlights.

Alain

Hi,

Sorry that we don’t have any experience with CuPy.
But pyCUDA works well on Jetson Nano. Is it a possible option for you?

$ sudo apt-get install python3-pip
$ pip3 install pycuda --user

Thanks.

Hello,

I have just installed pyCUDA. Installation is ok but when i try to run a pyCUDA example, i have many issues i don’t understand yet so i have to search for solutions with those issues. I need a bit time for this.

For now, i try to evaluate Cuda Python libraries with my project (making real time filtering of night sky survey). I many use opencg routines and numpy. That’s why i am looking for informations CuPy.

Alain

Well, for now, it seems CuPy can’t be installed with Jetson Nano.

If anyone have any experience with Cupy and Jetson Nano, he is welcome here !

Alain

Hi,

You can try to install cupy from the source:
[url]Installation — CuPy 11.1.0 documentation

Please remember that NCCL is not available on Jetson Nano.
So you will need to disable the option before installing.

Thanks.

Many thx AastaLLL for your reply.

I will try this.

For now, i have just succeed to install PyCuda and i will try first to see if it can match my needs.

Have a nice day.

Alain

I tested that it builds and adds an array, so it would seem to work initially at least. I believe I let pip so the hard work of building it. You might try ‘pip install cupy’ to build and install it from source.

Hi buddy,

Thanks for the information. I just wanted to inquire about the installation time for the same.

Hello did you have any performance increase with cupy? I have tested it and cupy is slower than numpy
I tested the following code:

import numpy as np
import cupy as cp
import time
s = time.time()
x_cpu = np.ones((100,100,100))
e = time.time()
print(e - s)
s = time.time()
x_gpu = cp.ones((100,100,100))
cp.cuda.Stream.null.synchronize()
e = time.time()
print(e - s)

I made some tests with cupy but only with my laptop. It was more than cupy tests because i also wanted to test opencv cuda improvements.

To be honest, i did not see any improvements with cupy and and opencv with cuda routines.

I think numpy is really good and i also think cupy like libraries can be a bit useless because of the memory management between CPU and GPU. GPU can bring some improvements but memory transfers between CPU and GPU can make you loose any improvement.

For now, the only thing that brings me real improvement is PyCuda.

Alain

1 Like