HRLens HRLens Check your CV free
← See all articles

Does an ML engineer resume still need CUDA in 2026?

Quick answer: Yes, keep CUDA. Most production training and inference still runs on Nvidia hardware and recruiters search the term by name. But after Google open-sourced TorchTPU and Amazon released TorchNeuron, a resume whose only hardware signal is CUDA reads narrow. Add the portable layer — PyTorch, torch.compile, Triton, FSDP — and name TPU, XLA or Trainium wherever you've genuinely run them.

Is your CV good enough?

Upload your CV and get an instant AI score out of 100, an ATS-compatibility rating and a breakdown across five categories — free.

Analyze my CV

Does an ML engineer resume still need CUDA in 2026?

Yes — CUDA still belongs on an ML engineer resume in 2026, and deleting it would cost you interviews. Most production training and inference still runs on Nvidia hardware, and recruiters search the term by name. What's changed is the context around it: a resume whose only hardware signal is CUDA now reads narrow. In the same week of October 2026, Amazon released TorchNeuron and Google open-sourced TorchTPU — two native PyTorch backends that let existing PyTorch code run on Trainium chips and TPUs by changing the device it targets rather than rewriting the model. Hiring managers read that news too, and they've started asking a sharper question: do your skills travel across silicon, or do they stop at one vendor's driver?

Narrow is the right word, not obsolete. Think about what a CUDA-only resume actually tells a reader: you can make one vendor's hardware go fast. That's valuable and still scarce. But an infrastructure lead staffing a team in 2026 is budgeting for at least two backends — the GPU fleet they already own, and whatever cloud silicon their finance team keeps circling. Job ads have caught up. Postings from frontier labs and chip teams now ask outright for experience with non-Nvidia accelerator hardware such as AMD, AWS Trainium or Google TPU, usually in the same bullet as distributed training. If your resume can't answer that line, an automated filter drops you before a human ever weighs the CUDA depth you spent years building.

Here's the contrarian part: the fix isn't bolting on chips you've never touched. It's rewriting what you already did so the portable layer shows. A kernel engineer who has written one Triton kernel and one Pallas kernel is now a broader hire than one with three more years of hand-tuned CUDA C++, because those say "I think in tiles, memory hierarchies and occupancy" rather than "I memorized one toolchain". Lead with the reasoning that transfers — operator fusion, collective communication, numerical correctness across dtypes — and let CUDA be the proof rather than the headline. If you want the keyword sets in more detail, there's a fuller breakdown of CUDA versus Trainium skills worth reading next.

What did Google and Amazon actually ship?

Both shipped the same idea for different silicon: a native PyTorch backend that removes the rewrite. Amazon's TorchNeuron plugs Trainium into PyTorch through the framework's standard PrivateUse1 device mechanism, so existing code runs with `.to('neuron')` or `device_map='neuron'` without touching torch.nn, torch.distributed or torch.profiler. It's Apache 2.0, supports eager execution and torch.compile, and covers FSDP, DDP, DTensor and tensor parallelism on Trainium 2 and 3 instances. Google's TorchTPU, open-sourced at the PyTorch Conference and co-developed with Meta's PyTorch team, makes TPUs a first-class device behind `torch.device("tpu")`, covers roughly 450 ATen operations, and replaces PyTorch/XLA as the recommended path for new workloads.

The ecosystem arrived with both, which is what lifts this above a press release. TorchTPU landed alongside vLLM, SGLang and TorchTitan ports, with Hugging Face Transformers v5 deploying via `device_map="tpu"`; Google reported TorchTitan reaching 52% model FLOPs utilization on Qwen 3 8B, with testing that scaled to 8,192 Ironwood chips. TorchNeuron supports Transformers v5, TorchTitan and vLLM as well, and Amazon pointed to more than 30 early customers across robotics, world models and voice AI — Deepgram reported processing around 60% more audio seconds per dollar than its GPU baseline. Amazon is also upstreaming code to strip Nvidia-specific assumptions out of PyTorch's generic code paths.

