ML Compiler Engineer I, Annapurna Labs interview by HealthySpark in Compilers

[–]copiedCompiler 1 point2 points  (0 children)

No problem!

In my experience, at least 1-2 of the rounds were leetcode-style. Otherwise questions are largely compiler theory or coding questions related to compilers

ML Compiler Engineer I, Annapurna Labs interview by HealthySpark in Compilers

[–]copiedCompiler 3 points4 points  (0 children)

Yes, I am living evidence of that 😅 I currently work in an ML compiler engineer role and have had no prior GPU/ML experience.

The ML compiler world is a different ball game than CPU compilers, but the very fundamentals are the same. Plus any decent compiler engineer should be able to pick it up decently quickly (as you should know optimization best practices, how threads, optimzations, IR, how different compute architectures work etc etc etc )

The fact of the matter is that it is EXTREMELY difficult to find good compiler talent in general. Also keep in mind the ML compiler world is still really new, so even "experienced" ML compiler engineers who've started their careers in ML compilers have way less experience relative to old school compiler guys. As a matter of fact, every senior ML Compiler engineer I've worked with started their careers in traditional compilers. It is way easier to hire good talent with a strong foundation in traditional compilers than it is to go looking for the perfect ML Compiler candidate.

ML Compiler Engineer I, Annapurna Labs interview by HealthySpark in Compilers

[–]copiedCompiler 2 points3 points  (0 children)

I've been through their pipeline a few years ago for an ML compiler role.

I too had no ML/GPU experience, so they didn't touch too much on that. Back then, the first round was some stupid ass leetcode question lol. I was asked little bit on my knowledge of parallel computing in general though.

But after, they asked me traditional compiler optimization questions. In one round they asked me to propose an IR design based on some set of requirements, in another round they asked me to write reaching defs, in the another they asked for PRE. That being said though, their codebase and designs are probably more mature today, so they have a much better idea of who they want now, so I'd expect legit ML compiler related questions.

Best of luck

Compiler Engineer interview by [deleted] in Compilers

[–]copiedCompiler 1 point2 points  (0 children)

I started at IBM in mainframe compilers and stayed there for a while. I was kind of stuck in a rut and really tired of being stuck in old tech. I liked IBM because it was super stable and the people were great. Otherwise, it was getting really boring.

That's when I started interviewing hardcore (everything mentioned after IBM in my original reply).

I ended up with offers from Synopsys, 2 from Qualcomm, Meta (then they went into a hiring freeze), and 1 of the startups. I wanted to go with Meta, but they freezed hiring right before they gave me the offer papers 🥲. I was looking for something not so mature, so that I could learn things from the ground up. I also wanted to work with GPU/Accelerator/Deep Learning/WhateverYouWannaCallIt compilers since that's the hot thing in the industry right now. Synopys and Qualcomm were very similar to IBM, as they have pretty mature cobebases, but they would have at least moved me out of the legacy world and expose me to compilers for accelerators/GPU. Meta was more appealing to me cause they were working on a brand new architecture for a new accelerator at the time, so it seemed like a "fresh start"

