Running mycroft on an ARM CPU without avx


#1

I want to run mycroft on a small ARM single board computer (not raspberry pi) and I was looking at the requirements and it says that it depends on tensorflow which needs the avx instruction set. I’m a bit confused because mycroft does run on the raspberry pi, but the avx instructions are only on intel and AMD CPUs. Is the dependency on avx just not applicable to ARM CPUs?


#2

Can you be more specific, please:
Where did you read the requirement for AVX?
On which SBC do you plan to install Mycroft?


#3

I read about the AVX requirement here: https://mycroft.ai/documentation/linux/#system-requirements

I 'm thinking of either using one of these
http://www.orangepi.org/orangepipcplus/


#4

OK, from what i understand AVX (Advanced Vector Extensions) is specific to Intels CPU architecture. The ARM architecture has something similar which is called SIMD (Single Instruction, Multiple Data) and is available since ARMv7 (which includes the Cortex A53 used by the RaspberryPi and the Cortex A7 from the OrangePi).

I think you can ignore this requirement. In the unlikely case Precise Wakeword Engine won’t run there is a (automatic) fallback to PocketSphinx - which is, well, less precise, but still works fine for many users.


#5

I had a feeling that there would be an ARM equivalent. Thanks for getting back to me on this.

I think that bit of the documentation is a bit confusion and should specify that it is referring to x86 systems. Any idea who I need to flag that up with to get ti fixed?


#6

You can submit a pr with a correction, or one of the mycroft folks will get to it eventually like Gez. :slight_smile: Good catch.


#7

works fine on and orange pi pc + (H3) also works fine on orange pc 2 A53. though even though A53 is faster then the pc+ it seams mycroft runs slower on it for some reason … armbian as the OS works well.- ( here a link how I normally install as I do not install a desktop) or you can go to armbian-config and install minimal desktop but you need to do that NOT as a root user otherwise the desktop will not install properly – if you use Ubuntu or other based you will need to install zram before trying to install mycroft otherwise you will fail on the compiling the localized speech engine. it will run out of memory … if using smaller orange Pi zero with 500mb memory you need to install zram and a 1 gig swap. then you can install mycroft. after it is installed you can disable the 1 -gig swap if you like


#8

Leave a comment at the bottom of the documentation page…


#9

Thanks for flagging this and for the extra research Dominik.

I recently added the system requirements section as we were getting a few more people trying to run Mycroft on older x86 hardware, and we currently aren’t testing for the availability of these instruction sets. So it installs fine but clearly doesn’t work causing unnecessary frustration.

I’ve added some extra language based on this thread. Would love any feedback or PR’s to make sure it is clear: