11 comments

  • fooblaster43 days ago
    Let's see if developers sleepwalk into another trap to keep us locked into nvidia's hardware for the next decade.
    • pjmlp43 days ago
      It is up to AMD, Intel and Khronos to offer APIs and tools that are actually nice to use.<p>They have had about 15 years to move beyond C99, stone age workflows to compile GLSL and C99 with their drivers, no libraries ecosystem, and printf debugging.<p>Eventually some of the issues have been fixed, after they started seeing only hardliners would put with such development experience, and then it was too late.
      • tester75643 days ago
        Isn&#x27;t there OneAPI with its huge ecosystem of tools, debuggers, etc?
        • pjmlp43 days ago
          Yes, that is part of &quot;it was too late&quot;.<p>OneAPI builds on top of SYSCL, is basically Intel&#x27;s CUDA, which it is already the second attempt to have C++ in OpenCL, during OpenCL 2.x, an effort that worked so well, that OpenCL 3.0 is basically a reboot back to OpenCL 1.0.<p>Also even SYSCL only got a proper kick-off after CodePlay came up with its implementation, nowadays they sell oneAPI support and tooling, after being acquired by Intel.
    • the__alchemist43 days ago
      IMO it&#x27;s not Nvidia&#x27;s fault the competing APIs are high friction.
      • flyingcoder43 days ago
        AMD screwed up so badly.
        • fooblaster43 days ago
          That is true, but that doesn&#x27;t mean Nvidia is not engaging in engineering to intentionally kneecap competition. Triton and other languages like that are a huge threat and CUtile is a means to combat that threat and prevent a hardware abstraction layer.
        • positron2643 days ago
          Hundreds of thousands of developers with access to a global communication network were not stopped by AMD. Why act like dependents or wait for some bright star of consensus unless the intent is really about getting the work for free?<p>We don&#x27;t have to wait for singular companies or foundations to fix ecosystem problems. Only the means of coordination are needed. <a href="https:&#x2F;&#x2F;prizeforge.com" rel="nofollow">https:&#x2F;&#x2F;prizeforge.com</a> isn&#x27;t there yet, but it is already capable of bootstrapping its own development. Matching funds, joining the team, or contributing on MuTate will all make the ball pick up speed faster.
          • nemothekid43 days ago
            &gt;<i>We don&#x27;t have to wait for singular companies or foundations to fix ecosystem problems.</i><p>Geohot has been working on this for about a year, and every roadblock he&#x27;s encountered he has had to damn near pester <i>Lisa Su</i> about getting drivers fixed. If you want the CUDA replacement that would work on AMD, you need to wait on AMD. If there is a bug in the AMD microcode, you are effectively &quot;stopped by AMD&quot;.
            • positron2642 days ago
              We have to platform and organize people, not rely on lone individuals. If there is a deep well of aligned interest, that interest needs a way to represent itself so that AMD has something to talk to, on a similar footing as a B2B relationship. When you work with other companies with hundreds and thousands of employees, it&#x27;s natural that emails from individuals get drowned out or misunderstood as circulated around.
              • nemothekid42 days ago
                Geohot isn&#x27;t working by himself - it&#x27;s part of his B2B company, tinygrad, that sells AMD systems and is VC funded.<p><a href="https:&#x2F;&#x2F;tinygrad.org&#x2F;#tinybox" rel="nofollow">https:&#x2F;&#x2F;tinygrad.org&#x2F;#tinybox</a><p>You can see in his table he calls out his AMD system as having &quot;Good&quot; GPU support, vs. &quot;Great&quot; for nvidia. So, yes, I would argue he is doing the work to platform and organize people, on a professional level to sell AMD systems in a sustainable manner - everything you claim that needs to be done and he is <i>still</i> bottlenecked by AMD.
                • positron2642 days ago
                  &gt; everything you claim that needs to be done<p>A single early-stage company is not ecosystem-scale organization. It is instead the legacy benchmark to beat. This is what we do today because the best tools in our toolbox are a corporation or a foundation.<p>Whether AMD stands to benefit from doing more or less, we are likely in agreement that Tinygrad is a small fraction of the exposed interest and that if AMD were in conversation with a more organized, larger fraction of that interest, that AMD would do more.<p>I&#x27;m not defending AMD doing less. I am insisting that ecosystems can do more and that the only reason they don&#x27;t is because we didn&#x27;t properly analyze the problems or develop the tools.
    • OneDeuxTriSeiGo43 days ago
      CUDA Tile is an open source MLIR Dialect so it wouldn&#x27;t take much to write MLIR transforms to map it from the Tile IR to TOSA or gpu + vector + some amdgpu or other specialty dialects.<p>The Tile dialect is pretty much independent of the nvidia ecosystem so all it takes is one good set of MLIR transform passes to run anything on the CUDA stack that compiles to tile out of the nvidia ecosystem prison.<p>So if anything this is actually a massive opportunity to escape vendor lock in if it catches on in the CUDA ecosystem.
      • saagarjha43 days ago
        Yes, but why would you want to use this over the other MLIR dialects that are already cross platform?
        • OneDeuxTriSeiGo42 days ago
          That&#x27;s not really the point. The point is that Nvidia is updating a lot of their higher level CUDA tooling to integrate with and compile to Tile IR. So this gives an escape hatch for tools built on top of CUDA to deploy outside the ecosystem.
      • RobotToaster43 days ago
        Or it&#x27;s Nvidia doing an Embrace Extend Extinguish on MLIR.
        • trueismywork43 days ago
          TileIR license means llvm can just fork and support it themselves as needed.
    • trueismywork43 days ago
      TileIR is Apache licensed so AMD can implement it as well.
    • RicoElectrico43 days ago
      Obviously they will, as with the mainframe and cloud.
  • jauntywundrkind43 days ago
    Will be interesting to see if Nvidia and other have any interest &amp; energy getting this used by others, if there actually is an ecosystem forming around it.<p>Google leading XLA &amp; IREE, with awesome intermediate representations, used by lots of hardware platforms, and backing really excellent Jax &amp; Pytorch implementations, having tools for layout &amp; optinization folks can share: they really build an amazing community.<p>There&#x27;s still so much room for planning&#x2F;scheduling, so much hardware we have yet to target. RISC-V has really interesting vector instructions, for example, and it seems like there&#x27;s so much exploration &#x2F; work to do to better leverage that.<p>Nvidia has partners everywhere now. Nvlink is used by Intel, AWS Tritanium, others. Yesterday the Groq exclusive license that Nvidia paid to give to Groq?! Seeing how and when CUDA Tiles emerges: will be interesting. Moving from fabric partnerships, up up up the stack.
    • pjmlp43 days ago
      For NVidia it suffices this is a Python JIT allowing programming CUDA compute kernels directly in Python instead of C++, yet another way how Intel and AMD, alongside Khronos APIs, lag behind in great developer experiences for GPU compute programming.<p>Ah, and Nsight debugging also supports Python CUDA Tiles debugging.<p><a href="https:&#x2F;&#x2F;developer.nvidia.com&#x2F;blog&#x2F;simplify-gpu-programming-with-nvidia-cuda-tile-in-python&#x2F;" rel="nofollow">https:&#x2F;&#x2F;developer.nvidia.com&#x2F;blog&#x2F;simplify-gpu-programming-w...</a>
      • Q6T46nT668w6i3m43 days ago
        Slang is a fantastic developer experience.
        • Conscat43 days ago
          I work at Nvidia, and my team is using Slang for all of our (numerous and non-trivial) kernels because its automatic differentiation type system is so nice.
        • pjmlp43 days ago
          Especially when using the tooling from who created it, before offering it to Khronos as GLSL replacement, NVIDIA.
      • saagarjha43 days ago
        Nsight does not have a debugger.
        • dahart43 days ago
          What do you mean? Are you unaware of Nsight VSE? <a href="https:&#x2F;&#x2F;developer.nvidia.com&#x2F;nsight-visual-studio-edition" rel="nofollow">https:&#x2F;&#x2F;developer.nvidia.com&#x2F;nsight-visual-studio-edition</a>
          • saagarjha43 days ago
            I was aware of their Visual Studio plugins but I did not know that they called their debugger support for Visual Studio “Nsight” as well.
        • pjmlp43 days ago
          Yes it does, apparently you never used it.
    • Moosdijk43 days ago
      &gt; There&#x27;s still so much room for planning&#x2F;scheduling, so much hardware we have yet to target<p>this is nicely illustrated by this recent article:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46366998">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46366998</a>
      • saagarjha43 days ago
        Wrong type of scheduling.
        • Moosdijk41 days ago
          Thanks for correcting me. Can you point me to what I need to search for to understand the differences?
          • saagarjha41 days ago
            <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Instruction_scheduling" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Instruction_scheduling</a>
    • turtletontine43 days ago
      On the RISC-V vector instructions, could you elaborate? Are the vector extensions substantially different from those in ARM or x86?
      • adgjlsfhk143 days ago
        it&#x27;s fairly similar to Arm&#x27;s sve2, but very different from the x86 side in that the instructions are variable length rather than fixed
    • nl43 days ago
      &gt; Groq exclusive license<p><i>non-exclusive</i> license actually.
    • almostgotcaught43 days ago
      &gt; Google leading XLA &amp; IREE<p>IREE hasn&#x27;t been at G for &gt;2 years.
  • opan43 days ago
    &gt;The CUDA Tile IR project is under the Apache License v2.0 with LLVM Exceptions
  • gaogao43 days ago
    The compiler for CUDA Tile being Blackwell only is a baffling decision. I wanted to try it out, but it&#x27;s only really easy to grab H100s quickly right now. I guess maybe I&#x27;ll try it out on my 5070 Ti after traveling, but am more likely to stick to an IR that targets multiple platforms, since they couldn&#x27;t be bothered.
    • robobsolete43 days ago
      I was keen to try it too, but oh well
  • boywitharupee43 days ago
    shouldn&#x27;t the title be &quot;CUDA Tile IR Open Sourced&quot;?
    • OneDeuxTriSeiGo43 days ago
      It&#x27;s more or less the same thing. CUDA TIle is the name of the IR, cuTile is the name of the high level DSLs.
  • pyuser58342 days ago
    I’m glad CUDA and “open source” are in the same sentence again.<p>We’d all prefer cross platform programming, but if you’re going to do platform specific, I prefer open source to closed source.<p>Thank you NVIDIA!
  • 0-_-042 days ago
    This is basically the nvidia equivalent of cooperative_matrix_2 in Vulkan which is vendor agnostic and should get much more hype that it&#x27;s getting.
    • pjmlp41 days ago
      Maybe Vulkan could provide native support for Python, C++20, and a graphical debugging experience.<p>It is surely not equivalent as of today.
      • 0-_-039 days ago
        Or even just pointers...
  • xmorse43 days ago
    Writing this in Mojo would have been so much easier
    • 3abiton43 days ago
      It&#x27;s barely gaining adoption though. The lack of buzz is a chicken and egg issue for Mojo. I fiddled shortly with it (mainly to get it working some of my pythong scripts), and it was suprisingly easy. It&#x27;ll shoot up one day for sure if Latner doesn&#x27;t give up early on it.
      • ronsor43 days ago
        Isn&#x27;t the compiler still closed source? I and many other ML devs have no interest in a closed-source compiler. We have enough proprietary things from NVIDIA.
        • 0x696C696143 days ago
          Yeah, the mojo pitch is so good, but I don&#x27;t think anyone has an appetite for the potential fuckery that comes with a closed source platform.
        • 3abiton43 days ago
          Yes, but Latner said multiple time it&#x27;s closed until it matures (he apparently did this with llvm and swift too). So not unusal. His open source target is end of 2026. In all fairness, I have 0 doubts that he would deliver.
          • pjmlp43 days ago
            Given Swift for Tensorflow, lets see how this one goes.
            • saagarjha43 days ago
              That one did get open sourced but nobody ended up wanting to use it
            • jacobgorm43 days ago
              Who would anyone want to pair a subpar language with a subpar ML framework?
              • pjmlp43 days ago
                That is the thing, what lessons were learnt from it, and how will Mojo tackle them.
      • boredatoms43 days ago
        I feel like its in AMD&#x2F;Intel&#x2F;G’s interest to pile a load of effort into (an open source) mojo
    • ipsum243 days ago
      Mojo is not open source and would not get close to the performance of cuTile.<p>I&#x27;m tired of people shilling things they don&#x27;t understand.
      • almostgotcaught43 days ago
        it&#x27;s all over this thread (and every single other hn thread about GPU&#x2F;ML compilers) - people quoting random buzzword&#x2F;clickbait takes.
    • bigyabai43 days ago
      Use-cases like this are why Mojo isn&#x27;t used in production, ever. What does Nvidia gain from switching to a proprietary frontend for a compiler backend they&#x27;re already using? It&#x27;s a legal headache.<p>Second-rate libraries like OpenCL had industry buy-in because they were <i>open</i>. They went through standards committees and cooperated with the rest of the industry (even Nvidia) to hear-out everyone&#x27;s needs. Lattner gave up on appealing to that crowd the moment he told Khronos to pound sand. Nobody should be wondering why Apple or Nvidia won&#x27;t touch Mojo with a thirty-nine and a half foot pole.
      • xmorse43 days ago
        Kernels now written in Mojo were all in hand written in MLIR like in this repo. They made a full language because that&#x27;s not scalable, a sane language is totally worth it. Nvidia will probably end up buying them in a few years.
        • pjmlp43 days ago
          NVidia is perfectly fine with C++ and Python JIT.<p>CUDA Tile was exactly designed to give parity to Python in writing CUDA kernels, acknowledging the relevance of Python, while offering a path researchers don&#x27;t need to mess with C++.<p>It was announced at this years GTC.<p>NVidia has no reason to use Mojo.
        • bigyabai43 days ago
          I don&#x27;t think Nvidia would acquire Mojo when the Triton compiler is open source, optimized for Nvidia hardware and considered a industry standard.
        • saagarjha43 days ago
          Nobody is writing MLIR by hand, what are you on about? There are so many MLIR frontends
      • oedemis43 days ago
        how mojo with max optimize the process?
      • itsthecourier43 days ago
        what about a fourty feet pole? would it be viable?
    • llmslave243 days ago
      I really want Mojo to take off. Maybe in a few years. The lack of an stdlib holds it back more than they think, and since their focus is narrow atm it&#x27;s not useful for the vast majority of work.
    • pjmlp43 days ago
      It would help if they were not so much macOS and Linux focused.<p>Julia, Python GPU JITs work great on Windows, and many people only get Windows systems as default at work.
      • saagarjha43 days ago
        Approximately nobody writing high performance code for AI training is using Windows. Why should they target it?
        • pjmlp43 days ago
          As desktop, and sometimes that is the only thing available.<p>When is the Year of NPUs on Linux?
          • saagarjha43 days ago
            This targets Blackwell GPUs so I’m not sure what you are talking about
            • pjmlp43 days ago
              The same, hardware available for Windows users, as work devices at several companies, used by researchers that work at said companies,<p><a href="https:&#x2F;&#x2F;www.pcspecialist.de&#x2F;kundenspezifische-laptops&#x2F;nvidia-rtx-50-laptops&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.pcspecialist.de&#x2F;kundenspezifische-laptops&#x2F;nvidia...</a><p>Which as usual, kind of work but not really, in GNU&#x2F;Linux.
      • bigyabai43 days ago
        I&#x27;ve commissioned a board of MENSA members to devise a workaround for this issue; they&#x27;ve identified two potential solutions.<p>1) Install Linux<p>2) Summon Chris Lattner to play you a sad song on the world&#x27;s smallest violin in honor of the Windows devs that refuse to install WSL.
        • pjmlp43 days ago
          I go with customers keep using CUDA with Python and Julia, ignore Chris Latter&#x27;s company exists, while Mojo repeats Swift for Tensorflow history.<p>What about that outcome?
  • CamperBob243 days ago
    Fun game: see how many clicks it takes <i>you</i> to learn what MLIR stands for.<p>I lost count at five or six. Define your acronyms on first use, people.
    • ipnon43 days ago
      GPU programming definitely is not beginner friendly. There&#x27;s a much higher learning curve than most open source projects. To learn basic Python you need to know about definitions and loops and variables, but to learn CUDA kernels you need to know maybe an order of magnitude more concepts to write anything useful. It&#x27;s just not worth the time to cater to people who don&#x27;t RTFM, the README would be twice as long and be redundant to the target audience of the library.
      • CamperBob243 days ago
        That&#x27;s the whole problem. I had to &quot;R&quot; multiple &quot;FMs&quot; before one of them bothered to define the acronym.<p>Stop carrying water for poor documentation practice.
        • ipnon43 days ago
          It&#x27;s kind of like if the Django README explained how SQL works, the structure of HTTP requests, best practices for HTML, and so on. If you don&#x27;t know what MLIR is, you might not be the target audience for this library. Nvidia in general doesn&#x27;t prioritize developer experience as much as companies like Meta do for open source projects like React.
          • CamperBob243 days ago
            HTTP and HTML are very common acronyms; nobody should be getting out of high school these days without knowing them, and if they somehow managed to do so, they&#x27;re darned sure not reading HN. Even SQL is pretty hard to avoid if you&#x27;ve been in an IT-adjacent industry for a while.<p>However, MLIR is a highly-specialized term. The problem with failing to define a term like that is that I don&#x27;t <i>know</i> up front if I&#x27;m the target audience for the article. I had to Google it, and when I did that, all I found at first were yet more articles that failed to define it.<p>Wikipedia gets the job done, but these days, Wikipedia is often a long way down the Google search results list. I think they downranked it when they started force-feeding AI answers (which also didn&#x27;t help).
        • __patchbit__43 days ago
          Use the AI prompt to pinprick learn.<p>Just say to the AI, &quot;Explain THIS&quot;.
          • CamperBob243 days ago
            HN: &quot;Learning is good&quot;<p><i>Just say to the AI, &quot;Explain THIS&quot;.</i><p>Also HN: &quot;Not like that&quot;
          • RobotToaster43 days ago
            ChatGPT Told me MLIR stands for &quot;Modern Life Is Rubbish&quot;
    • saagarjha43 days ago
      This is a GitHub repo for compiler engineers.
      • CamperBob243 days ago
        Cool. This is a site for hackers of all stripes.
        • bigyabai42 days ago
          I don&#x27;t give &quot;finance hackers&quot; or &quot;growth hackers&quot; the time of day. Many hackers are held in utter contempt, and often for a very good reason.
          • CamperBob241 days ago
            I&#x27;m afraid I have some <i>really</i> bad news about your humble hosts here at Hacker News, then.
        • saagarjha43 days ago
          Yes, so given that you clearly had trouble figuring out what it was, maybe you could have shared with the class?
    • fragmede43 days ago
      I did it in three. I selected it in your comment, and then had to hit &quot;more&quot; to get to the menu to ask Google about it, which brought me to <a href="https:&#x2F;&#x2F;www.google.com&#x2F;search?q=MLIR" rel="nofollow">https:&#x2F;&#x2F;www.google.com&#x2F;search?q=MLIR</a> which says: MLIR is an open-source compiler infrastructure project developed as a sub-project of the LLVM project. Hopefully<p>Get better at computers and stop needing to be spoon-fed information, people!
      • reactordev43 days ago
        In this day and age, asking questions about what something is is a minefield of “just ask AI” and “You should know this”. Let’s stop putting down people who ask questions and root out those that have shitty answers.
        • ThrowawayTestr43 days ago
          Google is nearly 30 years old
          • pjmlp43 days ago
            And we are not counting Yahoo, Altavista, Ask Jeeves, MSN,...
        • fragmede43 days ago
          I get why it feels frustrating when someone snaps &quot;just google it.&quot; Nobody likes feeling dumb. That said, there’s a meaningful difference between asking a genuine question and demanding that every discussion be padded to accommodate readers who won’t even type four letters into a search bar. Expecting complete spoon-feeding in technical threads isn’t curiosity; it’s a refusal to engage. Learning requires participation.
          • VTimofeenko43 days ago
            &gt; Learning requires participation<p>I won&#x27;t argue, but there is a middle ground between articles consisting of pure JAFAs and this:<p>&gt; accommodate readers who won’t even type four letters into a search bar<p>I think it helps if acronyms are expanded at least once or in a footnote so that the potential new reader can follow along and does not need to guess what ACMV^ means.<p>^: Awesome Combobulating Method by VTimofeenko, patent pending.
          • reactordev43 days ago
            Easy, if that’s how you feel, skip the comment and don’t engage.<p>Telling people who want to have that participation and discussion to “RTFM” is not a good response.<p>Often you’ll come across the authors on these posts that can shed direct, 1st person evidence, of what we’re talking about.<p>So please, when someone asks “what is that?” Don’t respond with “RTFM”.
            • fragmede43 days ago
              Asking &quot;what is this?&quot; is fine. Treating &quot;I was unfamiliar with this&quot; as evidence that the post is deficient is not.<p>HN already assumes a baseline of technical literacy. When something falls outside that baseline, the usual move is to ask for context or links, not to reframe personal unfamiliarity as an author failure.<p>So please, don’t normalize treating &quot;I don’t know this yet&quot; as a failure of the post.
              • pluralmonad43 days ago
                But not defining acronyms on first use is a failure of etiquette. Its your prerogative to not hold this to be true, but many of us do. There is little value in eliding the on-first-use definition.
              • reactordev43 days ago
                I agree but if someone asks “What is this?” and it’s not covered by the article, what we shouldn’t do is put that person down by telling them to “just google it”.<p>If that is your answer, please just don’t comment.
          • CamperBob243 days ago
            You&#x27;re posting a spirited defense of substandard technical writing. Just curious -- why is that?
            • guipsp43 days ago
              You cannot explain everything to everyone all the time. Besides, this is not even a paper. Sometimes you are not the target audience and have to put some words into Google.
            • fragmede43 days ago
              Because I think the norm we reinforce here actually matters.<p>When confusion gets framed as &quot;this is substandard writing&quot;, it rewards showing up and performing a lack of context rather than engaging with the substance or asking clarifying questions. Over time that creates pressure to write to the lowest common denominator, instead of the audience the author is clearly aiming at.<p>HN already operates on an implicit baseline (CUDA, open source, LLVM, etc.) and mostly lets comments fill in gaps. That usually produces better discussions than treating every unfamiliar term as an author failure, especially when someone is just trying to share or explain something they care about.<p>So yeah, I am genuinely curious why you see personal unfamiliarity as something the entire discussion should reorganize itself around.
              • CamperBob243 days ago
                <i>When confusion gets framed as &quot;this is substandard writing&quot;, it rewards showing up and performing a lack of context rather than engaging with the substance or asking clarifying questions. Over time that creates pressure to write to the lowest common denominator, instead of the audience the author is clearly aiming at. ... So yeah, I am genuinely curious why you see personal unfamiliarity as something the entire discussion should reorganize itself around.</i><p>(Shrug) The fact is that all major style guides -- APA, MLA, AP, Chicago, probably some others -- call for potentially-unfamiliar acronyms to be defined on first use, and it&#x27;s common enough to do so. For some reason, though, essentially nobody who writes about this particular topic agrees with that.<p>Which is cool -- it&#x27;s not my field, so I don&#x27;t really GAF. I&#x27;m mostly just remarking on how unusually difficult it was to drill down on this particular term. I&#x27;ll avoid derailing the topic further than I already have.
              • iwdnqindjwn43 days ago
                [dead]
      • iaebsdfsh43 days ago
        From Wikipedia: The name &quot;Multi-Level Intermediate Representation&quot; reflects the system’s ability to model computations at various abstraction levels and progressively lower them toward machine code.
      • poita6643 days ago
        And yet you didn’t tell us what it stands for, just what it is. The person you’re responding to was specifically talking about finding out what it stands for
    • rswail43 days ago
      Based on the use of LLVM I guessed &quot;Machine Learning Intermediate Representation&quot;?<p>How close was I?
    • roughly43 days ago
      The ol’ TMA problem.
    • piskov43 days ago
      If only there was a chat-based app that you could ask questions to.
  • toolboxg1x043 days ago
    NVIDIA tensor core units, where the second column in kernel optimization is producing a test suite.