NVIDIA
Software Engineer, NVIDIA CUDA Core Libraries Team_
NVIDIA, Santa Clara, California, United States,
NVIDIA’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. We're looking to grow our company and form teams with the smartest people in the world. Join us at the forefront of technological advancement.We are seeking an experienced software engineer to join our team, which maintains the CUDA C++ Core Libraries (Thrust, CUB, libcudacxx). These libraries provide the fundamental abstractions and parallel algorithms that make CUDA more delightful for a wide range of computational workloads, including deep learning, scientific computation, data science, self-driving cars, video games, and virtual reality. As we explore exposing this functionality to other languages like Python, you will play a crucial role in shaping the future direction of CUDA and accelerating general-purpose computation on the GPU.What You'll Be Doing:+ Design and implement efficient CUDA C++ algorithms, tackling challenges ranging from API design to performance optimization+ Evangelize, architect, and implement new features to extend the reach of our libraries beyond C++ to Python and other languages.+ Collaborate across teams to drive development efforts and integrate our libraries into diverse ecosystems.+ Write effective, maintainable, and well-tested code that adheres to our high standards of quality.+ Contribute to the open-source community and engage with users to gather feedback and improve our libraries.What We Need to See:+ BS or MS degree in Computer Science, Electrical Engineering, or a related field or equivalent experience.+ Strong programming skills in C++ and experience with Python or other programming languages.+ 5+ years of related development experience.+ Experience with C++ templates, parallel programming, and working with large codebases.+ Experience contributing to open-source software components.+ Excellent written communication and presentation skills.Ways to Stand Out from the Crowd:+ Prior experience with parallel computing and GPU architectures.+ Experience with CUDA C++ libraries such as Thrust, CUB, stdexec, and libcudacxx.+ Involvement in ISO C++ Standard Committees/Working groups.+ Leadership experience in managing open-source software components.The base salary range is 148,000 USD - 339,250 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 (vidia.com/en-us/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.