Notice what the two vendors are competing on: porting cost, not benchmark bragging rights. That's a hiring signal. Once moving a training run to different silicon becomes a configuration change, the bottleneck stops being the compiler and becomes the engineer who can validate numerics, re-tune the data pipeline, rebuild the collectives and prove the cost curve actually improved. Somebody has to own that migration, and teams will hire for it — including the chip companies themselves, where what an AI-hardware employer looks for on your CV looks quite different from a model-training role. A bullet like "ported a 7B training run off GPUs onto Trainium, held loss parity, cut cost per step by X%" — with your real X — now gets read twice.

Which accelerator keywords belong on a machine learning engineer CV?

Name three layers, in this order: the portable layer, the vendor layer, then the serving layer. The portable layer is PyTorch itself — torch.compile, torch.accelerator, FSDP, DTensor, DDP, mixed precision — plus Triton, because a Triton kernel is a statement about how you think rather than which card you own. The vendor layer is where CUDA lives, next to CUTLASS, Nsight Compute and Nsight Systems for Nvidia; XLA, JAX and Pallas for TPU; the Neuron SDK and the Neuron Kernel Interface for Trainium; HIP and ROCm for AMD. The serving layer is vLLM, SGLang and TensorRT-LLM, with quantization (FP8, INT8), paged attention and KV-cache work spelled out explicitly.

That ordering matters because the first screen is usually a keyword filter and the second is a ten-second human scan. A skills block that opens "PyTorch, torch.compile, Triton, CUDA, XLA, Neuron SDK" survives both: the filter hits whichever term the ad named, and the reader sees breadth before depth. Flip it — CUDA first, PyTorch buried on line three — and a TPU-shop recruiter quietly concludes you're a GPU specialist applying out of habit. Group the terms by layer instead of dumping one long comma-separated string, and expand each acronym once somewhere on the page, since "Tensor Processing Unit (TPU)" catches both spellings a parser might be matching against.

Claim only what you've actually run, and let the phrasing carry the difference. "Production" means you shipped it and carried the pager. "Evaluated" means you benchmarked it on a real workload and still have the numbers. "Familiar with" means you read the docs — fine in a cover letter, usually a liability in a skills list, because an interviewer will open that door first. The migration story is the one worth telling in full: what you ported, what broke, how you proved correctness. Static shapes, recompilation triggers and dtype drift are the problems these backends surface in practice, and naming them convinces an engineer far faster than any keyword ever will.

StackDevice callKernel languageCompiler / runtimeServing
Nvidia GPU.to("cuda")CUDA C++, Triton, CUTLASStorch.compile, TensorRTvLLM, SGLang, TensorRT-LLM
Google TPU.to("tpu")PallasTorchTPU, XLAvLLM-TorchTPU, SGLang-TorchTPU
AWS Trainium.to("neuron")Neuron Kernel Interface (NKI)TorchNeuron, Neuron SDKvLLM
Portable layertorch.acceleratorTritontorch.compile, FSDP, DTensorTransformers v5 device_map
Accelerator vocabulary by stack — mirror the row that matches the job ad you're answering.

Is your CV good enough?

Upload your CV and get an instant AI score out of 100, an ATS-compatibility rating and a breakdown across five categories — free.

Analyze my CV

Where should TPU and Trainium skills sit on the page?

Put them in a skills block in the top third of page one, then repeat the important ones inside your experience bullets — a parser weighs both, and a human only believes the second. A standalone skills section reads as aspirational; "tuned Triton kernels for a 70B inference service and cut p99 latency", with your real figure attached, proves it in context. Keep the document single-column and plain text with genuine section headings. Two-column layouts, icons, text boxes and skills tucked inside a table are precisely what breaks extraction, and a stack section is the worst place on a CV to silently lose half your text.

Write device strings in plain ASCII and resist clever typography — smart quotes and ligatures in `torch.device("tpu")` can mangle on extraction. Keep contact details and skills out of headers and footers, where many parsers never look. Export a text-based PDF rather than an image or a screenshot, and check that you can select and copy every keyword in the finished file. If you'd rather not guess what survives, run it through a free CV check that scores ATS compatibility: you get an overall score out of 100, five category scores — one of them ATS compatibility — and a visual layout analysis showing how your page is actually being read.

