Principal Software Architect
Austin, TX, United States
NVIDIA's success rests on a foundation of industry leading hardware. Achieving that distinction involves extensive design optimization, including combining the best of EDA with highly sophisticated, large scale internal CAD tools. Our team develops these tools by fusing advances in parallel computing, machine learning, and VLSI hardware design.
We are seeking an innovative CAD Software Architect and Developer with particular interest in static timing analysis (STA) algorithms. This position broadly spans cell and interconnect models, variation, crosstalk, constraint application, reporting, and fast incremental updates. Constant creativity and a self-drive to explore and perfect high performance and high capacity architectures is required. If you like to work across many technical areas and see your successes directly realized in the world's fastest AI hardware, this is it! NVIDIA's engineering environment offers an ideal combination of supercomputing infrastructure and vast R&D resources, so you can explore colossal ideas as a world-class leader, plus the nimbleness and opportunity to grow in a rapidly developing company. Check online for yourself -- NVIDIA employees love working here for good reason!
What you’ll be doing:
Invent and optimize new methods for extremely fast incremental timing analysis.
Invent ways of better incorporating silicon data into static timing analysis to improve real world accuracy.
Craft multithreading and efficient cache management techniques to boost runtime performance.
Develop machine learning strategies to improve accuracy without increasing runtime.
Extend applications of STA to other design areas including floorplan and RTL optimization, die-specific analysis, and more.
As with any software engineering team, we do write a lot of code, but this is broader than a typical CAD or EDA role. Instead, we as a team own the whole process from discovery and invention of new optimization opportunities, developing solutions, and working directly inside design teams to facilitate deployment. Team members enjoy considerable flexibility in defining new projects and exploring new technical domains due to the breadth of our team's role.
What we need to see:
MS, PhD or equivalent experience in Electrical Engineering or Computer Science
Strength in both software and hardware design
10+ years experience in software development with C++
Advanced understanding of static timing, including CCS models, OCV, PBA, LVF, etc.
Parallel computing experience, especially multithreading
Strong communication and interpersonal skills
Ways to stand out from the crowd:
C++17/C++14 experience, such as lambdas and concurrency
Experience or strong interest in CAD for physical, timing, and power optimization
Familiarity with statistical STA
Deep understanding of algorithm design principles such as complexity analysis, efficient memory and I/O use, etc.
In general, an obsession with performance and the practical skills to build highly innovative software for world leading hardware
NVIDIA is widely considered to be one of the technology world’s most desirable employers. And due to outstanding growth, our teams are rapidly growing. Are you passionate about becoming a part of a best-in-class team supporting the latest in GPU and AI technology? If so, we want to hear from you!
The base salary range is 220,000 USD - 345,000 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.