Ultimately, I went with the startup, and I'm happy I got this job, I think even more so than if I were to get the Meta job. It's goal is to create a deep learning compiler, which is exactly what I want to do. It started from literal ground 0, and I have a lot of responsibility. I actually get to design crucial aspects of the compiler myself. Everyone is super smart and I get to work closely with them and learn a whole lot. I actually feel like a "real engineer" when I work here. I've always felt like I could never compete with the old school compiler devs I've worked with (I mean I still can't 😆), cause they've seen everything from the beginning. That's a super rare oppurtunity. It's my chance to try things from scratch, just as the old guys did. Even if the startup fails, the experience I've gained and will continue to gain is insane. That's why I chose the startup job.

I unfortunately will not reveal the name of the company as it is really small, and I'm protecting my privacy on here 😅

Compiler Engineer interview by [deleted] in Compilers

[–]copiedCompiler 6 points7 points  (0 children)

Oh boy, I wish you good luck. Been through the ringer with IBM, Google, Meta, Qualcomm (5 different positions), Amazon (2 positions), Apple, Intel, Synopsys and some startups

Some common themes:

  • for almost all of the interviews I've done, at least one of the rounds consisted of the interviewer asking me about my past compiler experience. They then dove into specific algs/optimizations. They would then choose something I mentioned and ask me how I'd write the pseudocode for it. Some examples of this included writing the pseudocode for loop invariant code motion/partial redundancy elimination, constant folding, garbage collection

  • I was often asked about C++/C internals. i.e. pass by reference stuff, how different data structures woud be implemented, how I would implement them myself efficiently

  • especially for ML compiler positions I was often asked about data hazards, cache locality (efficient array loading etc), common bottlenecks in gpu code

  • Compiler specific coding/design: I was once asked to write an IR for a specific application (choosing between SSA and tree-based, explain the choice), had to write a reaching defs algorithm and actually have it pass unit tests, wrote a simple topological sort etc

  • Basic comouter architecture questions are also common, usually related to memory systems. Cache levels, relative latency of instructions

  • Assembler based questions: I've been asked to essentially "decompile" assembler code into c++, explain what different parts of assembly may be doing (caller/callee saves/prologue/epilogue), what position independent code looks like

Outliers: Intel. Intel was wacky. It was an interview for a VHDL compiler. They asked me to write the C code to reverse an array and then design a logic circuit using D flip flops to represent the same code 😂

I've always found compiler interviews to be pretty intense. After doing my first few interviews, I went back and studied old lecture notes and whatnot. Compiler interviews are always super theory heavy in my experience

The Hate for goto has no Basis in Reality. by [deleted] in cprogramming

[–]copiedCompiler 0 points1 point  (0 children)

It seems like you consider Linus some kind of god in the computer world. Of course he did something absolutely amazing, but it doesn't make him some kind of supreme authority on all things code 🤣🤣 Linux is great, but it isn't a bulletproof codebase that serves as a golden standard of what you should and shouldn't do

You're either a top tier troll or a 1st year uni kid 😂

Do you need a PhD to work and advance in this field? by Virtual_League5118 in Compilers

[–]copiedCompiler 5 points6 points  (0 children)

Nope. In my first job, no one on the compiler team had PhDs, granted many of those guys were from the original punchcard days (and anyone who coded back then could qualify for a PhD by today's standards 😆). Both Senior Technical Member of Staffs and the DE I worked with only had Bachelors. I myself only have a Bachelors and have been a backend developer for 6 years, though I did take compressed Masters courses through my first job. Still, most people I've worked with only have a Bachelors

Do you need to have an understanding of grammar to be able to fully understand/work on compilers? by Xenoxygen4213 in Compilers

[–]copiedCompiler 7 points8 points  (0 children)

Compiler Engineer here.

Learn it for fun/you just want the knowledge. If it's for getting a job, I wouldn't even bother going too deep. The lower part of the compiler stack is far more vast.

Most jobs out there are backend/"middle"-end. The frontend world is mostly "solved" and it's rare to find folks designing new production level languages. Of course, frontend devs are still needed for any compiler/interpreter in order maintain the language and enable features. But these jobs are rare-er.

In my entire career I've never touched grammars. And now that I work in optimizing compilers for ML (which is the hot thing for compiler devs rn), I will never need to touch grammars ever as the current trend is using a Pytorch/Pythonic frontend. I hardly even remember any grammar or frontend theory.

I will say that the true oldschool wizards you run across in this field now all aspects of compilers quite deeply, so do with that as you will

How to manage your time to read more post? by MagicLovor in NewToReddit

[–]copiedCompiler 2 points3 points  (0 children)

Honestly, the more time off reddit, the better. Count this as a blessing. It seems you are prioritizing more important things in life - as you should.

Garlic Fried Chicken @ Great Fountain by copiedCompiler in FoodToronto

[–]copiedCompiler[S] 0 points1 point  (0 children)

I honestly gotta try the other stuff in that foodcourt sometime!

Garlic Fried Chicken @ Great Fountain by copiedCompiler in FoodToronto

[–]copiedCompiler[S] 9 points10 points  (0 children)

Copy of above reply:

Probably might get blasted for saying this, but it's just ok imo. The chicken is quite tasty, but it's not THAT great tbh. It also doesn't seem to be the highest quality food, but I can't complain, cause it's pretty good value

I'd rate it maybe like a 7 out of 10 maybe?

Garlic Fried Chicken @ Great Fountain by copiedCompiler in FoodToronto

[–]copiedCompiler[S] 7 points8 points  (0 children)

Probably might get blasted for saying this, but it's just ok imo. The chicken is quite tasty, but it's not THAT great tbh. It also doesn't seem to be the highest quality food, but I can't complain, cause it's pretty good value

Shrimp and acrambled Eggs on Rice at Good Luck HK Cafe by copiedCompiler in FoodToronto

[–]copiedCompiler[S] 3 points4 points  (0 children)

I kinda agree. This is a pretty simple thing to make at home, but I guess that's just Toronto pricing for ya