{"slug": "candle", "name": "Candle", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 12, "warners": 0, "score": 4.948, "rising": 0.35, "first": "2025-11-07", "latest": "2026-09-17", "why": "huggingface has the excellent Candle [1] crate for inference on Rust", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 9, "compare": 1, "warn": 0}, "spark": [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "huggingface has the excellent Candle [1] crate for inference on Rust", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/huggingface/candle", "official_url": "https://github.com/huggingface/candle", "pricing": "", "aliases": ["Candle", "candle"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 795742000, "item_id": 49733875, "url": "https://news.ycombinator.com/item?id=49733875", "by": "dllu", "date": "2026-09-16", "version": null, "stance": "recommend", "quote": "huggingface has the excellent Candle [1] crate for inference on Rust", "excerpt": "Since NVIDIA owns huggingface now and huggingface has the excellent Candle [1] crate for inference on Rust, this seems like a good step towards nice native Rust kernels. [1] https://github.com/huggingface/candle", "context": "", "use_case": "ML inference in Rust", "switched_from": "", "story": "Nvidia announces native GPU programming in Rust"}, {"id": 756751536, "item_id": 47296971, "url": "https://news.ycombinator.com/item?id=47296971", "by": "embedding-shape", "date": "2026-03-08", "version": null, "stance": "recommend", "quote": "Candle been pretty neat for experimenting with ML on Rust", "excerpt": "Not similar in the way of \"Decorate any function and now it's a thread on the GPU\", but Candle been pretty neat for experimenting with ML on Rust, and easy to move things between CPU and GPU, more of a library than a DSL though: https://github.com/huggingface/candle", "context": "", "use_case": "ML experiments in Rust", "switched_from": "", "story": "Show HN: Eyot, A programming language where the GPU is just another thread"}, {"id": 741866896, "item_id": 46366681, "url": "https://news.ycombinator.com/item?id=46366681", "by": "klaussilveira", "date": "2025-12-23", "version": null, "stance": "recommend", "quote": "I think Candle is your current best bet", "excerpt": "If you need WASM, I think Candle is your current best bet: https://github.com/huggingface/candle", "context": "", "use_case": "", "switched_from": "", "story": "Executorch: On-device AI across mobile, embedded and edge for PyTorch"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["ml inference in rust", "machine learning in rust", "training tiny llm", "ml experiments in rust", "machine learning", "ml inference library"], "compared": [{"slug": "cudarc", "name": "cudarc", "co": 3, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49724881", "title": "Nvidia announces native GPU programming in Rust", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48561410", "title": "Show HN: cuTile Rust: Safe, data-race-free GPU kernels in Rust", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48096692", "title": "CUDA-oxide: Nvidia's official Rust to CUDA compiler", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47303111", "title": "Ask HN: What Are You Working On? (March 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47296355", "title": "Show HN: Eyot, A programming language where the GPU is just another thread", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47049628", "title": "Async/Await on the GPU", "mentions": 1}], "sentiment_by_month": {"2025-11": {"compare": 1}, "2025-12": {"recommend": 1}, "2026-01": {"neutral": 3}, "2026-02": {"neutral": 1}, "2026-03": {"recommend": 1, "neutral": 1}, "2026-04": {}, "2026-05": {"neutral": 1}, "2026-06": {"neutral": 1}, "2026-07": {}, "2026-08": {}, "2026-09": {"recommend": 1, "neutral": 2}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 795931603, "item_id": 49745725, "url": "https://news.ycombinator.com/item?id=49745725", "by": "jacobgorm", "date": "2026-09-17", "version": null, "stance": "neutral", "quote": "switching the inferencing part of Witchcraft from current Candle on MacOS", "excerpt": "As it happens, I just got my employer's permission to release as open source a Triton back-end for Metal and D3D12 GPUs here: https://github.com/dropbox/neso . As an example of you how can use it to deploy real models there is this project doing ASR and TTS: https://github.com/dropbox/nspeech . Finally, I am also going to be switching the inferencing part of Witchcraft from current Candle on MacOS and OpenVINO on Win", "context": "", "use_case": "", "switched_from": "", "story": "Nvidia announces native GPU programming in Rust"}, {"id": 795912064, "item_id": 49744504, "url": "https://news.ycombinator.com/item?id=49744504", "by": "melihelibol", "date": "2026-09-17", "version": null, "stance": "neutral", "quote": "Integration with candle is already available!", "excerpt": "Integration with candle is already available! https://github.com/huggingface/candle/pull/3934/", "context": "", "use_case": "", "switched_from": "", "story": "Nvidia announces native GPU programming in Rust"}, {"id": 795742000, "item_id": 49733875, "url": "https://news.ycombinator.com/item?id=49733875", "by": "dllu", "date": "2026-09-16", "version": null, "stance": "recommend", "quote": "huggingface has the excellent Candle [1] crate for inference on Rust", "excerpt": "Since NVIDIA owns huggingface now and huggingface has the excellent Candle [1] crate for inference on Rust, this seems like a good step towards nice native Rust kernels. [1] https://github.com/huggingface/candle", "context": "", "use_case": "ML inference in Rust", "switched_from": "", "story": "Nvidia announces native GPU programming in Rust"}, {"id": 777007395, "item_id": 48562962, "url": "https://news.ycombinator.com/item?id=48562962", "by": "the__alchemist", "date": "2026-06-16", "version": null, "stance": "neutral", "quote": "ML with burn and candle", "excerpt": "How does this compare to nvidia's CUDA-oxide? The latter is similar in syntax to CUDARC on on host side, but replace's the normal-cuda-kernel (in c++ish) on device side with rust. I ask, because I use CUDA in rust (kernels via cudarc; ML with burn and candle, and cuFFT with FFI), so I am trying to figure out how I would fit this into a workflow.", "context": "", "use_case": "machine learning in Rust", "switched_from": "", "story": "Show HN: cuTile Rust: Safe, data-race-free GPU kernels in Rust"}, {"id": 769563091, "item_id": 48097693, "url": "https://news.ycombinator.com/item?id=48097693", "by": "arpadav", "date": "2026-05-11", "version": null, "stance": "neutral", "quote": "candle by hugging face calls custom nvcc command in their kernel compilation", "excerpt": "This is amazing.. ive been working with custom CUDA kernels and https://crates.io/crates/cudarc for a long time, and this honestly looks like it could be a near drop-in replacement. im especially curious how build times would compare? Most Rust CUDA crates obv rely on calling CMake or nvcc, which can make compilation painfully slow. coincidentally, just last week i was profiling build times and found that tools like ", "context": "", "use_case": "", "switched_from": "", "story": "CUDA-oxide: Nvidia's official Rust to CUDA compiler"}, {"id": 756856000, "item_id": 47303500, "url": "https://news.ycombinator.com/item?id=47303500", "by": "antoineMoPa", "date": "2026-03-08", "version": null, "stance": "neutral", "quote": "Training a tiny LLM for fun using Rust/Candle", "excerpt": "Training a tiny LLM for fun using Rust/Candle - I constantly tweak stuff and keep track of results in a spreadsheet and work on generating a bigger corpus with LLMs. It's a project for fun, so I don't care about finding actual human generated text, I'd rather craft data in the format I want using LLMs - Probably not the best practice, but I can sleep properly despite doing that. My favorite output so far is that I as", "context": "", "use_case": "Training tiny LLM", "switched_from": "", "story": "Ask HN: What Are You Working On? (March 2026)"}, {"id": 756751536, "item_id": 47296971, "url": "https://news.ycombinator.com/item?id=47296971", "by": "embedding-shape", "date": "2026-03-08", "version": null, "stance": "recommend", "quote": "Candle been pretty neat for experimenting with ML on Rust", "excerpt": "Not similar in the way of \"Decorate any function and now it's a thread on the GPU\", but Candle been pretty neat for experimenting with ML on Rust, and easy to move things between CPU and GPU, more of a library than a DSL though: https://github.com/huggingface/candle", "context": "", "use_case": "ML experiments in Rust", "switched_from": "", "story": "Show HN: Eyot, A programming language where the GPU is just another thread"}, {"id": 752826628, "item_id": 47051664, "url": "https://news.ycombinator.com/item?id=47051664", "by": "the__alchemist", "date": "2026-02-17", "version": null, "stance": "neutral", "quote": "3d graphics via WGPU, cuFFT via FFI, custom kernels via Cudarc, and ML via Burn and Candle.", "excerpt": "Et tu, GPU? I am, bluntly, sick of Async taking over rust ecosystems. Embedded and web/HTTP have already fallen. I'm optimistic this won't take hold in GPU; well see. Async splits the ecosystem. I see it as the biggest threat to Rust staying a useful tool. I use rust on the GPU for the following: 3d graphics via WGPU, cuFFT via FFI, custom kernels via Cudarc, and ML via Burn and Candle. Thankfully these are all Async", "context": "", "use_case": "machine learning", "switched_from": "", "story": "Async/Await on the GPU"}, {"id": 746969954, "item_id": 46685622, "url": "https://news.ycombinator.com/item?id=46685622", "by": "marcoshernanz", "date": "2026-01-19", "version": null, "stance": "neutral", "quote": "using Candle (Hugging Face's Rust ML framework)", "excerpt": "Hi HN, I built ChatVault because I was frustrated with WhatsApp's native search. It relies on exact keyword matching, which makes finding old messages (\"where was that sushi place?\") impossible if you don't remember the exact phrasing. I wanted semantic search, but I wasn't willing to upload my chat history to a cloud vector database or an LLM API. So I built a strictly local-first search engine using Rust compiled t", "context": "", "use_case": "", "switched_from": "", "story": "ChatVault \u2013 Local-first semantic search for WhatsApp (Rust and WASM)"}, {"id": 746538385, "item_id": 46658649, "url": "https://news.ycombinator.com/item?id=46658649", "by": "febin", "date": "2026-01-17", "version": null, "stance": "neutral", "quote": "I've vibecoded a Rust port of Pocket TTS using candle.", "excerpt": "I've vibecoded a Rust port of Pocket TTS using candle. https://github.com/jamesfebin/pocket-tts-candle The port supports: - Native compilation with zero Python runtime dependency - Streaming inference - Metal acceleration for macOS - Voice cloning (with the mimi feature) Note: This was vibecoded (AI-assisted), but features were manually tested.", "context": "", "use_case": "ML inference library", "switched_from": "", "story": "Pocket TTS: A high quality TTS that gives your CPU a voice"}, {"id": 743730803, "item_id": 46483175, "url": "https://news.ycombinator.com/item?id=46483175", "by": "properbrew", "date": "2026-01-03", "version": null, "stance": "neutral", "quote": "using https://github.com/huggingface/candle/", "excerpt": "Was getting annoyed having to work out which video call platform to use for intro meetings, so I\u2019m currently working on https://simplevc.blazingbanana.com. It\u2019s a private, simple browser video chat. No accounts. You can create a new chat or join via link/code. It also has in browser transcription using Whisper (using https://github.com/huggingface/candle/). Currently fighting getting background blur to work smoothly ", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: What are you working on? (Jan 2026)"}, {"id": 741866896, "item_id": 46366681, "url": "https://news.ycombinator.com/item?id=46366681", "by": "klaussilveira", "date": "2025-12-23", "version": null, "stance": "recommend", "quote": "I think Candle is your current best bet", "excerpt": "If you need WASM, I think Candle is your current best bet: https://github.com/huggingface/candle", "context": "", "use_case": "", "switched_from": "", "story": "Executorch: On-device AI across mobile, embedded and edge for PyTorch"}, {"id": 733609937, "item_id": 45850621, "url": "https://news.ycombinator.com/item?id=45850621", "by": "liuliu", "date": "2025-11-07", "version": null, "stance": "compare", "quote": "Llama.cpp / Candle doesn't offer anything on the table that PyTorch cannot do", "excerpt": "That's wrong. Llama.cpp / Candle doesn't offer anything on the table that PyTorch cannot do (design wise). What they offer is smaller deployment footprint. What's modern about LLM is the training infrastructure and single coordinator pattern, which PyTorch just started and inferior to many internal implementations: https://pytorch.org/blog/integration-idea-monarch/", "context": "", "use_case": "", "switched_from": "", "story": "Leaving Meta and PyTorch"}]}