AndyL

AndyL

Best hosting provider for Axon training?

My dev machines are old and can’t handle Axon training runs. I’d like to use rent-by-the-hour GPU enabled servers from an outfit like Linode, Digital Ocean, GCP, Azure, AWS, etc.

What provider is best? Any tips on optimal configuration re: Ram, CPU, GPU?

Thanks in Advance!

Most Liked

lucaong

lucaong

Reviving this thread to add that I recently tried https://brev.dev and I must say that the first impression is great: you can spin up a development environment in minutes, add/remove a GPU as needed, and fully customize it to your needs. There are some rough edges, you can feel it’s a startup, but the idea is pretty good.

It is a sweet spot somewhere between setting up your own cloud instance from scratch, and running your notebook on Colab: you fully control your machine, which is a Linux instance, but do not have to mess with the details of the AWS/Google Cloud configuration, and can start from a template that already includes most of what you need.

For example, starting from the base Python + Jupyter template, I installed Elixir and a couple of other tools, and I had an environment capable of running Nx, Axon and Livebook on the GPU in minutes.

Some things are great:

  • Choosing CPU/GPU and changing hardware as needed is really simple
  • It’s really just a Linux box, so setting it up to your needs is easy if you know your way around Linux
  • You are not limited in the tools to use: there are templates to set up Python for ML, but you can just install Elixir and whatever you want on top of it. At the same time, the templates save you from having to figure out yourself details like GPU drivers, etc.
  • Auto stop of idle instances can save you from wasting money if you forget to switch it off
  • Integration with VSCode is super smooth (I mostly use terminal Vim, which was just as easy as copying my config files there, but simple VSCode integration is a great plus)

Some things are not as polished as I would like, for example:

  • copying files between your local machine and the remote one could use better tooling: you can simply scp, but you have to figure out the host, where Brev put its SSH key (in ~/.brev/brev.pem), and which user it uses, all things that could be automated by a brev scp command.
  • port forwarding (to reach Livebook or a dev server from your local machine) is available, but could be made more convenient with some manifest file, so you would not have to re-do it every time you start your dev environment. In general, I’d prefer to have my configuration scripted, rather than relying on the web UI, which is sometimes lacking
  • In general, you can feel it’s an early stage startup, with all the possible drawbacks. I am not sure if I would trust them enough yet to commit to them for a use case that would lock me in

In sum, I like the concept: spinning up cloud-based on demand development environments that you fully control, but starting from useful templates that solve the most common needs.

seanmor5

seanmor5

Author of Genetic Algorithms in Elixir

It’s worth noting that you can prototype on GPUs with Colab for free:

te_chris

te_chris

Worth checking out GCP Vertex AI. Create a model using custom training  |  Vertex AI  |  Google Cloud

They have a nice api where you can run one off training jobs with gpus. Just need to spec a docker container.

Where Next?

Popular in Questions Top

Fl4m3Ph03n1x
Background Let’s assume I have a typical GenServer that receives messages as requests, does some operation in a DB and returns responses....
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
LegitStack
I’m trying to make a websocket server in Phoenix or raw Elixir. I heard about gun, I think I could use cowboy, but since I’m not that sma...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
wernerlaude
In AR this is so simple @articles = current_user.articles How to do in Ecto? def index(conn, _params) do current_user = conn.assig...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New

Other popular topics Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New

We're in Beta

About us Mission Statement