nx
podman
nx | podman | |
---|---|---|
36 | 358 | |
2,467 | 21,729 | |
0.8% | 1.4% | |
9.3 | 10.0 | |
7 days ago | 3 days ago | |
Elixir | Go | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nx
-
Unpacking Elixir: Concurrency
Does nx not work for you? https://github.com/elixir-nx/nx/tree/main/nx#readme
-
A LiveView Is a Process
It is historically not great at number computing. This is being addressed by a relatively new project called Nx. https://github.com/elixir-nx/nx
It is not the right choice for CPU intensive tasks like graphics, HFT, etc. Some companies have used Rust to write native extensions for those kinds of problems. https://discord.com/blog/using-rust-to-scale-elixir-for-11-m...
- How does Elixir stack up to Julia in the future of writing machine-learning software?
-
Data wrangling in Elixir with Explorer, the power of Rust, the elegance of R
José from the Livebook team. I don't think I can make a pitch because I have limited Python/R experience to use as reference.
My suggestion is for you to give it a try for a day or two and see what you think. I am pretty sure you will find weak spots and I would be very happy to hear any feedback you may have. You can find my email on my GitHub profile (same username).
In general we have grown a lot since the Numerical Elixir effort started two years ago. Here are the main building blocks:
* Nx (https://github.com/elixir-nx/nx/tree/main/nx#readme): equivalent to Numpy, deeply inspired by JAX. Runs on both CPU and GPU via Google XLA (also used by JAX/Tensorflow) and supports tensor serving out of the box
* Axon (https://github.com/elixir-nx/axon): Nx-powered neural networks
* Bumblebee (https://github.com/elixir-nx/bumblebee): Equivalent to HuggingFace Transformers. We have implemented several models and that's what powers the Machine Learning integration in Livebook (see the announcement for more info: https://news.livebook.dev/announcing-bumblebee-gpt2-stable-d...)
* Explorer (https://github.com/elixir-nx/explorer): Series and DataFrames, as per this thread.
* Scholar (https://github.com/elixir-nx/scholar): Nx-based traditional Machine Learning. This one is the most recent effort of them all. We are treading the same path as scikit-learn but quite early on. However, because we are built on Nx, everything is derivable, GPU-ready, distributable, etc.
Regarding visualization, we have "smart cells" for VegaLite and MapLibre, similar to how we did "Data Transformations" in the video above. They help you get started with your visualizations and you can jump deep into the code if necessary.
I hope this helps!
-
Elixir and Rust is a good mix
> I guess, why not use Rust entirely instead of as a FFI into Elixir or other backend language?
Because Rust brings none of the benefits of the BEAM ecosystem to the table.
I was an early Elixir adopter, not working currently as an Elixir developer, but I have deployed one of the largest Elixir applications for a private company in my country.
I know it has limits, but the language itself is only a small part of the whole.
Take ML, Jose Valim and Sean Moriarity have studied the problem, made a plan to tackle it and started solving it piece by piece [1] in a tightly integrated manner, it feels natural, as if Elixir always had those capabilities in a way that no other language does and to put the icing on the cake the community released Livebook [2] to interactively explore code and use the new tools in the simplest way possible, something that Python notebooks only dream of being capable of, after a decade of progress
That's not to say that Elixir is superior as a language, but that the ecosystem is flourishing and the community is able to extract the 100% of the benefits from the tools and create new marvellously crafted ones, that push the limits forward every time, in such a simple manner, that it looks like magic.
And going back to Rust, you can write Rust if you need speed or for whatever reason you feel it's the right tool for the job, it's totally integrated [3][4], again in a way that many other languages can only dream of, and it's in fact the reason I've learned Rust in the first place.
The opposite is not true, if you write Rust, you write Rust, and that's it. You can't take advantage of the many features the BEAM offers, OTP, hot code reloading, full inspection of running systems, distribution, scalability, fault tolerance, soft real time etc. etc. etc.
But of course if you don't see any advantage in them, it means you probably don't need them (one other option is that you still don't know you want them :] ). In that case Rust is as good as any other language, but for a backend, even though I gently despise it, Java (or Kotlin) might be a better option.
[1] https://github.com/elixir-nx/nx https://github.com/elixir-nx/axon
[2] https://livebook.dev/
[3] https://github.com/rusterlium/rustler
[4] https://dashbit.co/blog/rustler-precompiled
-
Distributed² Machine Learning Notebooks with Elixir and Livebook
(including docs and tests!): https://github.com/elixir-nx/nx/pull/1090
I'll be glad to answer questions about Nx or anything from Livebook's launch week!
-
Why Python keeps growing, explained
I think that experiment is taking shape with Elixir:
https://github.com/elixir-nx/nx
-
Does Nx use a Metal in the Backend ?
However the issue here at Nx https://github.com/elixir-nx/nx/issues/490 is already closed.
-
Do I need to use Elixir from Go perspective?
Outside of that, Elixir can be used for data pipelines, audio-video processing, and it is making inroads on Machine Learning with projects like Livebook, Nx, and Bumblebee.
- Elixir – HUGE Release Coming Soon
podman
-
Podman 5.0 has been released
Example of why: https://github.com/containers/podman/issues/5102#issuecommen...
-
Exploring 5 Docker Alternatives: Containerization Choices for 2024
Podman
- Podman 5.0.0: final release candidate
-
A Gentle Introduction to Containerization and Docker
Even though we will focus on Docker for this article, I wanted to mention that there are more container creation and management tools such as Podman, Rkt, and so on.
-
A Journey to Find an Ultimate Development Environment
By using containerization, the application will always have the same configuration that is used in the development environment and production environment. There is no more "It works on my machine". Some examples of containerization technologies are Docker and Podman.
-
Anatomy of Docker
Podman Documentation. Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.
-
Exploring Podman: A More Secure Docker Alternative
AFAIK podman either already supports pods in quadlet container files, or will in the near future. https://github.com/containers/podman/pull/20762
-
Podman Desktop 1.6 released: Even more Kubernetes and Containers features
Podman as a devcontainers engine doesn't currently work if you use devcontainer features [1] or (and this sounds like you're issue) if you use WSL2.
I haven't submitted the WSL2 issue to the Podman team yet. If you get to it before I do, can you like it here?
https://github.com/containers/podman/issues/18691#issuecomme...
-
Oracle data base
You can also use their Oracle Linux Docker images with the database preinstalled using either Podman or Docker. Just make absolutely sure you are downloading something you are licensed to use, because it seems really easy to accidentally infringe copyright via this method.
-
A call for Podman comparison charts
It's an open source project. https://github.com/containers/podman and https://podman.io - go there, get engaged, see what's going on and most important become part of the community and contribute!
What are some alternatives?
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
Portainer - Making Docker and Kubernetes management easy.
gleam - ⭐️ A friendly language for building type-safe, scalable systems!
lima - Linux virtual machines, with a focus on running containers
axon - Nx-powered Neural Networks
kaniko - Build Container Images In Kubernetes
dplyr - dplyr: A grammar of data manipulation
rancher - Complete container management platform
explorer - An open source block explorer
containerd - An open and reliable container runtime
fib - Performance Benchmark of top Github languages
nerdctl - contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...