{"id":318254,"date":"2026-03-07T22:02:10","date_gmt":"2026-03-07T22:02:10","guid":{"rendered":"https:\/\/www.newsbeep.com\/nz\/318254\/"},"modified":"2026-03-07T22:02:10","modified_gmt":"2026-03-07T22:02:10","slug":"amd-vp-uses-ai-to-create-radeon-linux-userland-driver-in-python-senior-ai-engineer-says-he-didnt-open-the-editor-once","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/nz\/318254\/","title":{"rendered":"AMD VP uses AI to create Radeon Linux userland driver in Python \u2014 senior AI engineer says he &#8220;didn&#8217;t open the editor once&#8221;"},"content":{"rendered":"<p id=\"9f748ce5-3ff6-468a-8bf8-e313f0366dac\">AMD&#8217;s Linux graphics stack had an unusual moment this past week. Anush Elangovan, a corporate VP at AMD, published a small experimental <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/tag\/radeon\" data-auto-tag-linker=\"true\" data-url=\"https:\/\/www.tomshardware.com\/tag\/radeon\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/tag\/radeon\" rel=\"nofollow noopener\" target=\"_blank\">Radeon<\/a> compute driver written entirely in Python, as <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.phoronix.com\/news\/AI-Pure-Python-AMD-GPU-Driver\" target=\"_blank\" data-url=\"https:\/\/www.phoronix.com\/news\/AI-Pure-Python-AMD-GPU-Driver\" referrerpolicy=\"no-referrer-when-downgrade\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" rel=\"nofollow noopener\">reported by Phoronix<\/a>. Beyond that, the code was produced entirely using Anthropic&#8217;s Claude Code, according to Elangovan. Naturally, the headline was irresistible: a senior AMD engineer using AI to produce a new GPU driver? Shocking! But the reality is more technical and less radical; what he built is not a replacement for the company&#8217;s real drivers. Instead, it&#8217;s essentially a lightweight driver test harness designed to poke directly at AMD&#8217;s Linux GPU interfaces.<\/p>\n<p>Go deeper with TH Premium: GPUs<\/p>\n<p class=\"vanilla-image-block\" style=\"padding-top:56.25%;\">\n<p><img decoding=\"async\" src=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/03\/Wh9EZgD8NG9yUioNNgPB3d.png\" alt=\"Asus RTX 5080 Noctua Edition\"   loading=\"lazy\" data-new-v2-image=\"true\" data-original-mos=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/03\/Wh9EZgD8NG9yUioNNgPB3d.png\" data-pin-media=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/03\/Wh9EZgD8NG9yUioNNgPB3d.png\" class=\"pinterest-pin-exclude\"\/>\n<\/p>\n<p>(Image credit: Noctua)<\/p>\n<p id=\"d674213f-959c-4c0c-8973-fb41b8660c58\" class=\"paywall\" aria-hidden=\"true\">Modern Radeon GPUs on Linux normally run through a fairly deep software stack built around ROCm. Applications talk to ROCm libraries, which in turn talk to user-space runtimes, and eventually commands flow into <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/pc-components\/gpus\/legacy-amd-gpus-receive-30-percent-performance-boost-thanks-to-latest-linux-kernel-update-finally-drops-obsolete-radeon-graphics-driver-for-gcn-1-0-and-gcn-1-1-cards-after-more-than-two-decades\" data-url=\"https:\/\/www.tomshardware.com\/pc-components\/gpus\/legacy-amd-gpus-receive-30-percent-performance-boost-thanks-to-latest-linux-kernel-update-finally-drops-obsolete-radeon-graphics-driver-for-gcn-1-0-and-gcn-1-1-cards-after-more-than-two-decades\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/pc-components\/gpus\/legacy-amd-gpus-receive-30-percent-performance-boost-thanks-to-latest-linux-kernel-update-finally-drops-obsolete-radeon-graphics-driver-for-gcn-1-0-and-gcn-1-1-cards-after-more-than-two-decades\" rel=\"nofollow noopener\" target=\"_blank\">the kernel&#8217;s AMDGPU driver<\/a>. Elangovan&#8217;s project cuts through a large chunk of that stack. The Python code communicates directly with the kernel driver via device nodes such as\/dev\/kfd and \/dev\/dri\/render*. From there, it can allocate GPU memory, create compute queues, submit command packets, and synchronize CPU and GPU work. In other words, it reaches down to the lowest public layer of AMD&#8217;s compute interface.<\/p>\n<p class=\"vanilla-image-block\" style=\"padding-top:74.26%;\">\n<p><img decoding=\"async\" src=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/03\/VKo4xkLfZzoYTES9e24so7.png\" alt=\"A screenshot of the GitHub commit that adds the GPU userspace driver to AMD's ROCm project.\"   loading=\"lazy\" data-new-v2-image=\"true\" data-original-mos=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/03\/VKo4xkLfZzoYTES9e24so7.png\" data-pin-media=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/03\/VKo4xkLfZzoYTES9e24so7.png\" class=\"inline\"\/>\n<\/p>\n<p>(Image credit: Future)<\/p>\n<p id=\"1205faef-57f1-428d-a0cd-4f4ba1a9d7ac\">That sounds more dramatic than it is; the kernel driver (which is not replaced or affected here) still does almost all the heavy lifting. The Python layer simply constructs the command packets and sends them through the existing kernel APIs. As an analogy, it&#8217;s kind of like using a laptop to temporarily replace the engine controller in your project car. It&#8217;s not something you&#8217;d use long-term, but it&#8217;s a very helpful diagnostic tool. The point is to interact with the hardware in a very controlled way without the rest of the ROCm software stack in the middle.<\/p>\n<p>            You may like<\/p>\n<p>    <a id=\"elk-seasonal\" class=\"paywall\" aria-hidden=\"true\"\/><\/p>\n<p id=\"1205faef-57f1-428d-a0cd-4f4ba1a9d7ac-1\">Obviously, that makes the project useful for debugging and experimentation. Engineers can <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/pc-components\/gpus\/amd-splits-rocm-toolkit-into-two-parts-rocm-amdgpu-drivers-get-their-own-branch-under-instinct-datacenter-gpu-moniker\" data-url=\"https:\/\/www.tomshardware.com\/pc-components\/gpus\/amd-splits-rocm-toolkit-into-two-parts-rocm-amdgpu-drivers-get-their-own-branch-under-instinct-datacenter-gpu-moniker\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/pc-components\/gpus\/amd-splits-rocm-toolkit-into-two-parts-rocm-amdgpu-drivers-get-their-own-branch-under-instinct-datacenter-gpu-moniker\" rel=\"nofollow noopener\" target=\"_blank\">isolate bugs in ROCm<\/a> or test specific GPU features without compiling huge C++ projects. The prototype already handles a few real-world tasks, including command-queue creation, memory allocation, compute-dispatch packets, and GPU synchronization primitives. Because it&#8217;s written in Python, the code is small and easy to modify, making it ideal for testing scenarios where the goal is to quickly reproduce hardware behavior.<\/p>\n<p lang=\"en\" dir=\"ltr\">Inspired by @__tinygrad__ userspace AMD driver, I clauded a userspace driver for some stress testing of SDMA and compute\/comms overlap debug. I didn&#8217;t open the editor once. Agents are the great equalizer in software. And Speed is the moat. https:\/\/t.co\/pc9dDWKTnP<a href=\"https:\/\/twitter.com\/cantworkitout\/status\/2029038108273197432\" data-url=\"https:\/\/twitter.com\/cantworkitout\/status\/2029038108273197432\" target=\"_blank\" referrerpolicy=\"no-referrer-when-downgrade\" data-hl-processed=\"none\" rel=\"nofollow noopener\">March 4, 2026<\/a><\/p>\n<p id=\"291e9cc5-485a-4171-985f-4ce729cbe91c\">Another clue about the project&#8217;s purpose appears in the code itself. The prototype mentions a &#8220;pluggable architecture for future bare-metal PCI (AM) backend.&#8221; That phrase sounds exotic, but it points in the same direction as the rest of the design. A bare-metal backend would bypass even the kernel driver and talk to the GPU directly over PCI. That kind of setup is usually used for hardware bring-up, diagnostics, or <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/news\/intel-adds-bare-metal-oneapi-support-to-linux-via-its-compute-runtime\" data-url=\"https:\/\/www.tomshardware.com\/news\/intel-adds-bare-metal-oneapi-support-to-linux-via-its-compute-runtime\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/news\/intel-adds-bare-metal-oneapi-support-to-linux-via-its-compute-runtime\" rel=\"nofollow noopener\" target=\"_blank\">extremely low-level testing<\/a> environments, rather than consumer software; bypassing the kernel driver would break everything that relies on the features provided by that driver, such as multitasking, virtual GPU memory, and DRM.<\/p>\n<p>For anyone hoping this turns into a Python-powered Radeon driver for everyday Linux systems, I&#8217;m sorry to say that is very unlikely. Production GPU drivers are massive projects with shader compilers, memory managers, power management, <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/tag\/security\" data-auto-tag-linker=\"true\" data-url=\"https:\/\/www.tomshardware.com\/tag\/security\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/tag\/security\" rel=\"nofollow noopener\" target=\"_blank\">security<\/a> layers, and support for complex APIs like <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/tag\/vulkan\" data-auto-tag-linker=\"true\" data-url=\"https:\/\/www.tomshardware.com\/tag\/vulkan\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/tag\/vulkan\" rel=\"nofollow noopener\" target=\"_blank\">Vulkan<\/a> and OpenGL. None of that exists in this experiment. What Elangovan demonstrated instead is that AMD&#8217;s Linux kernel interface is open and modular enough that someone can script against it from a high-level language. And, I guess, that <a data-analytics-id=\"inline-link\" href=\"https:\/\/www.tomshardware.com\/tech-industry\/artificial-intelligence\/microsofts-ceo-reveals-that-ai-writes-up-to-30-percent-of-its-code-some-projects-may-have-all-of-its-code-written-by-ai\" data-url=\"https:\/\/www.tomshardware.com\/tech-industry\/artificial-intelligence\/microsofts-ceo-reveals-that-ai-writes-up-to-30-percent-of-its-code-some-projects-may-have-all-of-its-code-written-by-ai\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" data-before-rewrite-localise=\"https:\/\/www.tomshardware.com\/tech-industry\/artificial-intelligence\/microsofts-ceo-reveals-that-ai-writes-up-to-30-percent-of-its-code-some-projects-may-have-all-of-its-code-written-by-ai\" rel=\"nofollow noopener\" target=\"_blank\">he really likes Claude Code<\/a>.<\/p>\n<p><a href=\"https:\/\/news.google.com\/publications\/CAAqLAgKIiZDQklTRmdnTWFoSUtFSFJ2YlhOb1lYSmtkMkZ5WlM1amIyMG9BQVAB\" id=\"75ed23a6-2e03-4797-9a57-54ee8dc6b082\" data-url=\"https:\/\/news.google.com\/publications\/CAAqLAgKIiZDQklTRmdnTWFoSUtFSFJ2YlhOb1lYSmtkMkZ5WlM1amIyMG9BQVAB\" target=\"_blank\" referrerpolicy=\"no-referrer-when-downgrade\" data-hl-processed=\"none\" rel=\"nofollow noopener\"><\/p>\n<p class=\"vanilla-image-block\" style=\"padding-top:31.51%;\">\n<p><img decoding=\"async\" src=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/01\/7cUTDmN2PHNRiNBVqbKf56.png\" alt=\"Google Preferred Source\"   loading=\"lazy\" data-new-v2-image=\"true\" data-original-mos=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/01\/7cUTDmN2PHNRiNBVqbKf56.png\" data-pin-media=\"https:\/\/www.newsbeep.com\/nz\/wp-content\/uploads\/2026\/01\/7cUTDmN2PHNRiNBVqbKf56.png\" class=\"pull-left\"\/>\n<\/p>\n<p><\/a><\/p>\n<p id=\"336349b3-ad6a-4a17-ab30-b76c6d80ba2f\">Follow<a data-analytics-id=\"inline-link\" href=\"https:\/\/news.google.com\/publications\/CAAqLAgKIiZDQklTRmdnTWFoSUtFSFJ2YlhOb1lYSmtkMkZ5WlM1amIyMG9BQVAB\" target=\"_blank\" data-url=\"https:\/\/news.google.com\/publications\/CAAqLAgKIiZDQklTRmdnTWFoSUtFSFJ2YlhOb1lYSmtkMkZ5WlM1amIyMG9BQVAB\" referrerpolicy=\"no-referrer-when-downgrade\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" rel=\"nofollow noopener\"> Tom&#8217;s Hardware on Google News<\/a>, or<a data-analytics-id=\"inline-link\" href=\"https:\/\/google.com\/preferences\/source?q=\" target=\"_blank\" data-url=\"https:\/\/google.com\/preferences\/source?q=\" referrerpolicy=\"no-referrer-when-downgrade\" data-hl-processed=\"none\" data-mrf-recirculation=\"inline-link\" rel=\"nofollow noopener\"> add us as a preferred source<\/a>, to get our latest news, analysis, &amp; reviews in your feeds.<\/p>\n<p class=\"newsletter-form__strapline\">Get Tom&#8217;s Hardware&#8217;s best news and in-depth reviews, straight to your inbox.<\/p>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"AMD&#8217;s Linux graphics stack had an unusual moment this past week. Anush Elangovan, a corporate VP at AMD,&hellip;\n","protected":false},"author":2,"featured_media":318255,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[365,363,364,111,139,69,145],"class_list":["post-318254","post","type-post","status-publish","format-standard","has-post-thumbnail","category-artificial-intelligence","tag-ai","tag-artificial-intelligence","tag-artificialintelligence","tag-new-zealand","tag-newzealand","tag-nz","tag-technology"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/posts\/318254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/comments?post=318254"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/posts\/318254\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/media\/318255"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/media?parent=318254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/categories?post=318254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/nz\/wp-json\/wp\/v2\/tags?post=318254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}