I am very well versed with software, having been a kernel programmer for many years doing driver level filesystem support. I've recently landed a gig at a GPU manufacturer, which is not only a new field but one level down from abstraction I'm used to (I frequently end up in meetings where people are talking about HDL implementations). I'm suffering on three fronts:
(a) Getting up to speed on the GPU side of things -- what functionality do they provide, industry standards, etc.
(b) Getting up to speed on the intrinsics of the actual manufacturer I work at -- poor or no documentation, firmware that is millions of lines of code, various kernel/hardware interfaces where the only documentation is the code.
(c) Getting used to thinking about things in terms of the knock-on effects on hardware.
It's an incredibly steep learning curve and it's psyching me out. Any advice from HNers who've been through similar transitions?
(a) Getting up to speed on the GPU side of things -- what functionality do they provide, industry standards, etc. (b) Getting up to speed on the intrinsics of the actual manufacturer I work at -- poor or no documentation, firmware that is millions of lines of code, various kernel/hardware interfaces where the only documentation is the code. (c) Getting used to thinking about things in terms of the knock-on effects on hardware.
It's an incredibly steep learning curve and it's psyching me out. Any advice from HNers who've been through similar transitions?