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:<p>(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.<p>It's an incredibly steep learning curve and it's psyching me out. Any advice from HNers who've been through similar transitions?