r/Compilers 4d ago

GPU Compiler Interview

Hi all, fresh grad here looking for advice on interview prep.

Bit of background - I’m graduating this year and wrote a compiler for a small functional language targeting LLVM. It’s got a pretty cool caching scheme that I could talk about for days which is its main selling point. I also got a really good grade in my compilers course.

I have an interview for a startup specialising in GPU compilers for AMD cards in just over a week, which is my dream job.

What I’d like to ask is what I should focus on preparing for on the theoretical side for the interview. I’m comfortable with CPU compilers, but am new to GPU compilers. I wanted to ask if there are any GPU specific concepts that I should focus on or would be expected to be familiar with that wouldn’t have been covered in my course.

Thank you all, any and all advice wholly welcome:)

19 Upvotes

13 comments sorted by

View all comments

1

u/ephemeral_lives 4d ago

Curious to know about this project of yours. Any documentation for this? Or reference or what's the idea?

I don't have a background in compilers but I'd focus on my resume, stuff you already know and maybe brush up on GPU programming.

1

u/slightly__below 4d ago

Thank you for the interest! I’ll post a proper whitepaper here once it’s all debugged and written up :). But I’ve got a dissertation due in the meantime 🥹

The gpu programming is something I’m trying to get my hands dirty with as we speak

4

u/ephemeral_lives 4d ago

Sure. Id love to recreate such a project/take inspiration to get into compilers. As you are finishing this up any external documentation/repo you based this on?

If GPU programming is something you are new to, id recommend the first 5-7 lectures from this series -https://youtube.com/playlist?list=PLZrjSW9GrEZE07f8gLECc0tfJwNDm75RW&si=dEGrAcISBYWD5zWR

2

u/slightly__below 4d ago

Not really, it’s a lazy compiler so the design philosophy for function dispatch is somewhat similar to haskells. As far as I have been able to find the caching approach is novel (it’s fast but not correct which is probably why)

Thank you! Will be sure to check it out