NVIDIA

Software Engineer, HPC Applications

NVIDIA

April 9, 2021


As a member of our team in NVIDIA's NVHPC compilers & tools group, you will analyze and run High Performance Computing (HPC) applications on HPC servers and systems to gain insight into the performance characteristics of these applications. The applications you'll work with range from small synthetic benchmarks that use a single core to full applications that utilize all of the resources on distributed-memory systems with heterogeneous compute nodes including CPUs, GPUs and Manycore processors. In this role you will advise compiler development teams and application engineering teams of optimization opportunities based on these analyses.
What you’ll be doing:

  • Help customers GPU accelerate HPC applications.

  • Analyze High Performance Computing(HPC) applications to better understand their performance characteristics.

  • Help advise and drive compiler and applications engineering development teams based on the analysis of these HPC applications.

What we need to see:

  • You have an MS (or equivalent degree) in Computer Science or related engineering field.

  • 3+ years of experience working with HPC applications SW development and support

  • Solid understanding of Fortran/C/C++, as well as programming techniques, especially for parallel architectures.

  • Background with MPI, OpenMP, OpenACC, and CUDA.

  • Expert skills in performance analysis and tuning, as well as a broad understanding of parallel applications development tools and runtime environments.

  • Strong mathematical fundamentals, including linear algebra and numerical methods.

  • Understand performance considerations, tradeoffs and impact.

  • Strong organizational skills, logical approach to problem solving, good time management and task prioritization skills. Excellent written and verbal communication skills.

  • Strong communication skills are required along with the ability to work in a dynamic product oriented team.

Ways to stand out from the crowd:

  • Deep understanding of machine architectures and micro-architectures.

  • Experience with debugging and porting as well as assembly language programming is a significant advantage.

NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. If you're creative, autonomous and love a challenge, we want to hear from you.
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.