The NVIDIA Architecture Research Group is seeking an experienced software engineer to build key simulation infrastructure and help implement prototype software systems. Are you excited about contributing to cutting edge technology and research? Do you like working with extremely talented team members on groundbreaking problems? Do you have a passion for crafting software? In this position, you will apply knowledge of computer architecture, compilers, and runtime systems to create tools to support architecture research explorations and delivery of research ideas to product groups. You will also help build software prototypes of new ideas and participate in the research process. You should be comfortable architecting and implementing medium-size software systems, be proficient in CPU and GPU parallel programming, have a deep knowledge of low-level software stacks, and a strong interest in helping define the future of parallel computing systems. NVIDIA has pioneered programmable GPUs and the CUDA language and is a world leader in high performance computing technology, with aggressive plans for future processors. This position offers the opportunity to have real impact in a fast-moving, technology-focused company. What you'll be doing: Collaborate with research staff and GPU architects to design and implement computer architecture SW simulation tools that are used and trusted by both research and product groups. Help design infrastructure to support binary instrumentation, CUDA driver level extensions and runtimes. Craft shared infrastructure to accelerate exploration of new computer architecture ideas. Collaborate with research scientists to develop and evaluate new architecture concepts. Develop new tools and methods for computer architecture research. Transfer technology to product groups. What we need to see: BSEE/CS or MSCS or PhD or equivalent experience Industry experience as software engineer or PhD-level experience Strong programming ability in C/C++, and scripting languages Experience as a CUDA programmer Experience building computer system simulators Experience building efficient low-level software tools such as runtime systems, binary translators, or compilers Strong background in computer architecture and parallel computer architectures NVIDIA is widely considered to be one of the technology world's most desirable employers. We have some of the most brilliant and talented people on the planet working for us. Are you creative and independently driven? Do you love a challenge? Come join our Architecture Research Group and help us invent the future of Computing. The base salary range is 160,000 USD - 253,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. NVIDIA is the world leader in accelerated computing. NVIDIA pioneered accelerated computing to tackle challenges no one else can solve. Our work in AI and digital twins is transforming the world's largest industries and profoundly impacting society. Learn more about NVIDIA.