Ask HN: Best Cloud GPU Platform?
Many options exist, but I have been annoyed with how finicky some can be. All I need is a well-priced cloud GPU platform, with a good command-line utility like fly.io
Would be cool if I could just use said tool to say send a Python file, and include something like a poetry pyproject.toml to set up the environment + info about what type of server I want it to run on (GPU, etc), and just have it run the file on their servers and send the output back to the command line tool + have cloud storage that the programs can output files too (like model weights).
7 comments
[ 2.9 ms ] story [ 31.3 ms ] threadThing is though, what you're asking for is really something you can build yourself. Rent a bare metal server full of GPUs and do whatever you want.
You're the first person I've heard ask for something like this. Most people ask for fewer APIs and want to be closer to bare metal. They want more control over things, not less.
Can you explain what you mean by finicky?
SLURM does that wrapping for you, where you essentially just point to the file that you want to run, along with some high level GPU and CPU resource allocation tags, and it just schedules and runs it for you.
I have seen some people trying to run GCP (lol) with SLURM, and wouldn't be surprised if it is possible with AWS/Lambda or any of the other cluster service providers (Cluster-as-a-service, CLaaS?).
Just through one Google search, looks like its definitely possible with AWS: https://docs.aws.amazon.com/parallelcluster/latest/ug/slurm-...
Ray is another good candidate as well (and feels more modern imho).
https://www.ray.io/
EDIT: so the main thing is technologies like Ray have a way to do these things, but I honestly just want an easy way to do this. Maybe means I will have to set up something with Ray and AWS myself and make a wrapper for that?
https://docs.ray.io/en/latest/ray-core/key-concepts.html#tas...
https://docs.ray.io/en/latest/ray-core/examples/gentle_walkt...
That's what I would want something to do if I was building tooling like this myself. Although, I'd do it in golang instead of python so that the dependency chain was simpler. A single small binary is nicer imho.
Or maybe you're kind of wanting a serverless GPU cloud - check out Runpod, Modal, Baseten, and Replicate.
Links:
https://slurm.schedmd.com/documentation.html
https://www.run.ai/ml-workflow-management
https://github.com/skypilot-org/skypilot
https://www.runpod.io/serverless-gpu
https://modal.com/pricing
https://www.baseten.co/pricing/
https://replicate.com/pricing