Then make the numbers do the work, because this role has unusually good ones available. Model FLOPs utilization, tokens per second per chip, cost per million tokens, time-to-first-token, p99 latency, GPU-hours saved, cluster size, parameter count and precision are all concrete and all checkable. "Improved training throughput" says nothing; "raised MFU from 31% to 48% on a 2,048-chip run by fusing attention and rewriting the all-gather schedule" says everything, assuming those are your real numbers. Pair each accelerator keyword with one measurable outcome and your stack section stops being a word cloud and starts being evidence. Keep the whole thing to two pages at most.

How do you mirror the accelerator a job ad names?

Copy the ad's exact vocabulary into your resume wherever it's true, and reorder your stack line so the hardware they actually run appears first. If the posting says "Trainium" and "Neuron", your resume should contain those words — not "AWS custom silicon". If it says "TPU" and "XLA", lead with those and let CUDA sit behind them as supporting evidence. This isn't gaming a filter; it's answering the question in the words it was asked. Most ML engineers send one document to twelve different stacks and then wonder why a GPU-heavy resume stalls at a TPU shop and a TPU-heavy one stalls at an Nvidia-first startup.

Three archetypes cover almost every ad you'll see. The Nvidia-first lab wants CUDA, Triton, CUTLASS, Nsight profiling, NCCL and TensorRT-LLM, and will read portability as a bonus — keep it, but keep it second. The cloud-TPU employer wants JAX, Pallas, XLA and now TorchTPU, plus evidence you've debugged compilation rather than just called a model; mention eager-mode debugging and torch.compile behavior. The AWS-native team wants the Neuron SDK, NKI, trn2 or trn3 instances and distributed training with FSDP. For all three, the shared ticket is PyTorch fluency and a migration you can describe end to end.

Tailoring by hand works, but it's slow when you're applying to ten roles a week. Paste the job description into an HRLens analysis — paste the text rather than a link for LinkedIn and Indeed, which block fetching — and it lists the skills you're missing against that specific ad, then generates ATS-friendly rewritten CVs in six templates that mirror the job's own keywords. The free analysis gives you the score out of 100 and the five category breakdown; the full analysis at $3.99 adds the fix list, your blind spots and why you might be rejected. If you're starting from a messy doc, a CV builder set up for engineering roles is the faster route.

Frequently asked questions

Should I remove CUDA from my resume if I'm applying to a TPU team?

No. Remove it and you look like someone with no low-level hardware experience at all. Keep CUDA, but demote it: lead the stack line with PyTorch, torch.compile, Triton and XLA, then list CUDA as the environment where you learned kernel optimization. Frame the skill as transferable — occupancy, fusion, memory hierarchy, collective communication — so the reader sees reasoning that ports rather than a toolchain that doesn't.

How do I list TPU or Trainium if I've only read the documentation?

Don't put it in your skills section — an interviewer will open that door first and the gap shows in thirty seconds. Instead, spend a weekend running something real: a small model with TorchTPU or TorchNeuron, both open source, then write one honest bullet about what you ported and what broke. Static shapes and recompilation triggers are the usual surprises. One genuine migration beats three unearned keywords every time.

Does Triton count as a hardware-agnostic skill on an ML engineer CV?

Largely, yes, and it's the single best keyword to add in 2026. Triton abstracts the kernel over tiles and memory blocks rather than one vendor's threading model, so a hiring manager reads it as evidence you understand the performance problem itself. List it alongside PyTorch in the portable layer of your skills block, and back it with a measured result — a latency drop, a throughput gain, a kernel you upstreamed.

What's the strongest bullet for proving accelerator breadth?

A migration with numbers on both sides. Name the workload, the source hardware, the target hardware, the correctness check and the cost or throughput delta: what you moved, how you proved loss parity or output equivalence, and what it saved. That one line demonstrates framework fluency, debugging under unfamiliar compilers and commercial judgment simultaneously — which is exactly the combination teams evaluating a second backend are now hiring for.

Is your CV good enough?

Upload your CV and get an instant AI score out of 100, an ATS-compatibility rating and a breakdown across five categories — free.

Analyze my CV

How helpful was this article?

Articles by HRLens →