\

Gluon: a GPU programming language based on the same compiler stack as Triton

60 points - yesterday at 7:50 PM

Source
  • lukax

    yesterday at 8:34 PM

    Is this Triton's reply to NVIDIA's tilus[1]. Tilus is suposed to be lower level (e.g. you have control over registers). NVIDIA really does not want the CUDA ecosystem to move to Triton as Triton also supports AMD and other accelerators. So with Gluon you get access to lower level features and you can stay within Triton ecosystem.

    [1] https://github.com/NVIDIA/tilus

      • mdaniel

        yesterday at 8:53 PM

        Also it REALLY jams me up that this is a thing, complicating discussions: https://github.com/triton-inference-server/server

        • reasonableklout

          yesterday at 9:14 PM

          It sounds like they share that goal. Gluon is a thing because the Triton team realized over the last few months that Blackwell is a significant departure from the Hopper, and achieving >80% SoL kernels is becoming intractable as the triton middle-end simply can't keep up.

          Some more info in this issue: https://github.com/triton-lang/triton/issues/7392

          • saagarjha

            yesterday at 11:29 PM

            I believe itโ€™s the other way around; Gluon exposes the primitives Triton was built on top of.

        • xcodevn

          today at 2:50 AM

          Interesting, i can see this being very similar to Nvidia's CUTE DSL. This hints that we are converging to a (local) optimal design for Python-based DSL kernel programming.

          • ivolimmen

            yesterday at 9:57 PM

            Not to be confused with the Gluon UI toolkit for Java : https://gluonhq.com/products/javafx/

          • ronsor

            yesterday at 8:04 PM

            The fact that the "language" is still Python code which has to be traced in some way is a bit off-putting. It feels a bit hacky. I'd rather a separate compiler, honestly.

              • JonChesterfield

                yesterday at 8:59 PM

                Mojo for python syntax without the ast walking decorator, cuda for c++ syntax over controlling the machine, ah hoc code generators writing mlir for data driven parametric approaches. The design space is filling out over time.

                  • pizlonator

                    yesterday at 11:23 PM

                    The fact that these are all add on syntaxes is strange. I have my ideas about why (like you want to write code that cooperates with host code).

                    Do any of yโ€™all have clear ideas about why it is that way? Why not have a really great bespoke language?

                      • saagarjha

                        yesterday at 11:31 PM

                        Hard to beat trifecta of familiar language, same source files and toolchain, JIT compiled

                          • pizlonator

                            yesterday at 11:38 PM

                            Thatโ€™s sort of what I assumed, yeah. And I think that makes sense.

                            But they end up adding super sophisticated concepts to the familiar language. Makes me wonder if the end result is actually better than having a bespoke language.

                • derbOac

                  yesterday at 8:37 PM

                  Yeah that struck me as odd. It's more like a Python library or something.

                    • zer0zzz

                      yesterday at 10:56 PM

                      Itโ€™s a dsl not a library. The kernel launch parameters and the ast walk generate ir from the Python.

                  • zer0zzz

                    yesterday at 10:50 PM

                    This is pretty common among these ml toolchain, and not a big deal. They use pythons ast lib and the function annotations to implement an ast walker and code generator. It works quite well.

                • ericdotlee

                  yesterday at 10:21 PM

                  Why is zog so popular these days? Seems really cool but I have yet to get the buzz / learn it.

                  Is there a big reason why Triton is considered a "failure"?

                  • huevosabio

                    yesterday at 9:04 PM

                    Not to be confused with gluon the embbedable language in Rust: https://github.com/gluon-lang/gluon