Whither AlgoCompSynth-One?

algocompsynth

A way forward, perhaps

M. Edward (Ed) Borasky https://twitter.com/znmeb
2022-05-01

What’s happening?

Quite a bit has changed since the last post here. The TL;DR is that the payoff to effort ratio for this project has dropped below a level acceptable to me. Some specifics:

  1. NVIDIA economics have changed drastically. With the introduction of the Jetson Orin hardware and JetPack 5.0 Developer Preview, developer kit prices are well out of my budget as a hobbyist. And although I already have a 4 GB Nano, an 8 GB Xavier NX and a 16 GB AGX Xavier, prices of new units are much higher and they’re available only from third parties and in limited supply.

    For the price of an AGX Orin developer kit, I can buy a laptop with a more powerful GPU, or a really powerful digital, analog or hybrid synthesizer. For the price of one of the Xavier NX packages from third parties, I can get a single-board computer based synthesizer like the Critter and Guitari Organelle that inspired this project. And it was never a goal of this project to run on the Nano.

  2. Compile times and distribution licenses: On a Xavier NX, it takes about an hour and a half to compile the source packages to Python wheels. That’s not a big issue since it only has to be done when there’s an upstream release. However, the licenses probably do not allow me to share working Docker images, which was sort of the point of the project.

    I may be able to share the Python wheel files, and I can certainly share the scripts that create the wheels and Docker images. So I’m pushing ahead with documentation and final testing, even though end users may have to re-run the compiles on their own hardware.

  3. I’m spending a lot of time on this that I could be spending on other things.

The release

I’ve spent the past few weeks pretty much full-time refactoring the code to work with JetPack 5.0 Developer Preview on the Xavier NX and AGX Xavier. All that magic is working now; the last steps are to finish the documentation, figure out what I can publish without some lawyers coming after me, and hitting “Publish!”

As of this writing there are four Docker images, two for JetPack 5.0 Developer Preview and two for JetPack 4.6.1. The wheel image builds the wheel files, but will run as an end-user image, and the synth image installs the wheel files from the wheel image. The contents of the images:

  1. Enough CUDA to make everything work. This is where the licensing issue comes from.
  2. The MambaForge distribution,
  3. PyTorch from an NVIDIA-built wheel file.
  4. torchaudio compiled from source.
  5. CuPy compiled from source.
  6. cuSignal compiled from source.
  7. The JupyterLab server.

So, if I can legally publish the compiled wheel files, I’ll publish them along with the repository. And I’ll be documenting the process so anyone with an AGX Xavier or Xavier NX can build their own Docker images. Once that’s done I’ll freeze the project and accept bug fix and documentation issues only.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-SA 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Borasky (2022, May 1). AlgoCompSynth by znmeb: Whither AlgoCompSynth-One?. Retrieved from https://www.algocompsynth.com/posts/2022-05-01-whither-algocompsynth-one/

BibTeX citation

@misc{borasky2022whither,
  author = {Borasky, M. Edward (Ed)},
  title = {AlgoCompSynth by znmeb: Whither AlgoCompSynth-One?},
  url = {https://www.algocompsynth.com/posts/2022-05-01-whither-algocompsynth-one/},
  year = {2022}
}