GPU Compute Compiler Engineer - New College Grad 2024

NVIDIA

NVIDIA

Multiple locations
Posted on Wednesday, June 5, 2024

We are looking for a highly motivated Compiler Software Engineer to join this dynamic and innovative CUDA Compiler team. You will contribute to compiler capabilities that enable development and deployment of high performance parallel applications on NVIDIA's next generation GPU's. Our team delivers language extensions and performance improvements to better realize the potential of NVIDIA hardware for a growing range of computational workloads, ranging from deep learning, scientific computation, and self-driving cars to video games and virtual reality.

In this role, you have the opportunity of working on the CUDA C++ compiler, a core component of our platform for accelerating general purpose computation on the GPU. The CUDA programming language defines a unified programming model across a range of system configurations and hardware capabilities. The compiler is responsible for translating parallel programs written in the CUDA/C++ programming language into microcode that is optimized for fast execution on NVIDIA's family of industry-leading GPU architectures. You will be solving challenging problems working alongside some of the top valued diverse minds in GPU computing and systems software, doing what you enjoy. If this sounds like a fun challenge, and you are interested, please let us know.

What you'll be doing:

  • Design and implement enhancements to the CUDA C++ compiler driver and front-end, ensuring tight integration with industry-leading third-party compiler software.

  • Contribute to the programming language specification and its evolution factoring in support for new GPU hardware capabilities.

  • Collaborate closely with teams developing other components of the compiler in ensuring language conformance, robustness, high-quality code generation and suitability for developing programs used in deep learning and safety-critical execution environments.

  • Provide engineering support for the compiler and deliver targeted changes for production customer releases.

  • Establish strong customer/partner relationships and trust through excellent execution and high-quality software development.

What we need to see:

  • Pursuing a MS or PhD degree in Computer Science, Computer Engineering, or related field (or equivalent experience)

  • Deep understanding of and passion for compiler technology, esp. programming language design, implementation and/or formalisms.

  • Strong knowledge of C++ programming language, including the modern standards e.g. C++14, C++17, C++20.

  • Excellent hands-on programming and analytical skills

  • Experience writing and debugging multithreaded, parallel programs.

  • Knowledge of computer architecture (any parallel system e.g. GPU would be a plus).

  • Strong interpersonal, verbal and written communications skills

Ways to stand out from the crowd:

  • Experience working with industry standard C++ compilers and development frameworks, including knowledge of compiler front-end technology, such as LLVM-clang or any industrial compiler front-end.

  • Experience working with Programming Language and programming language standards.

  • CUDA C++ language and application development experience

  • Strong understanding of parallel programming concepts and/or languages.

  • Practical working experience in large code bases, whether production compilers or related software as well as familiarity with deep learning frameworks and NVIDIA GPUs

Widely considered to be one of the technology world’s most desirable employers, NVIDIA offers highly competitive salaries and a comprehensive benefits package. We have some of the most forward-thinking and hardworking people in the world working for us and are looking for like-minded candidates!

The base salary range is 120,000 USD - 230,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.