These days I just look at my GPU power usage as a cheap heuristic to see if anything is wrong.
It works for most cases
Profile your code to get the rest of the way there
Just uninstalled `nvtop` and I feel so betrayed. `nvidia-smi` reports 100% utilization if even a single kernel is active on one SM! Swapped to Utilyze to sample actual hardware counters for true compute throughput. My 'fully saturated' 5070 Ti is literally sitting at 32% 🫠
JAX just feels better for multi-accelerator programming - there is a human touch.
I see a big difference is the mental model in JAX, you talk about parallelism in a model-agnostic way, while in torch I still often end up thinking through a mix of framework features, wrappers, and distributed strategies.
Is there something I am missing here?
Interview question I would have failed prior to today: why does PyTorch's DistributedDataParallel give incorrect gradients when the global objective function is computed as a sum over per-sample loss?
Today Thinking Machines Lab is launching our research blog, Connectionism. Our first blog post is “Defeating Nondeterminism in LLM Inference”
We believe that science is better when shared. Connectionism will cover topics as varied as our research is: from kernel numerics to prompt engineering. Here we share what we are working on and connect with the research community frequently and openly.
The name Connectionism is a throwback to an earlier era of AI; it was the name of the subfield in the 1980s that studied neural networks and their similarity to biological brains.
https://t.co/lrJioBmpbT
I'm primarily a Python/JAX/PyTorch developer, so diving into rust programming has been an incredible learning experience.
If you think this is interesting and worth your time, please give it a try. I welcome contributions and feedback ! (6/6)
I'm excited to share something I've been working on for the past few weeks:
Otters �� - A minimal vector search library with powerful metadata filtering powered by an ergonomic Polars-like expressions API written in Rust! (1/6)
https://t.co/mdoqngI0c0
The library is in very early stages and there are tons of features that i want to add.
- Python bindings, NumPy support,
- Serialization and persistence,
- Parquet / Arrow integration,
- Vector quantization,
etc. (5/6)