AMD ROCm: A Wasted Opportunity
&gt; Most games dev is decidedly hostile to open source, and most windows development is likewise,<p>Yes but there&#x27;s no problem with incorporating BSD&#x2F;MIT license tools into proprietary games - that&#x27;s the point of BSD&#x2F;MIT.  I know in general open-source isn&#x27;t how games roll but games can use MIT tools without issue.<p>Windows drivers being open isn&#x27;t something I realistically expect AMD to do, there&#x27;s not really a demand for it (and maybe not even a delivery pipeline for it in this age of anticheat) but, still sucks.  y&#x27;all also still have plenty of proprietary lock-ins, like Infinity Fabric Coherent Link vs CXL.  They just are in areas where &quot;everyone does that&quot;.   And yup, so do you.  Building a hardware+software stack is a large expense that nobody wants to give away.  Gasp, proprietary.  Is Gsync different from Infinity Fabric Coherent Link?  Someone paid a lot to build them both.<p>The lack of third-party chipsets nowadays is a bummer.  Nobody&#x27;s gonna allow Nforce chipsets anymore.   Although to be fair on AMD you can boot it as X300 (and epyc is SOC) and then do whatever you want as a chipset, I guess.  It&#x27;s just an I&#x2F;O expander, not tied to the bringup like Intel.<p>&gt; I remember the epyc processor lock story breaking. I don&#x27;t know how that played out in practice. I do know I&#x27;m going to be _really_ angry if it turns out my chip only works in asrock motherboards since that was the first one I put it in. I&#x27;d forgotten about that when buying it :(<p>Asrock isn&#x27;t the problem, it&#x27;s putting Dell&#x2F;HPE&#x2F;etc into your Asrock.  Essentially AMD destroyed the threat of any competition from secondhand corporate server sales, or at least significantly complicated the issue.  There will never be the kind of flood (like is currently happening with 2011-3) where you can drop a server chip into your whitebox build at 1&#x2F;100th the price it was originally sold for.<p>Or at least you will have to be very very careful about what you buy - and ebay sellers won&#x27;t deal in that level of detail most of the time.  Is that CPU that doesn&#x27;t say it&#x27;s brand-locked really unlocked, or just the seller doesn&#x27;t know the history?  Tune in next week to find out!<p>Yes, zey do zat on purpose.  Absolutely.  If it was about swapping CPUs inside datacenters to prevent attackers&#x2F;hostile hardware you couldn&#x27;t swap CPUs between motherboards at all, if I need to find another HP to swap with this HP umm ok it&#x27;s $20 on ebay?  It&#x27;s only between brands because that&#x27;s the MVP to kill secondhand sales, and it&#x27;s permanent.<p>&gt; I am absolutely sure that the overall ROCm architecture was not designed to achieve user lock-in. To the extent I can see an overarching design, it looks like doing the simplest thing we can think of that works OK on clusters.<p>Yeah that&#x27;s fair.  I can buy that ROCm is the minimum viable product for getting to National Labs HPC sales.  I also just think you&#x27;ve got a huge problem with ROCm in general, it&#x27;s not mature and it&#x27;s not even a path that will lead you to something viable.<p>People don&#x27;t want to distribute source, ever.  Windows user application stories starting with &quot;install wsl2&quot; are no bueno let alone if you make it tough because they bought the wrong one.  Compiling sucks, that&#x27;s why Docker is a thing now, distribute a whole userland because compiling sucks and dependencies suck.<p>Static compilation on FSR may come back to bite AMD sooner or later - games are already dropping off the treadmill and because AMD didn&#x27;t distribute it as libraries... welp sux, can&#x27;t even swap DLLs.  And they&#x27;re going to wish they had, when FSR 3.x and FSR 4.x come out.  AMD has their own improvements they will need to make and they&#x27;ve ruled out modularity or microdeploys, everyone has to compile and revalidate and submit the whole damn game again.<p>&gt; I believe there are commercial reasons why we can&#x27;t implement CUDA (and thus created HIP, which looks pretty similar and I&#x27;m told runs on amdgpu or on nvptx).<p>Microsoft funded GPU ocelot lol, but maybe that&#x27;s a less direct conflict of interest.  Maybe join Intel in OneAPI?  I&#x27;ve heard good things about the concept (SyCL) although I haven&#x27;t looked at specifics.<p>HIP is dependent on ROCm.  Tied at the HIP, if you will.  Don&#x27;t have a $5k commercial datacenter card? wow sucks.  Actually you will also need to compile that as a different slice so that will be even more complicated.<p>You gotta fix ROCm before you can lean on the &quot;but we have HIP&quot; thing.  You aren&#x27;t going to win adoption without widespread prosumer support, which ROCm doesn&#x27;t really do.  You kinda need to fix the support story with binary slices, why can&#x27;t it be a family-wide (&quot;RDNA2&quot;) instead of die-by-die?  that sucks.  CUDA does that.  There is a well-defined CUDA Compute Capability table too.  That makes feature-targeting code easy to write too.  Umm this compiles on Turing and up.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;CUDA#Version_features_and_specifications" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;CUDA#Version_features_and_spec...</a><p>It&#x27;s the college kids and the universities who win you the next 15 years.  Know where I learned CUDA?  University.  What did we have?  K40s.  What did I do all my dev work on?  My grad workstation with a GT 640 I bought for $60 (2 whole GB), and my Thinkpad. Is that the kind of thing that is supported by ROCm?  No.<p>&gt; There are evidently factions within the company who would claim it is the right thing to do and there&#x27;s a lag on consequences to changes like that. Hopefully maximising HPC sales will imply open source software for a long time.<p>I know and I&#x27;m not ragging on you personally.  I didn&#x27;t know who you were either but it&#x27;s been an interesting chat.<p>I appreciate the &quot;not my philosophy&quot; at least.