Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BOUNTY - $1000] exo browser node (WebGPU) #304

Open
AlexCheema opened this issue Oct 7, 2024 · 0 comments
Open

[BOUNTY - $1000] exo browser node (WebGPU) #304

AlexCheema opened this issue Oct 7, 2024 · 0 comments

Comments

@AlexCheema
Copy link
Contributor

AlexCheema commented Oct 7, 2024

Background

We want to make exo as accessible as possible. The most accessible thing possible would be you don't even have to install something, you just go to your browser e.g. node.exolabs.net

Proposed Solution

exo running in the browser.
This could be a new minimal implementation in JS that implements the exo service, or it could be some way to get the existing Python code to run in the browser (WebAssembly or Pyodide or similar).
The inference itself will probably need to use WebGPU.
You will need to implement a new discovery module other than UDP since UDP broadcast won't work in the browser. This discovery module could be as simple as manually specifying node endpoints.
You will also need to implement a new way of doing p2p networking since the current approach requires exposing a port for gRPC over HTTP. Instead, it may make sense to use libp2p or similar.
In the end, there needs to be a shareable link that allows you to connect browser nodes. I could imagine this link being something like node.exolabs.net?node_endpoints=http://123.123.123.123:52712.

Deliverables

  • A webpage anyone can go to that runs an exo node (this can be local for now)
  • The need running in the browser can connect to other browser nodes and other normal Python exo nodes
  • There should be a shareable link that can be opened by someone else to join the cluster.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant