Golem is a decentralized marketplace for computing power, where users willing to share their resources let others rent their machines for a small fee.
Ray on the other hand is an open-source framework for scaling Python applications. It specializes in tooling for AI/ML applications, but at the same time, it is based on Ray Core which understands every piece of generic Python code.
Ray on Golem makes it super easy to set up and use Golem Network to run your Ray application.
Check out the Ray overview to get a feeling of how cool Ray is. Specifically, we are focusing on the Ray Core mechanisms that are the foundation of all Ray libraries. When your application is ready, Ray on Golem allows you to seamlessly tap into the vast decentralized resources of the Golem Network. At its core, Golem connects users worldwide, enabling them to share their unused computing power or access additional resources as needed. This approach not only democratizes access to digital capabilities but also fosters a community where everyone can contribute and benefit.
RAY ON GOLEM DOCSRay uses concepts of tasks, actors, and remote objects to enable efficient building and scaling of distributed applications. It can be used to parallelize your Python code to use all cores on your computer, but more importantly, it also offers a Ray Cluster interface to run your payload on several, remote machines.
The beauty of the solution is that you can run the app locally, and when you are ready, you can execute the same app on the cluster without changing a single line of your code.
Ray’s most popular use case is AI/ML scaling GPU computations. While Golem’s GPU support is currently in Beta phase, you can get the most out of CPU-intensive payloads. GPU support will be available soon, stay tuned!
Ray on Golem is useful when you have a Python computation too time-consuming for your computer. It allows you to parallelize your payload using Ray's simple mechanisms, and then leverage Golem Network - a decentralized platform that transforms the way we access and share computational resources. Ray on Golem is built around the idea of running Ray applications on machines of the Golem Network as easily as possible.
You start by using Ray to allow your code to run on more than one processor - it is conveniently testable locally. With the Ray app ready, you start a cluster using the machines of Golem Network.
The cluster configuration yaml allows you to decide how powerful, how many, and how cheap resources you want to use. Thanks to the robust yaml file it is super easy to spin up a Golem cluster - all you need to worry about is the code.
Not only are Golem Network resources comparatively cheap, but also the Ray autoscaler helps you manage the costs by growing and shrinking your cluster according to the runtime needs of the application.Ray on Golem is useful when you have a Python computation too time-consuming for your computer.
Do you have ideas? We are willing to support you bringing them to life!
Our goal is to create and advertise powerful Ray on Golem use cases to attract more developers to our community. Bring us a Ray on Golem application that you would like to create and we will help you out!
We're also looking for article creators who want to explore Ray on Golem. Dive in, experience it firsthand, and share your adventures in a blog post. Let's craft the story of innovation together!
We are looking for engaged beta testers.
We need people to run our examples, give us feedback on the UX, and most importantly bring us ideas of Ray on Golem use cases.
With Ray on Golem sitting between the Dev and Ops worlds, we are looking for experienced Python devs who won’t shy away from a little bit of resource management.