Running AI on IoT microcontroller devices with ELL

Sign in to queue

The Discussion

  • User profile image
    Anatoly

    Embedded, tiny, on Phyton :-) - very funny, in MS style.

  • User profile image
    ChrisLovett

    @Anatoly: the raspberry pi demo is using Python, just for convenience, but the audio keyword spotting demo is pure C++.

  • User profile image
    Anatoly

    @CrisLovett: thanks for the answer. I just meant that say use of Intel CPU with embedded neurons would be not bad idea.
    Sequentilal programming with Phyton or even C++ is, I'm afraid, in times slower than impementing FPGA or Neurochips, where
    thousands operations are performed in parallel.
    BTW. This channel9 works in such a manner that I must post twice...

  • User profile image
    ChrisLovett

    @Anatoly: oh, sure, many companies are working on hardware optimization of neural networks including Intel.  For large complicated vision models it makes sense to use special hardware including GPU, TPU, NPU, and FPGA, even custom ASICs.  ELL can target some of these hardware optimizations also, when it is provided by the LLVM back end (for example LLVM can already target Qualcomm Hexagon DSP chips).  

  • User profile image
    Hrudaya K

    Can Embedded Learning Library used for deploying intelligent machine-learned models onto bare metals like cortex-M or Cortex-A series ??

  • User profile image
    ChrisLovett
    Yep the answer is definitely yes, in fact the Keyword Spotting on MXCHIP demo does exactly that, deploying to ARM Cortex-M4. See https://github.com/IoTDevEnvExamples/DevKitKeywordSpotter/
  • User profile image
    Hrudaya K

    Is it possible to use GCC compiler on ELL rather than using LLVM for deploying machine-learned models onto cortex-M or Cortex-A series??If not what is the reason behind using LLVM??

  • User profile image
    ChrisLovett
    ELL chose LLVM because LLVM provides an open compiler framework that allows anyone to do "compiler like things" without having to write your own compiler from scratch. Specifically ELL uses the LLVM Intermediate Representation (IR) programming model to build programs and then emit them as code for a chosen target platform. See https://llvm.org/docs/ProgrammersManual.html for more information. I don't believe this kind of open compiler framework exists for GCC.

Add Your 2 Cents