Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    A

    Apache TVM Blog

    tvm.apache.org · Company blog · on HN since 2020

    The Apache TVM project blog covers its machine learning compiler stack, including WebGPU and WASM compilation, TinyML, and tensor kernel work.

    Visit blogHN submissions
    AI & Machine LearningLanguages & CompilersSystems & Performance
    What HN says

    HN commenters name TVM as a tensor compiler and a glue layer for running models, used by mlc-llm for 4-bit quantized builds on Apple silicon.

    Stats for nerds
    22HN people shared it
    15linked in comments
    49story points
    Jul 2024last shared
    2020people per year2024

    Top posts on HN

    1. 1
      Apache TVM Unity: a vision for the ML software and hardware ecosystem in 2022
      1 person · 18 points · first shared 2021 · 1 comments on HN
    2. 2
      Apache TVM
      15 people · 10 points · first shared 2020 · Discussion on HN
    3. 3
      TinyML – How TVM Is Taming Tiny
      2 people · 8 points · first shared 2020 · Discussion on HN
    4. 4
      Building an Open ABI and FFI for ML Systems
      2 people · 5 points · first shared 2025 · Discussion on HN
    5. 5
      Compiling Machine Learning to WASM and WebGPU with Apache TVM
      3 people · 4 points · first shared 2020 · Discussion on HN
    6. 6
      TIRx: An Open Compiler Stack for Evolving Frontier ML Kernels
      2 people · 2 points · first shared 2026 · Discussion on HN
    7. 7
      TVM: End to End IR Stack for Deploying Deep Learning Workloads
      1 person · 2 points · first shared 2021 · Discussion on HN
    8. 8
      Android
      1 person · first shared 2023

    What HN people wrote when they linked it

    • TwinklebearJun 2020

      Yeah! I've started to look some WebGPU compute applications with other students in my group and I think there could be some cool use cases, like the ones you mention. It sounds a bit odd, but yeah WebGPU on native (by directly using Dawn, or wgpu-rs) is actually pretty compelling as a cross-platform low-level graphics API.

      What's really cool is that compute and rendering using WebGPU can get near-native level performance. So a lot of scientific applications (which typically rely on more FLOPs/parallel processing) can be implemented in WebGPU compute without sacrificing much performance. I'm not sure how many simulations would be ported to WebGPU, since they usually end up targeting large scale HPC systems and CUDA, but for visualization applications I think the use case is pretty compelling, especially for portability and ease of distribution. On the compute side, I implemented a data-parallel Marching Cubes example: https://github.com/Twinklebear/webgpu-experiments , and found the performance is on par with my native Vulkan version. You can try it out here: https://www.willusher.io/webgpu-experiments/marching_cubes.html#vol=Skull . There is a pretty high first-run overhead, but try moving the slider around some to see the extraction performance after that. WebGPU for parallel compute, combined with WebASM for serial code (or just easily porting older native libs), will make the browser a lot more capable for compute heavy applications. You could also combine these more…

    • BadInformaticsJun 2021

      The sibling comment has already touched on the compiler side of things, so let me touch on the rest:

      > A stronger culture of functional programming could make your code faster and easier to understand. It's often (though not always) easier for tooling to optimize pure functions over immutable data structures (and arrays). Arrays are currently mutable, and there is too much emphasis on mutating functions.

      Yes and no. Immutable data structures shine in 2 scenarios:

      1. Small types that can be represented with a couple of machine words. Julia supports this already through via stack allocated immutable struct types and packages like StaticArrays [1]
      2. Persistent data structures as found in most FP languages.

      Note how neither of these capture the large, (semi-)contiguous array types used for most numerical computing. These arrays are only "easier to optimize" if one has a Sufficiently Smart Compiler to work with. Here we don't even need to talk about Julia: the reason even Numba kernels in Python land are written in a mutating style is because such a compiler does not exist. You may be able to define something for a limited subset of programs like TensorFlow does, but the moment you step outside that small closed world you're back to needing mutation and loops to get a reasonable level of performance. What's more, the fancy ML graph compiler (as well as Numpy and vectorized R) is dispatching to C++/Fortran/CUDA routines that, not surprisingly, are also loop-heavy and…

    • austinvhuangJul 2024

      The data that is out there is reasonably promising with WebGPU already in use in some production ML inference engines. TVM of course is way ahead of the curve as usual - https://tvm.apache.org/2020/05/14/compiling-machine-learning-to-webassembly-and-webgpu though this post is quite old now.

      It's still early days for pushing compute use cases to WebGPU (OctoML being super early notwithstanding). There's a small matmul in the examples directory but it only has the most basic tiling optimizations. One of my goals the next few weeks is porting the transformer block kernels from llm.c - I think that will flesh out the picture far better. If there's interest, happy to collaborate + could potentially do a writeup if there's enough interest.

      There's always some tradeoffs that comes with portability, but part of my goal with gpu.cpp is to create a scaffold to experiment and see how far we can push portable GPU performance.

    • bfirshSep 2022

      As mentioned in sibling comments, Torch is indeed the glue in this implementation. Other glues are TVM[0] and ONNX[1]

      These just cover the neural net though, and there is lots of surrounding code and pre-/post-processing that isn't covered by these systems.

      For models on Replicate, we use Docker, packaged with Cog for this stuff.[2] Unfortunately Docker doesn't run natively on Mac, so if we want to use the Mac's GPU, we can't use Docker.

      I wish there was a good container system for Mac. Even better if it were something that spanned both Mac and Linux. (Not as far-fetched as it seems... I used to work at Docker and spent a bit of time looking into this...)

      [0] https://tvm.apache.org/
      [1] https://onnx.ai/
      [2] https://github.com/replicate/cog

    • brrrrrmJan 2022

      In an ideal world, absolutely! It's a hard problem and there are many attempts to make that happen automatically including polyhedral optimization (Polly[1]) and tensor compiler libraries (XLA[2] and TVM[3]). I work on a project called LoopTool[4] which is researching ways to dramatically reduce the representations of the other projects to simplify optimization scope.

      [1] https://polly.llvm.org

      [2] https://www.tensorflow.org/xla

      [3] https://tvm.apache.org

      [4] https://github.com/facebookresearch/loop_tool

    • jszymborskiAug 2020

      So, just wondering from a practical perspective, how do you train/serve models from these? I doubt they play nice with e.g. PyTorch or TF.

      Maybe they're meant to be used with a DL compiler like TVM [0]?

      [0] https://tvm.apache.org/

    Related

    TVM Blogtvmlang.org15 people

    A new GPU backend for the TVM stack

    TVM Blog
    Company · last shared 2018
    SciMLsciml.ai18 people

    How Julia ODE Solve Compile Time Was Reduced from 30 Seconds to 0.1

    SciML
    Company · last shared 2025
    Databricks Blogdatabricks.com298 people

    DBRX: A new open LLM

    Databricks Blog
    Company · last shared 2026
    LLVM Blogblog.llvm.org226 people

    Clang Is Now Used to Build Chrome for Windows

    LLVM Blog
    Company · last shared 2026
    source{d} Blogblog.sourced.tech21 people

    Analyzing GitHub, how developers change programming languages over time

    source{d} Blog
    Company · last shared 2019
    Uber Engineering Blogeng.uber.com525 people

    Why Uber Engineering Switched from Postgres to MySQL

    Uber Engineering Blog
    Company · last shared 2025
    WildMLwildml.com21 people

    Learning Reinforcement Learning, with Code, Exercises, and Solutions

    WildML
    Personal · last shared 2018
    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026