Support for 32-bit Raspberry Pi OS #686
Replies: 3 comments 8 replies
-
Hi @saman-aghazadeh, Although we mainly focus on 64-bit ARM CPU's, LCE does have 32-bit optimized kernels courtesy of this community PR: #432. Could you share some more details about your model and about the latencies you obtain? Then we might be able to hunt down the problem.
The code for matrix-matrix multiplication is written in assembly and uses instructions that are only available when the CPU is running in 64-bit mode. Even if a CPU supports 64-bit mode it can still run in 32-bit mode when a 32-bit OS is used. compute-engine/larq_compute_engine/core/bgemm/kernels_aarch64.h Lines 105 to 118 in 664aa67 |
Beta Was this translation helpful? Give feedback.
-
For gender model we are using the xceptionnet architecture For the larq version I replaced the conv2d and the separableconv2d layers with quant larq versions( For the exact code see attached file). Benchmarks for 32 bit 4-core raspberry pi (CPU supports 64-bit, but the OS is 32-bit Raspbian):
|
Beta Was this translation helpful? Give feedback.
-
Hi @Tombana . I am also trying to use separable conv2d operations , but when I use the following configuration, the loss is not decreasing. Also for the conv2d layers I am using the following config: The snippet of logs are attached( the loss is oscillating and the accuracy is stuck at a random value): |
Beta Was this translation helpful? Give feedback.
-
I was recently working on deploying models using LCE on our 32-bit RPI system. I realized I'm not able to get any performance gain. It looks like it has been specifically mentioned that LCE currently supports 64-bit systems.
I'm happy to contribute into optimizations for 32-bit RPI machines. Was wondering if anyone can help me understand why current kernels do not perform well on 32-bit OS machine, and what are are the suggestions for developing new optimized kernels?
Thanks
Beta Was this translation helpful? Give feedback.
All reactions