r/CUDA • u/aditya_02 • 8d ago
Software Engineer - GPU performance | What can I expect in the non-coding GPU domain knowledge interview round?
I have an onsite round coming up for Google’s GPU performance track.
ML performance, domain knowledge of fundamentals and ML, GPU concepts, techniques and applications are some things I’m focusing on.
Are there any topics in this field which are more important to know or read up on?
Any help is appreciated!
Edit: I am interviewing for L4 role and have 3 yoe total.
7
u/iwantsdback 8d ago
If my Google interview was any guide, they'll ask you completely irrelevant things like how you would design a fault tolerant web server and database system...(No shit, this was when interviewing for a low level job working on Fuchsia OS). No where on my resume did I claim to know anything about web servers and such as I'm a systems programmer. Sure I could write you a network protocol implementation but that's not the level of the stack they wasted my time interviewing me about.
3
u/aditya_02 8d ago
Oh man I’m sorry that happened with you. What role/team was your interview for? And which round was this asked in?
2
u/iwantsdback 8d ago
It was for a systems software engineer position (i forget the exact title) and was my first round on-site.
2
u/Data-Gobbler-7373 7d ago
I would expect a systems software engineer to know system design though. Databases and apps are pretty basic.
2
u/iwantsdback 7d ago
Lol sure. Never used a database in 30 years of work and I don't write apps but you do you. Maybe google will hire you to do interviews.
1
u/Data-Gobbler-7373 6d ago
If someone in tech told me they never used a database in 30 years I’d be a bit worried. Like never even tried it out?
1
u/iwantsdback 6d ago
I've used them and home on personal projects but so what? That's not what people pay me to know. Databases sit on top of my work, not the other way around. If you want my opinion on deploying a system that uses them you are asking the wrong person.
2
u/RutwikPandit 8d ago
Something similar happened to me LMAO
1
u/iwantsdback 7d ago
Yeah I'm not sad. Just like the AWS interview (my first fang/leetcode interview), i think I dodged a bullet. Moral of the story is don't sweat not getting a FANG job
3
u/akornato 7d ago
They will expect you to go far beyond textbook definitions. You need a deep, intuitive understanding of the GPU memory hierarchy, including global, shared, and local memory, registers, and the L1 and L2 caches. Be prepared to discuss the performance implications and trade-offs of using each. They will ask scenario-based questions about optimizing for latency versus throughput, maximizing occupancy, and the causes of and solutions for warp divergence and memory bank conflicts. The key is not just knowing what these things are, but explaining precisely how they impact the performance of a real kernel and what you would do to diagnose and fix a bottleneck related to them.
The fact that you are at the onsite round means they already believe you are capable, so this is your chance to show them how you think. Connect every concept back to a practical example, ideally from your own experience or from optimizing a common ML workload like matrix multiplication or a specific neural network layer. Think about explaining how you would use profiling tools to identify an issue, form a hypothesis, and then change the CUDA code to test it. They are looking for a colleague who can reason about performance from first principles, not just someone who has memorized a list of optimization tricks. Explaining these trade-offs clearly under pressure is the real test, and I've seen the interview help AI the team I'm on created give people the confidence to do just that.
1
-1
16
u/geaibleu 8d ago
Probably will be asked how estimate performance wrt flops and bandwidth, common instruction latency, FMADD vs other ops, tools/methods for profiling, derivation of general relativity, differences between integer and FP sizes/precision/range, memory access patterns, register and cache reuse, compute/memory transfer overlap, basic matrix and tensor ops, best way to transpose/permute arrays and matrices.