Creating custom kernels for the AMD MI300

Custom Kernels for the AMD MI300: The Hidden Skill That Will Decide Who Wins in AI

By · Published November 13, 2026 · Updated November 13, 2026

Most people picture AI progress as a race to build bigger models. In practice, a growing share of the real gains is coming from something far less glamorous: the tiny pieces of code that tell a chip exactly how to move numbers around. That is what "custom kernels for the AMD MI300" is really about, and it matters more than it sounds.

The MI300 is AMD's high-performance AI accelerator. Writing custom kernels for it means going past the standard software libraries and hand-building the inner loops that run directly on the hardware. It is technical, fussy work. It is also becoming one of the clearest signals of where AI is heading: away from "just buy more chips" and toward "make every chip you own work harder."

First, What Is a Kernel?

A kernel is a small function that runs on a graphics processor, or GPU. When you run an AI model, thousands of these small functions fire off in sequence. Each one might add two lists of numbers, multiply a matrix, or squash a value into a set range.

Here is the important part. Nearly everyone uses ready-made libraries to do this work. Those libraries are general-purpose. They are built to be safe and broadly useful, not to be as fast as possible for your exact model.

A custom kernel replaces the general-purpose version with one written for a specific job on a specific chip. Think of it as the difference between a store-bought suit and a tailored one. Both work. Only one fits perfectly.

Why the MI300 Changes the Conversation

For years, teams that wanted top performance had one obvious place to go, and one software ecosystem they had to learn. That is no longer true. The MI300 has made AMD a serious option for AI workloads, and that shift has consequences far beyond hardware shopping.

When a company commits to a new accelerator, it cannot simply copy its old code across. Kernels are tied to the way a chip organizes its memory, schedules its work, and handles its fastest math operations. Code tuned for one architecture will often run on another, but it will leave a lot of speed on the table.

That gap is exactly where custom kernel work lives. Teams write kernels for the MI300 to:

The Bottleneck Nobody Talks About

Ask an engineer where AI speed actually goes, and you will often hear the same answer: moving data, not doing math. The arithmetic units inside a modern accelerator can finish their work faster than memory can feed them.

That flips the usual thinking. The smartest optimization is frequently doing less, reading less, writing less, storing less. Custom kernels are one of the few tools that can deliver that. It is why a modest piece of hand-tuned code can sometimes beat a much larger hardware upgrade.

The Real-World Payoff: Cost Per Answer

For a business, GPU speed is not abstract. It shows up as cost per token, cost per image, or cost per prediction. If a custom kernel makes a model 20% more efficient, that is a 20% cut in the compute bill for that workload, every hour, every day, forever.

That math gets interesting at scale. A company running millions of AI requests a day feels a small efficiency gain much more than a startup running a demo. And a company that owns its own hardware, rather than renting it, captures the whole benefit itself.

There is a second payoff that gets less attention: latency. Fused kernels reduce the number of round trips through memory. Fewer round trips means faster responses. For chat assistants, coding tools, voice agents, and anything where a human is waiting, shaving milliseconds changes how the product feels.

The Catch: Kernels Are Expensive to Own

It would be easy to read all this and conclude every team should start writing custom kernels. That would be a mistake. Hand-written kernels are like pets: they need feeding.

They must be retuned when a model changes. They must be re-checked when the software stack updates. They require engineers who understand memory hierarchies, thread scheduling, and the quirks of a specific chip, a rare and costly skill set. And they add a debugging burden, because a kernel that produces subtly wrong numbers is far worse than one that produces slow right numbers.

Portability is the other trap. Code written tightly for one accelerator family tends to stay tightly bound to it. That cuts both ways: it can lock you into a vendor just as easily as it can free you from one.

When a Custom Kernel Is Worth It

The pattern that separates good bets from bad ones is fairly simple:

A useful rule of thumb: profile first, then optimize the hottest few percent. Most of the runtime in a typical model sits in a small handful of operations. Find them, and ignore the rest.

What This Means for the Future of AI

Three bigger trends sit behind the MI300 kernel story.

1. Hardware Is Diversifying, and Software Must Follow

For a decade, the safest assumption in AI infrastructure was that one vendor's chips and one vendor's software stack would carry nearly everything. That assumption is eroding. More accelerators from more companies means more choices, and more work.

The winners in this new world will not be the teams with the most hardware. They will be the teams whose software can move between hardware without starting over. Expect to see more investment in portability layers, compiler tooling, and kernel libraries that target several chips at once. Expect, too, that the open-source software stack around AMD keeps climbing in importance as a result.

2. Efficiency Becomes a Competitive Moat

When everyone can rent the same chips and use the same open models, efficiency is one of the few advantages left that a company can actually own. A team that serves the same model at half the cost can undercut on price, run more experiments, or simply keep more margin.

This pushes kernel-level skills from a niche specialty toward a mainstream engineering competency. It also changes hiring. The demand is shifting from people who can train a model to people who can serve one cheaply.

3. AI Starts Writing Its Own Kernels

Perhaps the most important long-term shift: kernel writing is exactly the kind of well-defined, measurable, testable problem that AI systems are getting good at. The feedback loop is tight, the code either runs faster or it does not. That makes it fertile ground for automated search and machine-generated code.

If that matures, the scarcity of human kernel experts stops being the limiting factor. Performance tuning could become something a team points at a workload rather than something it hires for. In that world, the advantage moves again, toward whoever has the best measurement and testing pipelines, not just the best engineers.

Practical Steps for Business and Technical Leaders

Whether you run a two-person startup or a large infrastructure team, a few moves make sense right now.

The Bigger Picture

Custom kernels for the AMD MI300 look like a narrow engineering topic. They are really a preview. The AI industry spent its first big wave figuring out how to train large models. The next wave is about running them, reliably, cheaply, and on hardware that is no longer a single-vendor story.

That shift rewards a different kind of skill. Not the flashiest one. The one that squeezes real performance out of real chips, on real workloads, at real scale. Companies that build that muscle now will find the next few years of hardware churn far less painful than the ones that wait.

The headline of the AI era may still be written in model sizes. But the margins, the money, the speed, the products that feel instant, will increasingly be written in kernels.

TLDR: Writing custom kernels for the AMD MI300 means hand-tuning the small GPU functions that do the actual math, instead of relying on general-purpose libraries. It matters because AI is now limited more by memory traffic and cost per answer than by raw chip speed, and because hardware is diversifying beyond a single vendor. Teams that invest in a small kernel capability, measure their real workloads first, and keep hardware-specific code in a thin portable layer will cut inference costs, reduce latency, and stay flexible as new chips arrive. The risk is real, custom kernels are costly to maintain and easy to lock you in, so optimize the hot few percent, not everything.