embedded machine learning research engineer - georgist - urbanist - environmentalist

  • 1 Post
  • 13 Comments
Joined 1 year ago
cake
Cake day: June 22nd, 2023

help-circle


  • Yeah, I’m working in embedded ML, and it’s an insanely exciting time. We’re getting more and more microcontrollers and single-board computers with special AI accelerators, many of them RISC-V, by the day it seems. One of the next steps (in my opinion) is finding a good way to program them that doesn’t involve C/C++ (very fast but also so painful to do AI with) or Python (slow unless it’s wrapping underlying C code, and unsuitable for microcontrollers). In fact, that’s exactly what I’m working on right now as a side project.

    What’s also cool is RISC-V promises to be the one instruction set architecture to rule them all. So instead of having PCs as x86, phones and microcontrollers as ARM, then all sorts of other custom architectures like DSPs (digital signal processors), NPUs, etc., we could just have RISC-V with a bunch of open standard extensions. Want vector instructions? Well, here’s a ratified open standard for vector instructions. Want SIMD instructions? Congrats, here’s another ratified open standard.

    And all these standards mean it will make it so much easier for the compiler people to provide support for new chips. A day not too long from now, I imagine it will become almost trivial to compile programs that can accelerate tons of scientific, numerical, and AI workloads onto RISC-V vector instructions. Currently, we’re stuck using GPUs for everything that needs parallelization, even though they’re far from the easiest or most optimal devices for many of our computational needs.

    As computing advances, we can just create and ratify new open standards. Tired of floating point numbers? You could create a proposal for a standard posit extension today if you wanted to, then fork LLVM or GCC or something to provide the software support as well. In fact, someone already has implemented an open-source RISC-V chip with posit arithmetic and made a fork of LLVM to support it. You could fire it up on an FPGA right now if you wanted.



  • It’s especially dumb because RISC-V is – dare I say it – inevitably the future. Trying to crack down on RISC-V is like trying to crack down on Linux or solar photovoltaics or wind turbines. That is, you can try to crack down, but the fundamental value proposition is simply too good. All you’ll achieve in cracking down is hurting yourself while everyone else gets ahead.


  • A life goal of mine is to try to develop tools to help automate sustainable agriculture as much as possible. As I see it, part of the reason we keep on doing the monocultures is because the alternatives are just so dang labor-intensive, and anything that helps sustainable polycultures, agroforestry, etc. be more automated and less labor-intensive makes it easier for us to finally kick our current soil-destroying and ecosystem-obliterating habits.