Machine Learning and Numerical Computing

Enable numerical computing and machine learning on Urbit.

May 5, 2024

Reward: 5-20 stars

ID: B0348

Champion(s): ~lagrev-nocfep

ApplyBountyDev: Tool

~lagrev-nocfep and ~mopfel-winrux have been hard at work implementing numerical computing on Urbit. The end goal that they are driving towards is Urbit-native machine learning. They seek a qualified grantee to assist with this project.

Currently, they have completed significant work on the following:

  • lib/math enables mathematical functions for single atoms, from add, sub,mul, up to more complex functions such as exp, sin, cos, log, and so on.
  • Lagoon (Linear AlGebra in hOON) enables matrix mathematics in the vein of BLAS or LAPACK (like NumPy's pure matrix operations).
  • Saloon (Scientific ALgorithms in hOON) enables complex mathematical functions over matrices.
  • Maroon (MAchine LeaRning in hOON) implements machine learning algorithms as a sidecar to Urbit. Primarily, this is an interpretation of the Tinygrad framework.

However, much work remains to be done. Areas of work include:

  • Implementing a complex number type and associated algorithms.
  • Implementing a rational number type and associated algorithms.
  • Implement a stack based on posit numbers (an alternative to floating point) for Lagoon/Saloon.
  • Finish implementing fixed-precision numbers.
  • Write deterministic jets for Saloon (in C)
  • Implement APL or other numerics languages on top of Lagoon/Saloon.
  • Completing various needed tasks in the above 4 libraries.

There are many opportunities here and high rewards for the motivated and capable grantee. Help us make Urbit-native machine learning a reality. Reach out to us at [email protected] if you're curious.