xla
gonb
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.
xla
-
VSL; Vlang's Scientific Library
Would it make sense to have a backend support for OpenXLA, Apache TVM, Jittor or other similar to get free GPU, TPU and other accelerators for free ?
-
GoMLX -- Accelerated ML for Go
GoMLX (github.com/gomlx/gomlx) is a fast and (relatively) easy-to-use set of ML libraries built on top of OpenXLA, a just-in-time compiler of numeric computations for CPU, TPU and GPUs.
-
Will go ever get C/Java style exceptions?
I'm doing something that uses XLA to quickly execute computation graphs (in CPU, GPU or TPUs). One builds the graph, and later executes it (quickly) on actual values (sometimes large tensors).
gonb
-
Go, Python, Rust, and production AI applications
I've had these strong feelings and the OP describes it really well. Despite being a polyglot programmer, I really struggle with Python, both in expression and performance (unless it's just config for GPUs).
Some of this frustration was recently an "Unpopular Opinion" on the Go Time Podcast regarding Python being great for "data exploration" but not for "data engineering": https://changelog.com/gotime/304#t=3196
I've been yearning for better interactive tooling and ML-related libraries bridge this gap and started using some even in just the last week:
* GoNB (Golang-support for Jupyter notebooks, also from a Googler) https://github.com/janpfeifer/gonb
* That uses Go-Plotly for graphs/UI: https://github.com/MetalBlueberry/go-plotly
* GoMLX (GoNB author is also on that project, many thanks Jan!) https://github.com/gomlx/gomlx
* Hidden at the end of OP is LangChainGo for LLMs, which I haven't used yet: https://github.com/tmc/langchaingo
Pick those up and let's make the Go community stronger together!
-
The Golang Saga: A Coder’s Journey There and Back Again. Part 2: The Data Expedition
When I created a new Jupyter file in Go, I faced a challenge trying to replicate the development process I usually follow with Python. In Python and Jupyter Notebook I can conveniently run code in separate parts, saving previous values in memory and using cells to organize code. This flexibility was missing in Go, and it took me some time to figure out a solution. However, I came across a helpful tutorial that explained how to use caching with the Go Kernel, making the process smoother with gonb.
-
The Golang Saga: A Coder’s Journey There and Back Again. Part 1: Leaving the Shire
I needed one more thing to make myself feel at home, something I usually use with Python. When working with data, I often turned to the Jupyter VSCode extension for its convenience. To my relief, I discovered that a Go kernel existed, tailored perfectly for my needs.
-
GoMLX -- Accelerated ML for Go
Training library, with some pretty-printing. Including plots for GoNB Jupyter notebook.
-
GoNB, a new Jupyter Notebook Kernel for Go
Tutorial (and demo) here. Source code in github.com/janpfeifer/gonb.
What are some alternatives?
vsl - V library to develop Artificial Intelligence and High-Performance Scientific Computations
fleet
gomlx - GoMLX -- Accelerated ML Libraries for Go
Docker - Notary is a project that allows anyone to have trust over arbitrary collections of data
jittor - Jittor is a high-performance deep learning framework based on JIT compiling and meta-operators.
myLG - Network Diagnostic Tool
eris - Error handling library with readable stack traces and flexible formatting support 🎆
ipe - An open source Pusher server implementation compatible with Pusher client libraries written in GO
tvm - Open deep learning compiler stack for cpu, gpu and specialized accelerators
Hugo - The world’s fastest framework for building websites.
weather-project - Weather analyzer pet project