Help to select a Raspberry Pi for embedding Julia application

Actually I am trying Manjaro and I am just loving it!

As a former Arch user, I found it very easy to customize. Without any major problems, I could setup a chroot environment to compile the package rt-tests (which is not available in the official distribution) as well as the kernel with PREEMPT_RT patches (in this case, I used cross compilation).

When trying to precompile PrettyTables, it crashed due to the lack of RAM. I realized that it was much better to plug the SDCARD in a computer, perform a chroot, and install Julia together with PrettyTables there. It worked perfectly without needing that much RAM and the process seems much faster.

Currently, I am doing an endurance test by running a very small task every 5s to check the latency. The numbers are very good. The system is capable of keeping the task within 1ms. However, there are some spikes. I need to figure out what is causing those. Check this log:

2022-04-04T10:14:38.007           15.05   24.28
2022-04-04T10:14:43.006           13.99   24.28
2022-04-04T10:14:48.007           14.93   24.28
2022-04-04T10:14:53.007           14.97   24.28
2022-04-04T10:14:58.007           14.86   24.28
2022-04-04T10:15:03.007           14.76   24.28
2022-04-04T10:15:08.007           14.84   24.28
2022-04-04T10:15:13.007           14.83   24.08
2022-04-04T10:15:18.007           14.96   24.28
2022-04-04T10:15:23.007           15.03   24.28
2022-04-04T10:15:28.006           13.91   24.28
2022-04-04T10:15:33.007           14.85   24.28
2022-04-04T10:15:38.008           15.11   24.28
2022-04-04T10:15:43.006           13.99   24.28
2022-04-04T10:15:48.007           14.94   24.28
2022-04-04T10:15:53.007           14.97   24.28
2022-04-04T10:15:58.007           14.86   24.28
2022-04-04T10:16:03.007           14.86   24.28
2022-04-04T10:16:08.007           15.05   24.28
2022-04-04T10:16:13.006           13.93   24.28
2022-04-04T10:16:18.456          463.18   24.28
2022-04-04T10:16:23.006           13.89   24.28
2022-04-04T10:16:28.007           14.84   24.28
2022-04-04T10:16:33.007           14.81   24.28
2022-04-04T10:16:38.007           15.00   24.28
2022-04-04T10:16:43.007           14.88   24.28
2022-04-04T10:16:48.007           14.76   24.28
2022-04-04T10:16:53.007           14.86   24.28
2022-04-04T10:16:58.007           14.75   24.28
2022-04-04T10:17:03.007           14.66   24.28

Almost every time, the task is executed 5s ± 1ms from the reference. However, notice we have a single case in which it lost the deadline by almost 450 ms.

1 Like

Hey! I have a RaspberryPi 4B 8Gb Ram, with Manjaro + RT patches. If you want/need to make any testing/project on it I can give you access to it (try at least, depending on my ISP) or make them myself. :slight_smile:

(Edit:

I see this now. :sweat_smile:)

1 Like

I’m resurrecting this topic because like @Ronis_BR I’m trying to run Julia on a cubesat for GNSS signal processing

What is currently really painful for development is that time to first run for a Julia script too slow, even with Julia 1.9. PackageCompiler can’t run because my Raspberry Pi CM4 only have 2GB RAM and sysimage compiled on AWS Graviton can’t run on Rpi CM4.

After the script finished compiling it runs fast enough though, which is very good

Anyone have any suggestion?

Hi @minetest2048!

This project is currently on-hold. The last time I tried with the RPi Zero 2. My suggestion is to add your code to a package. Then, perform a Julia sysimg cross-compilation with that package to the RPi using a qemu emulation or something. Afterward, copy the image and try to run your software.

2 Likes