I am currently working as a system software engineer (at Vmware) with close to 3 years of total experience (just 1 year at Vmware). My background has mainly been in OS, embedded systems, computer architecture and device drivers. I have recently realized that I might not enjoy system software for too long and have started looking into other areas. I have long been fascinated by how Machine Learning and Deep Learning models are implemented on specialized hardware (GPU, TPU, other accelerators) by optimizing them for power, performance, cache, memory etc. and would like to go in that direction. I have been looking at software based roles which involve implementing and optimizing DL based libraries and frameworks on specialized hardwares, and it has piqued my interest quite a bit. I have seen these roles in hardware based companies like Nvidia, apple, intel etc. My understanding is that these roles involve optimizing various libraries (like pytorch, tensorflow etc) on various new hardwares and involve extensive knowledge of system software, computer architecture and ML, which I found really fascinating. I am very much interested in roles which involve writing software while fully understanding the underlying hardware’s architecture. People working in these kind of roles, please provide your thoughts. Also I don’t have any formal experience in ML, DL apart from a course on ML I took in grad school (which was very theoretical). I am open to taking an online course with actual projects, or doing an online masters to get good hands on experience in ML and DL. Combined with my experience in system software would this be a good approach for getting into this area? Yoe- 3 TC- 180k
Dm me
ML hardware is a great new field. The biggest benefit is that you get to earn FANG salaries while working on hardware. However, it's still very immature and there's a ton of tech debt. For example, I heard that NVIDIA hires a team of poor SOBs to write assembly code for their cuDNN compiler. Every TF op kernel is apparently hand-crafted assembly. Just be careful figuring out what your day-to-day is going to look like at your new team.
Is it mainly because there are a lot of new hardwares coming up everyday and old ones get discarded very soon, so the new ones need code from ground up?
It's mainly because people don't realize how difficult it is to generate efficient ML accelerator code, and ML accelerators frequently attempt to improve efficiency by making the hardware simple and offloading complexity to the compiler.
Tech Industry
Yesterday
581
Should I move to Amazon?
2024 Presidential Election
Yesterday
540
Heartwarming peaceful protests
Tech Industry
Yesterday
3546
Asians - what are your thoughts on asian female white male ?
India
Yesterday
446
Modi is a legend, will be remembered for centuries to come
Tech Industry
Yesterday
1182
The end of Backdoor Roth?!
Fb and Google have teams for this. Apply
Can i ask you more details in DM?
yeop