[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"public-config":3,"i-flag:ph-4x3":14,"i-flag:us-4x3":19,"i-flag:de-4x3":21,"i-flag:hk-4x3":23,"i-tabler:lifebuoy":25,"i-tabler:timeline":28,"i-tabler:apps":30,"i-tabler:package":32,"i-tabler:circle-half-2":34,"i-tabler:sun":36,"i-tabler:moon":38,"i-tabler:menu-2":40,"i-tabler:user":42,"i-tabler:notebook":44,"i-simple-icons:forgejo":46,"i-tabler:shield-lock":48,"i-tabler:tools":50,"i-tabler:calendar":52,"i-tabler:x":54,"$f3q06bcufn9xhq":56,"i-tabler:arrow-left":73,"i-tabler:tag":75},{"matomo":4,"booking":7,"site":9,"blog":11,"newsletter":12},{"enabled":5,"siteId":6},true,"7",{"enabled":5,"url":8},"https:\u002F\u002Fcal.com\u002Fjdbungart",{"url":10},"https:\u002F\u002Fjdneer.com",{"enabled":5},{"enabled":13},false,{"left":15,"top":15,"width":16,"height":17,"rotate":15,"vFlip":13,"hFlip":13,"body":18},0,640,480,"\u003Cpath fill=\"#0038a8\" d=\"M0 0h640v240H0z\"\u002F>\u003Cpath fill=\"#ce1126\" d=\"M0 240h640v240H0z\"\u002F>\u003Cpath fill=\"#fff\" d=\"M415.7 240L0 480V0\"\u002F>\u003Cpath fill=\"#fcd116\" d=\"M26.7 42.4L41 55l16.6-9.2l-7.4 17.5l14 13l-19-1.6l-8.1 17.2l-4.3-18.5L14 71l16.3-10zm323.8 172.3l.4 19l18 6.3l-18 6.2l-.4 19l-11.5-15.1l-18.2 5.5l10.8-15.6l-10.8-15.6l18.2 5.5zM37.2 388.1l8 17.2l19-1.6l-13.9 13l7.4 17.5l-16.6-9.1l-14.4 12.4l3.6-18.7L14 409l18.9-2.4zm114.2-249l-6.2 6.2l3.1 47l-3 .3l-5.7-42.9l-5.1 5l7.6 38.4a48 48 0 0 0-17.2 7.1l-21.7-32.4H96l26.4 34.3l-2.4 2l-31.1-35.5h-8.8v8.8l35.4 31l-2 2.5l-34.3-26.3v7.1l32.5 21.7q-5.2 7.8-7.1 17.2L66.3 223l-5.1 5l42.9 5.7q-.3 1.6-.3 3.1l-47-3l-6.2 6.2l6.2 6.2l47-3.1l.3 3.1l-42.9 5.7l5 5l38.4-7.6a48 48 0 0 0 7.1 17.2l-32.5 21.7v7.2l34.3-26.3l2 2.4l-35.4 31v8.8H89l31-35.4l2.5 2L96 312.2h7.2l21.7-32.5q7.8 5.2 17.2 7.1l-7.6 38.4l5 5l5.7-42.9q1.5.3 3.1.3l-3 47l6.1 6.2l6.3-6.2l-3.1-47l3-.3l5.7 43l5.1-5.1l-7.6-38.4a48 48 0 0 0 17.2-7.1l21.7 32.5h7.2l-26.4-34.3l2.4-2l31.1 35.4h8.8v-8.8l-35.4-31l2-2.4l34.3 26.3v-7.2l-32.5-21.7q5.2-7.8 7.1-17.2l38.3 7.6l5.1-5l-42.9-5.7q.3-1.5.3-3.1l47 3l6.2-6.1l-6.2-6.2l-47 3l-.3-3l42.9-5.7l-5-5l-38.4 7.5a48 48 0 0 0-7.1-17.2l32.5-21.7v-7.1l-34.3 26.3l-2-2.4l35.4-31v-8.9H214l-31 35.5l-2.5-2l26.4-34.3h-7.2L178 200.2q-7.8-5.2-17.2-7.1l7.6-38.3l-5-5l-5.7 42.8l-3.1-.3l3-47z\"\u002F>",{"left":15,"top":15,"width":16,"height":17,"rotate":15,"vFlip":13,"hFlip":13,"body":20},"\u003Cpath fill=\"#bd3d44\" d=\"M0 0h640v480H0\"\u002F>\u003Cpath stroke=\"#fff\" stroke-width=\"37\" d=\"M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640\"\u002F>\u003Cpath fill=\"#192f5d\" d=\"M0 0h364.8v258.5H0\"\u002F>\u003Cmarker id=\"SVGEq3dreKJ\" markerHeight=\"30\" markerWidth=\"30\">\u003Cpath fill=\"#fff\" d=\"m14 0l9 27L0 10h28L5 27z\"\u002F>\u003C\u002Fmarker>\u003Cpath fill=\"none\" marker-mid=\"url(#SVGEq3dreKJ)\" d=\"m0 0l16 11h61h61h61h61h60L47 37h61h61h60h61L16 63h61h61h61h61h60L47 89h61h61h60h61L16 115h61h61h61h61h60L47 141h61h61h60h61L16 166h61h61h61h61h60L47 192h61h61h60h61L16 218h61h61h61h61h60z\"\u002F>",{"left":15,"top":15,"width":16,"height":17,"rotate":15,"vFlip":13,"hFlip":13,"body":22},"\u003Cpath fill=\"#fc0\" d=\"M0 320h640v160H0z\"\u002F>\u003Cpath fill=\"#000001\" d=\"M0 0h640v160H0z\"\u002F>\u003Cpath fill=\"red\" d=\"M0 160h640v160H0z\"\u002F>",{"left":15,"top":15,"width":16,"height":17,"rotate":15,"vFlip":13,"hFlip":13,"body":24},"\u003Cpath fill=\"#ec1b2e\" d=\"M0 0h640v480H0\"\u002F>\u003Cpath id=\"SVG5tfvBPpj\" fill=\"#fff\" d=\"M346.3 103.1C267 98 230.6 201.9 305.6 240.3c-26-22.4-20.6-55.3-10.1-72.4l1.9 1.1c-13.8 23.5-11.2 52.7 11.1 71c-12.7-12.3-9.5-39 12.1-48.9s23.6-39.3 16.4-49.1q-14.7-25.6 9.3-38.9M307.9 164l-4.7 7.4l-1.8-8.6l-8.6-2.3l7.8-4.3l-.6-8.9l6.5 6.1l8.3-3.3l-3.7 8.1l5.6 6.8z\"\u002F>\u003Cuse href=\"#SVG5tfvBPpj\" transform=\"rotate(72 312.5 243.5)\"\u002F>\u003Cuse href=\"#SVG5tfvBPpj\" transform=\"rotate(144 312.5 243.5)\"\u002F>\u003Cuse href=\"#SVG5tfvBPpj\" transform=\"rotate(216 312.5 243.5)\"\u002F>\u003Cuse href=\"#SVG5tfvBPpj\" transform=\"rotate(288 312.5 243.5)\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":27},24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0\"\u002F>\u003Cpath d=\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m12 3l3.35 3.35M9 15l-3.35 3.35m0-12.7L9 9m9.35-3.35L15 9\"\u002F>\u003C\u002Fg>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":29},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m4 16l6-7l5 5l5-6\"\u002F>\u003Cpath d=\"M14 14a1 1 0 1 0 2 0a1 1 0 1 0-2 0M9 9a1 1 0 1 0 2 0a1 1 0 1 0-2 0m-6 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m16-8a1 1 0 1 0 2 0a1 1 0 1 0-2 0\"\u002F>\u003C\u002Fg>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":31},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm0 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zm0-8h6m-3-3v6\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":33},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 3l8 4.5v9L12 21l-8-4.5v-9zm0 9l8-4.5M12 12v9m0-9L4 7.5m12-2.25l-8 4.5\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":35},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9-9v18m0-7l7-7m-7 12l8.5-8.5M12 9l4.5-4.5\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":37},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0m-5 0h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7l-.7.7m0 11.4l.7.7m-12.1-.7l-.7.7\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":39},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992z\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":41},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":43},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":45},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m3 0v18m4-14h2m-2 4h2\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":47},"\u003Cpath fill=\"currentColor\" d=\"M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.08 7.08 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422a2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24A2.9 2.9 0 0 1 5.8 18.57V8.589a7.11 7.11 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0M7.223 19.905a1.194 1.194 0 1 0 0 2.389a1.194 1.194 0 0 0 0-2.389m9.554-10.464a1.194 1.194 0 1 0 0 2.389a1.194 1.194 0 0 0 0-2.39m0-7.735a1.194 1.194 0 1 0 0 2.389a1.194 1.194 0 0 0 0-2.389\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":49},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 3a12 12 0 0 0 8.5 3A12 12 0 0 1 12 21A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3\"\u002F>\u003Cpath d=\"M11 11a1 1 0 1 0 2 0a1 1 0 1 0-2 0m1 1v2.5\"\u002F>\u003C\u002Fg>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":51},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 21h4L20 8a1.5 1.5 0 0 0-4-4L3 17zM14.5 5.5l4 4\"\u002F>\u003Cpath d=\"M12 8L7 3L3 7l5 5M7 8L5.5 9.5M16 12l5 5l-4 4l-5-5m4 1l-1.5 1.5\"\u002F>\u003C\u002Fg>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":53},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":55},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M18 6L6 18M6 6l12 12\"\u002F>",{"slug":57,"title":58,"excerpt":59,"image":60,"publishedAt":61,"topics":62,"readMinutes":63,"html":64,"metaTitle":58,"metaDescription":65,"shareImage":66,"updatedAt":61,"author":70,"related":72},"running-120b-models-on-a-mini-pc-my-read-of-the-strix-halo-benchmarks","Running 120B Models on a Mini PC: My Read of the Strix Halo Benchmarks","AMD's Strix Halo mini PCs can load 120B-class models into 128GB of unified memory. Bandwidth caps the speed, but published tests show MoE models running fast enough for coding agents. My read of the numbers, ROCm status and setup.","\u002Fcontent\u002Fimages\u002F2026\u002F10\u002Fapu-motherboard-inkiipow-unsplash.jpg","2026-10-18T23:45:12.000+08:00",[],10,"\u003Cp>Strix Halo boxes keep coming up in conversations about local AI: mini PCs built around AMD's Ryzen AI Max+ 395 with up to 128GB of unified memory. They are also about to become part of my own setup. I run a mix of discrete GPU nodes for different use cases, both standalone and clustered, and Strix Halo nodes will be joining them soon. Those nodes are not in yet, so every benchmark number in this post comes from published results, checked against their original sources, with the ones that did not hold up left out.\u003C\u002Fp>\u003Cp>The short version: memory bandwidth is a real limit, and nobody should expect datacenter speeds. But the remarkable part is that these machines can run very large models at all, on a single quiet box that costs a fraction of a multi-GPU rig with the same amount of memory.\u003C\u002Fp>\u003Ch2 id=\"the-hardware-and-the-price\">The hardware and the price\u003C\u002Fh2>\u003Cp>The Ryzen AI Max+ 395 pairs 16 Zen 5 cores with a Radeon 8060S integrated GPU (40 compute units, LLVM target \u003Ccode>gfx1151\u003C\u002Fcode>) and a 256-bit LPDDR5X memory bus. The CPU and GPU share the same memory pool, so a 128GB machine can hand most of that to the GPU. That is what lets a roughly 60GB model like OpenAI's gpt-oss-120b load at all.\u003C\u002Fp>\u003Cp>The one price I am willing to quote comes from the vendor's own page: on October 18, Framework's \u003Ca href=\"https:\u002F\u002Fframe.work\u002Fproducts\u002Fdesktop-diy-amd-aimax300?ref=ghost.jdneer.com\">DIY Edition configurator\u003C\u002Fa> listed the Max+ 395 with 128GB at $3,449, marked out of stock at the time. That is the DIY Edition configurator price, not a finished system with every option. Other vendors such as GMKtec, Beelink and Corsair sell boxes on the same chip, and several of the benchmarks below come from those.\u003C\u002Fp>\u003Ch2 id=\"bandwidth-is-the-real-limit\">Bandwidth is the real limit\u003C\u002Fh2>\u003Cp>When a model generates text, it has to read its active weights from memory for every token. On this platform that makes memory bandwidth the ceiling. The theoretical peak for a 256-bit bus at 8000 MT\u002Fs is 256 GB\u002Fs. Tester lhl, posting on the \u003Ca href=\"https:\u002F\u002Fforum.level1techs.com\u002Ft\u002Fstrix-halo-ryzen-ai-max-395-llm-benchmark-results\u002F233796?ref=ghost.jdneer.com\">Level1Techs forum\u003C\u002Fa>, measured \"~215 GB\u002Fs max GPU MBW out of a 256 GB\u002Fs theoretical.\"\u003C\u002Fp>\u003Cp>The visorcraft benchmark repository puts it bluntly in its key findings: \"Bandwidth wall dominates on Strix Halo unified memory.\"\u003C\u002Fp>\u003Ch2 id=\"why-mixture-of-experts-models-are-the-sweet-spot\">Why mixture-of-experts models are the sweet spot\u003C\u002Fh2>\u003Cp>This is where the picture gets much better. A dense model reads all of its weights for every token. A mixture-of-experts (MoE) model reads only the experts it activates, often a few billion parameters out of a hundred billion or more. On a bandwidth-limited machine, active parameters matter far more than total size.\u003C\u002Fp>\u003Cp>The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvisorcraft\u002Fstrix-halo-llm-perf?ref=ghost.jdneer.com\">visorcraft\u003C\u002Fa> results show it clearly. Its authors note that \"active parameters predict tg well for MoE models on this platform,\" with roughly 61 to 86 tokens per second at 3B active, about 29 to 33 at around 10B active, and about 17 at 22B active. Meanwhile, the dense Llama 3.1 70B managed 5.1 tokens per second. Dense models in the 27B range landed between about 7.8 and 10.7 tokens per second across the How Quant and przbadu runs below.\u003C\u002Fp>\u003Cp>In practice, that makes models like gpt-oss-120b, Qwen3-Coder-Next 80B-A3B and the Qwen3.5\u002F3.6 35B-A3B family the natural fit, while large dense models are possible but slow.\u003C\u002Fp>\u003Ch2 id=\"the-published-numbers\">The published numbers\u003C\u002Fh2>\u003Cp>A word of caution before the tables: \u003Cstrong>these are not apples-to-apples comparisons.\u003C\u002Fstrong> Each source used different machines, quantizations, backends, llama.cpp builds, power settings and test sizes. I grouped them by source and kept each setup next to its figure. Compare rows within a table, not across tables. \"Prompt\" is prompt processing (how fast the model reads input), and \"generation\" is how fast it writes output.\u003C\u002Fp>\u003Ch3 id=\"visorcraftstrix-halo-llm-perf\">visorcraft\u002Fstrix-halo-llm-perf\u003C\u002Fh3>\u003Cp>Setup: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvisorcraft\u002Fstrix-halo-llm-perf?ref=ghost.jdneer.com\">GMKtec EVO-X2 and Beelink GTR9 Pro\u003C\u002Fa>, Fedora 43, kernel \"6.18.x class,\" llama.cpp \u003Ccode>llama-bench\u003C\u002Fcode>. Tests are \u003Ccode>pp512\u003C\u002Fcode> and \u003Ccode>tg128\u003C\u002Fcode>. The repository reports the \"best observed configuration per model,\" so the backend (ROCm or Vulkan) varies by row, and it lists 120W as the usual winning power profile. Results were published in early 2026.\u003C\u002Fp>\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Model\u003C\u002Fth>\u003Cth>Setup\u003C\u002Fth>\u003Cth>Prompt t\u002Fs\u003C\u002Fth>\u003Cth>Gen t\u002Fs\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Qwen3 30B-A3B (MoE)\u003C\u002Ftd>\u003Ctd>Q4_K_M\u003C\u002Ftd>\u003Ctd>1,142\u003C\u002Ftd>\u003Ctd>86.1\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3-Coder-Next 80B-A3B (MoE)\u003C\u002Ftd>\u003Ctd>Q4_K_M\u003C\u002Ftd>\u003Ctd>531\u003C\u002Ftd>\u003Ctd>42.7\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>MiniMax M2.5, 229B (MoE)\u003C\u002Ftd>\u003Ctd>Q3_K_M\u003C\u002Ftd>\u003Ctd>156\u003C\u002Ftd>\u003Ctd>32.8\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3-235B-A22B (MoE)\u003C\u002Ftd>\u003Ctd>Q3_K_M\u003C\u002Ftd>\u003Ctd>101\u003C\u002Ftd>\u003Ctd>17.2\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Llama 3.1 70B (dense)\u003C\u002Ftd>\u003Ctd>Q4_K_M\u003C\u002Ftd>\u003Ctd>81.6\u003C\u002Ftd>\u003Ctd>5.1\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Cp>The same repository says MiniMax M2.5 \"sustains roughly ~30 t\u002Fs in llama-server usage with long-context configurations.\"\u003C\u002Fp>\u003Ch3 id=\"framework-community-and-servethehome\">Framework community and ServeTheHome\u003C\u002Fh3>\u003Cp>The first row is a \u003Ca href=\"https:\u002F\u002Fcommunity.frame.work\u002Ft\u002Famd-strix-halo-ryzen-ai-max-395-gpu-llm-performance-tests\u002F72521\u002F6?ref=ghost.jdneer.com\">Framework community forum post\u003C\u002Fa> by user Djip from September 19, 2025, using a ROCm 7 release candidate with WMMA flash attention; its figures are \u003Ccode>pp2048\u003C\u002Fcode> and \u003Ccode>tg16\u003C\u002Fcode>. The second is from \u003Ca href=\"https:\u002F\u002Fwww.servethehome.com\u002Fframework-desktop-review-a-solid-amd-strix-halo\u002F4\u002F?ref=ghost.jdneer.com\">ServeTheHome's Framework Desktop review\u003C\u002Fa>, which reported gpt-oss-120b at about 45 tokens per second in LM Studio with default settings.\u003C\u002Fp>\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Model\u003C\u002Fth>\u003Cth>Setup\u003C\u002Fth>\u003Cth>Prompt t\u002Fs\u003C\u002Fth>\u003Cth>Gen t\u002Fs\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>gpt-oss-120b (forum)\u003C\u002Ftd>\u003Ctd>MXFP4, ROCm 7 RC, WMMA FA\u003C\u002Ftd>\u003Ctd>1,020\u003C\u002Ftd>\u003Ctd>46.1\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>gpt-oss-120b (STH)\u003C\u002Ftd>\u003Ctd>MXFP4, LM Studio defaults\u003C\u002Ftd>\u003Ctd>n\u002Fa\u003C\u002Ftd>\u003Ctd>about 45\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Ch3 id=\"how-quant\">How Quant\u003C\u002Fh3>\u003Cp>Setup: \u003Ca href=\"https:\u002F\u002Fhowquant.dev\u002Fbenchmarks\u002Fstrix-halo-rocm-vs-vulkan\u002F?ref=ghost.jdneer.com\">Corsair AI Workstation 300\u003C\u002Fa>, Ubuntu 24.04.4, kernel 6.18.36, llama.cpp commit \u003Ccode>c060ca974\u003C\u002Fcode> (build 10603) for both backends, flash attention on, Balanced power mode, mean of five runs. Figures are \u003Ccode>pp2048\u003C\u002Fcode> and \u003Ccode>tg128\u003C\u002Fcode>; the Vulkan rows used RADV from Mesa 26.1.7. Updated September 16, 2026.\u003C\u002Fp>\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Model\u003C\u002Fth>\u003Cth>Setup\u003C\u002Fth>\u003Cth>Prompt t\u002Fs\u003C\u002Fth>\u003Cth>Gen t\u002Fs\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Qwen3.8-27B (dense)\u003C\u002Ftd>\u003Ctd>Q8_0, ROCm 7.14\u003C\u002Ftd>\u003Ctd>322.8\u003C\u002Ftd>\u003Ctd>7.76\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3.8-27B (dense)\u003C\u002Ftd>\u003Ctd>Q8_0, Vulkan RADV\u003C\u002Ftd>\u003Ctd>268.3\u003C\u002Ftd>\u003Ctd>7.77\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3.6-35B-A3B (MoE)\u003C\u002Ftd>\u003Ctd>Q8_0, ROCm 7.14\u003C\u002Ftd>\u003Ctd>1,010.7\u003C\u002Ftd>\u003Ctd>47.47\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3.6-35B-A3B (MoE)\u003C\u002Ftd>\u003Ctd>Q8_0, Vulkan RADV\u003C\u002Ftd>\u003Ctd>973.6\u003C\u002Ftd>\u003Ctd>54.22\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Ch3 id=\"przbadustrix-halo-benchmarks\">przbadu\u002Fstrix-halo-benchmarks\u003C\u002Fh3>\u003Cp>Setup: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fprzbadu\u002Fstrix-halo-benchmarks?ref=ghost.jdneer.com\">Unsloth UD quants\u003C\u002Fa>, \u003Ccode>llama-bench\u003C\u002Fcode> at 512 prompt tokens and 128 generated tokens. The ROCm 7.2 run used Fedora with kernel 6.18.13 and llama.cpp build \u003Ccode>d417bc43\u003C\u002Fcode> (8245). The Vulkan run used Proxmox with kernel 6.17.4 and does not list a llama.cpp build, so the two columns differ in more than the backend. Published March 2026.\u003C\u002Fp>\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Model\u003C\u002Fth>\u003Cth>Setup\u003C\u002Fth>\u003Cth>pp512 (tok\u002Fs)\u003C\u002Fth>\u003Cth>tg128 (tok\u002Fs)\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Qwen3.5-27B (dense)\u003C\u002Ftd>\u003Ctd>UD-Q4_K_XL, ROCm 7.2\u003C\u002Ftd>\u003Ctd>264.3\u003C\u002Ftd>\u003Ctd>9.96\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3.5-27B (dense)\u003C\u002Ftd>\u003Ctd>UD-Q4_K_XL, Vulkan\u003C\u002Ftd>\u003Ctd>220.4\u003C\u002Ftd>\u003Ctd>10.66\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3.5-35B-A3B (MoE)\u003C\u002Ftd>\u003Ctd>UD-Q4_K_XL, ROCm 7.2\u003C\u002Ftd>\u003Ctd>887.2\u003C\u002Ftd>\u003Ctd>39.70\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3.5-35B-A3B (MoE)\u003C\u002Ftd>\u003Ctd>UD-Q4_K_XL, Vulkan\u003C\u002Ftd>\u003Ctd>865.7\u003C\u002Ftd>\u003Ctd>53.39\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3-Coder-Next (MoE)\u003C\u002Ftd>\u003Ctd>UD-Q4_K_XL, ROCm 7.2\u003C\u002Ftd>\u003Ctd>524.6\u003C\u002Ftd>\u003Ctd>41.97\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Qwen3-Coder-Next (MoE)\u003C\u002Ftd>\u003Ctd>UD-Q4_K_XL, Vulkan\u003C\u002Ftd>\u003Ctd>421.4\u003C\u002Ftd>\u003Ctd>40.08\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>GPT-OSS-120B\u003C\u002Ftd>\u003Ctd>UD-Q8_K_XL, ROCm 7.2\u003C\u002Ftd>\u003Ctd>499.4\u003C\u002Ftd>\u003Ctd>42.06\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>GPT-OSS-120B\u003C\u002Ftd>\u003Ctd>UD-Q8_K_XL, Vulkan\u003C\u002Ftd>\u003Ctd>443.3\u003C\u002Ftd>\u003Ctd>42.13\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Ch2 id=\"rocm-or-vulkan\">ROCm or Vulkan?\u003C\u002Fh2>\u003Cp>I went in expecting a simple rule, and there isn't one. The winner depends on the model and on whether you care more about reading the prompt or writing the answer.\u003C\u002Fp>\u003Cp>How Quant, which held everything constant except the backend, found that ROCm processed prompts 19 to 22 percent faster on the dense 27B model while generation was a tie. On the MoE model, prompt speed was \"within 4%,\" and Vulkan generated tokens 14.2 percent faster. przbadu saw bigger Vulkan generation leads on some MoE models (53.39 vs. 39.70 on Qwen3.5-35B-A3B) but a small ROCm lead on Qwen3-Coder-Next. visorcraft found ROCm best for prompt processing and Vulkan best for generation on its key models.\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.phoronix.com\u002Freview\u002Flemonade-vulkan-rocm\u002F2?ref=ghost.jdneer.com\">Phoronix\u003C\u002Fa> tested AMD's Lemonade local AI server (version 2026.39.1, which uses llama.cpp b10825) on a Framework Desktop on October 5, 2026. Michael Larabel wrote that Vulkan \"was still delivering consistently better performance than ROCm. Typically slightly better but consistent nevertheless,\" while \"ROCm on the other hand was consistently achieving lower times to the first token over Vulkan, sometimes with very significant margins.\"\u003C\u002Fp>\u003Cp>My take for coding agents, and it is an opinion rather than a rule: they send long prompts full of files and tool output, so time to first token and prompt processing matter a lot. That often tilts things toward ROCm for agent work, though not always. ROCm's prompt-processing lead was clear on How Quant's dense model but within 4% on its MoE test, so the stronger argument is Phoronix's Lemonade result, where ROCm consistently reached the first token sooner. Vulkan can be the better pick for chat-style use where generation speed dominates. It is worth testing both on your own model.\u003C\u002Fp>\u003Ch2 id=\"ollama-or-a-tuned-llamacpp\">Ollama or a tuned llama.cpp?\u003C\u002Fh2>\u003Cp>Ollama is the easy path. Its \u003Ca href=\"https:\u002F\u002Fdocs.ollama.com\u002Fgpu?ref=ghost.jdneer.com\">GPU docs\u003C\u002Fa> list \"gfx1151 Ryzen AI Max+ 395\" among supported ROCm targets, say \"Ollama requires the AMD ROCm v7 driver on Linux,\" and note that Vulkan provides additional AMD GPU support. LM Studio is similarly friendly, and ServeTheHome's roughly 45 tokens per second on gpt-oss-120b came from its default settings.\u003C\u002Fp>\u003Cp>Every number in the tables above, though, comes from llama.cpp builds where the tester chose the backend, build and flags. That control is the main reason to run llama.cpp directly: you can pick ROCm or Vulkan per model and follow upstream fixes quickly. I did not find an Ollama benchmark on Strix Halo from a source I would stand behind, so I can't put a number on the gap.\u003C\u002Fp>\u003Cp>Tuning is not magic either. visorcraft reports that \"speculative decoding, unified KV flags, no-mmap, and batch-size tuning produced negligible gains in this setup.\" How Quant, on the other hand, saw MTP speculative decoding more than double coding throughput on its dense 27B model with ROCm (7.62 to 15.67 tokens per second), with much smaller gains on the MoE model. Results depend heavily on the model.\u003C\u002Fp>\u003Ch2 id=\"amds-official-rocm-support\">AMD's official ROCm support\u003C\u002Fh2>\u003Cp>As of October 18, AMD's \u003Ca href=\"https:\u002F\u002Frocm.docs.amd.com\u002Fen\u002Flatest\u002Fcompatibility\u002Fcompatibility-matrix.html?ref=ghost.jdneer.com\">ROCm compatibility matrix\u003C\u002Fa> for the current release, ROCm 10.1.0, lists the \"AMD Ryzen AI Max+ 395 (Radeon 8060S) (gfx1151)\" with \"Supported Ubuntu versions 26.04.1 (kernel: GA 7.0) 24.04.5 (kernel: HWE 7.0).\"\u003C\u002Fp>\u003Cp>AMD's \u003Ca href=\"https:\u002F\u002Frocm.docs.amd.com\u002Fen\u002Flatest\u002Freference\u002Fsystem-optimization\u002Frdna3-5.html?ref=ghost.jdneer.com\">RDNA3.5 system optimization page\u003C\u002Fa> adds kernel requirements for the Ryzen AI Max series, saying the fixes are needed so that compute workloads do not \"fail to initialize or exhibit unpredictable behavior.\" The minimum kernels it lists are:\u003C\u002Fp>\u003Cul>\u003Cli>Ubuntu 24.04 HWE: 6.17.0-19.19~24.04.2 or later\u003C\u002Fli>\u003Cli>Ubuntu 24.04 OEM: 6.14.0-1018 or later\u003C\u002Fli>\u003Cli>All other distributions: Linux kernel 6.18.4 or later\u003C\u002Fli>\u003C\u002Ful>\u003Cp>For AMD's pre-built binaries, the same page rates each ROCm release like this. \"Ubuntu\" covers the HWE and OEM kernels above plus Ubuntu 26.04 Generic; \"Other\" means other distributions by kernel version.\u003C\u002Fp>\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>ROCm\u003C\u002Fth>\u003Cth>Ubuntu\u003C\u002Fth>\u003Cth>Other, 6.18.4+\u003C\u002Fth>\u003Cth>Other, older\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>10.0.0, 10.1.0\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Experimental\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>7.14.0, 7.14.1\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Experimental\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>7.2.1 to 7.2.4\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Experimental\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>7.2.0\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Supported\u003C\u002Ftd>\u003Ctd>Unsupported\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>7.1.x, 6.4.x\u003C\u002Ftd>\u003Ctd>Unsupported\u003C\u002Ftd>\u003Ctd>Unsupported\u003C\u002Ftd>\u003Ctd>Experimental\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\n\u003Cp>AMD also notes that Fedora 43, Ubuntu 26.04 and Arch Linux 2026.02.01 ship the required fixes in their native packaging.\u003C\u002Fp>\u003Ch2 id=\"unified-memory-and-gpu-allocation\">Unified memory and GPU allocation\u003C\u002Fh2>\u003Cp>This trips people up. AMD's RDNA3.5 page explains that the GPU's usable shared memory (the GTT pool) defaults to \"approximately 50 percent of total system RAM.\" AMD recommends keeping the dedicated VRAM reservation in BIOS small, \"for example, 0.5 GB,\" and raising the shared limit instead. It provides a helper tool for that:\u003C\u002Fp>\u003Cpre>\u003Ccode>sudo apt install pipx\npipx ensurepath\npipx install amd-debug-tools\namd-ttm\namd-ttm --set 100\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The last command sets the usable shared memory in GB, in AMD's example 100GB on a 128GB machine, and it needs a reboot. \u003Ccode>amd-ttm --clear\u003C\u002Fcode> reverts to kernel defaults.\u003C\u002Fp>\u003Ch2 id=\"practical-setup-notes\">Practical setup notes\u003C\u002Fh2>\u003Cp>\u003Cstrong>Building llama.cpp.\u003C\u002Fstrong> The \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Fdocs\u002Fbuild.md?ref=ghost.jdneer.com\">llama.cpp build docs\u003C\u002Fa> give this HIP (ROCm) command. Their example targets \u003Ccode>gfx1030\u003C\u002Fcode>, so for Strix Halo, change \u003Ccode>GPU_TARGETS\u003C\u002Fcode> to \u003Ccode>gfx1151\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>HIPCXX=\"$(hipconfig -l)\u002Fclang\" HIP_PATH=\"$(hipconfig -R)\" \\\n  cmake -S . -B build -DGGML_HIP=ON \\\n  -DGPU_TARGETS=gfx1151 -DCMAKE_BUILD_TYPE=Release \\\n  &amp;&amp; cmake --build build --config Release -- -j 16\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The Vulkan build is simpler:\u003C\u002Fp>\u003Cpre>\u003Ccode>cmake -B build -DGGML_VULKAN=ON\ncmake --build build --config Release\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>Prebuilt containers.\u003C\u002Fstrong> visorcraft's quick start uses the community kyuz0 toolbox images instead of building from source:\u003C\u002Fp>\u003Cpre>\u003Ccode>podman pull \\\n  docker.io\u002Fkyuz0\u002Famd-strix-halo-toolboxes:vulkan-radv\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>Other servers.\u003C\u002Fstrong> AMD-backed \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flemonade-sdk\u002Flemonade?ref=ghost.jdneer.com\">Lemonade\u003C\u002Fa> lists ROCm and Vulkan llama.cpp backends, plus vLLM on ROCm for the \"Strix Halo iGPU (gfx1151).\" Its server speaks \"standard OpenAI, Anthropic, and Ollama APIs.\"\u003C\u002Fp>\u003Ch2 id=\"pairing-it-with-coding-agents\">Pairing it with coding agents\u003C\u002Fh2>\u003Cp>This is the use case that got the question started, and it is close to what I am working on: a little tooling around llama.cpp and \u003Ca href=\"https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002F?ref=ghost.jdneer.com\">LiteLLM\u003C\u002Fa> for business and software-factory automation. The popular command-line coding agents can all point at a local server. Desktop tools that juggle several agents at once, like Orca (\u003Ca href=\"https:\u002F\u002Fghost.jdneer.com\u002F2026\u002F10\u002F18\u002Forca-wants-to-be-the-workbench-for-your-fleet-of-coding-agents-heres-what-developers-say\u002F\">here is our look at it\u003C\u002Fa>), simply launch these same CLIs, so the configuration below carries over.\u003C\u002Fp>\u003Cp>\u003Cstrong>Claude Code\u003C\u002Fstrong> reads \u003Ccode>ANTHROPIC_BASE_URL\u003C\u002Fcode> and works with servers that speak Anthropic's Messages API. From \u003Ca href=\"https:\u002F\u002Fdocs.ollama.com\u002Fintegrations\u002Fclaude-code?ref=ghost.jdneer.com\">Ollama's guide\u003C\u002Fa>:\u003C\u002Fp>\u003Cpre>\u003Ccode>export ANTHROPIC_AUTH_TOKEN=ollama\nexport ANTHROPIC_API_KEY=\"\"\nexport ANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:11434\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>LM Studio's docs use \u003Ccode>export ANTHROPIC_BASE_URL=http:\u002F\u002Flocalhost:1234\u003C\u002Fcode> with \u003Ccode>ANTHROPIC_AUTH_TOKEN=lmstudio\u003C\u002Fcode>.\u003C\u002Fp>\u003Cp>\u003Cstrong>Codex\u003C\u002Fstrong> has a local mode. OpenAI's \u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fconfig-advanced?ref=ghost.jdneer.com\">docs\u003C\u002Fa> say it can run against Ollama or LM Studio \"when you pass \u003Ccode>--oss\u003C\u002Fcode>,\" with the default set in \u003Ccode>config.toml\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>oss_provider = \"ollama\" # or \"lmstudio\"\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>OpenCode\u003C\u002Fstrong> takes any OpenAI-compatible endpoint. Its \u003Ca href=\"https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fproviders\u002F?ref=ghost.jdneer.com\">providers docs\u003C\u002Fa> show this pattern for llama.cpp's \u003Ccode>llama-server\u003C\u002Fcode> in \u003Ccode>opencode.json\u003C\u002Fcode> (shortened):\u003C\u002Fp>\u003Cpre>\u003Ccode>\"provider\": {\n  \"llama.cpp\": {\n    \"npm\": \"@ai-sdk\u002Fopenai-compatible\",\n    \"name\": \"llama-server (local)\",\n    \"options\": {\n      \"baseURL\": \"http:\u002F\u002F127.0.0.1:8080\u002Fv1\"\n    }\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>How good are local models at actual coding? The most useful test I found is from a personal blog, so weigh it as one person's careful work, not an industry benchmark. Darren Soothill's \u003Ca href=\"https:\u002F\u002Fwww.soothill.io\u002Fblog\u002F2026\u002F08\u002F14\u002Fcoding-model-benchmark-strix-halo\u002F?ref=ghost.jdneer.com\">Soot \u002F Silicon\u003C\u002Fa> ran 23 local model deployments through ten executable coding tasks on a 128GB GMKtec EVO-X3, with a 32,768-token context and a single first response per task. gpt-oss-120b (MXFP4) scored best at 9 of 10, at 21.2 seconds per task and 50.2 tokens per second. Qwen AgentWorld 35B-A3B (Q6_K) reached 8 of 10 at 7.2 seconds per task. The fastest decoder, Qwen3-Coder 30B-A3B (Q4_K_S) at 67.5 tokens per second, passed only five. His own summary: \"the fastest decoder was not the most accurate.\"\u003C\u002Fp>\u003Ch2 id=\"my-take\">My take\u003C\u002Fh2>\u003Cp>If you want frontier-model speed, a Strix Halo box isn't it, and the bandwidth numbers explain why. But being able to load a 120B-class model on one small machine, run it at 40-plus tokens per second, and point a coding agent at it without sending code to anyone's cloud is genuinely remarkable for a few thousand dollars.\u003C\u002Fp>\u003Cp>When my Strix Halo nodes go in, I'll start with an MoE model like gpt-oss-120b or Qwen3-Coder-Next, use a ROCm release and kernel from AMD's supported list, raise the GTT limit with \u003Ccode>amd-ttm\u003C\u002Fcode>, and try both ROCm and Vulkan builds of llama.cpp on my own prompts before settling on one. After that comes the part I am most curious about: seeing where they fit next to the discrete GPU nodes, standalone and clustered, and wiring them into the llama.cpp and LiteLLM tooling I am building.\u003C\u002Fp>\u003Cp>\u003Cem>Sources: \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvisorcraft\u002Fstrix-halo-llm-perf?ref=ghost.jdneer.com\">\u003Cem>visorcraft\u002Fstrix-halo-llm-perf\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fhowquant.dev\u002Fbenchmarks\u002Fstrix-halo-rocm-vs-vulkan\u002F?ref=ghost.jdneer.com\">\u003Cem>How Quant\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fprzbadu\u002Fstrix-halo-benchmarks?ref=ghost.jdneer.com\">\u003Cem>przbadu\u002Fstrix-halo-benchmarks\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fcommunity.frame.work\u002Ft\u002Famd-strix-halo-ryzen-ai-max-395-gpu-llm-performance-tests\u002F72521\u002F6?ref=ghost.jdneer.com\">\u003Cem>Framework community forum\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fwww.servethehome.com\u002Fframework-desktop-review-a-solid-amd-strix-halo\u002F4\u002F?ref=ghost.jdneer.com\">\u003Cem>ServeTheHome\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fforum.level1techs.com\u002Ft\u002Fstrix-halo-ryzen-ai-max-395-llm-benchmark-results\u002F233796?ref=ghost.jdneer.com\">\u003Cem>Level1Techs forum\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fwww.phoronix.com\u002Freview\u002Flemonade-vulkan-rocm\u002F2?ref=ghost.jdneer.com\">\u003Cem>Phoronix\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fwww.soothill.io\u002Fblog\u002F2026\u002F08\u002F14\u002Fcoding-model-benchmark-strix-halo\u002F?ref=ghost.jdneer.com\">\u003Cem>Soot \u002F Silicon\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Frocm.docs.amd.com\u002Fen\u002Flatest\u002Fcompatibility\u002Fcompatibility-matrix.html?ref=ghost.jdneer.com\">\u003Cem>AMD ROCm compatibility matrix\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Frocm.docs.amd.com\u002Fen\u002Flatest\u002Freference\u002Fsystem-optimization\u002Frdna3-5.html?ref=ghost.jdneer.com\">\u003Cem>AMD RDNA3.5 system optimization\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fdocs.ollama.com\u002Fgpu?ref=ghost.jdneer.com\">\u003Cem>Ollama docs\u003C\u002Fem>\u003C\u002Fa>\u003Cem>, \u003C\u002Fem>\u003Ca href=\"https:\u002F\u002Fframe.work\u002Fproducts\u002Fdesktop-diy-amd-aimax300?ref=ghost.jdneer.com\">\u003Cem>Framework\u003C\u002Fem>\u003C\u002Fa>\u003Cem>.\u003C\u002Fem>\u003C\u002Fp>","AMD's Strix Halo mini PCs can load 120B-class models into 128GB of unified memory. Bandwidth caps the speed, but published tests show MoE models running...",{"src":60,"height":67,"width":68,"type":69},1333,2000,"image\u002Fjpeg",{"name":71,"url":10,"owner":5},"JD Bungart",[],{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":74},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14M5 12l6 6m-6-6l6-6\"\u002F>",{"left":15,"top":15,"width":26,"height":26,"rotate":15,"vFlip":13,"hFlip":13,"body":76},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0-2 0\"\u002F>\u003Cpath d=\"M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592-5.592a2.41 2.41 0 0 0 0-3.408l-7.71-7.71A2 2 0 0 0 11.172 3H6a3 3 0 0 0-3 3\"\u002F>\u003C\u002Fg>"]