System Software Engineer - GPU Profiling

Posted:
6/30/2024, 5:00:00 PM

Location(s):
Maharashtra, India ⋅ Pune, Maharashtra, India

Experience Level(s):
Mid Level

Field(s):
Software Engineering

At NVIDIA, we build groundbreaking products for the following sectors: VR, Gaming, Deep Learning, Automotive, and High Performance Computing. Among these, are tools to debug, profile and analyze the performance of their systems/applications used by developers around the world. We are seeking a software developer to join our effort to advance the state of the art of software performance tuning applications that use GPUs.

As a software engineer in the Developer Tools organization, you will be establishing software solutions for a multitude of platforms working directly with our GPUs at a low level. You will have direct impact on the performance analysis software mechanisms that our team provides. You should be comfortable working in existing driver code and application code as well as writing new shared libraries and targeted GPU performance tests.

What you’ll be doing:

  • Work with multi-disciplinary teams to design, implement, and verify performance metrics and collection methodologies for NVIDIA GPUs.

  • Innovate and improve our GPU profiling library with new features to allow developers to extract the best performance out of their applications.

  • Understand and use the NVIDIA GPU performance monitoring system

  • Develop features for new tools for GPUs running on a variety of platforms ranging from embedded systems to supercomputers.

What we need to see:

  • B.S. EE/CS or equivalent with 4+ years of experience or M.S. or equivalent with 2+ years of work experience.

  • Strong programming ability in C, C++.

  • Familiarity with computer architecture (e.g.: x86, ARM CPUs, GPUs)

Ways to stand out from the crowd:

  • Background including shipping device drivers or system software

  • Knowledge of GPU API's such as: CUDA, OpenCL, OpenGL, Direct3D, Vulkan

  • Prior experience authoring developer tools, particularly for GPUs or games

  • Experience in performance analysis, particularly of GPU applications

  • You have worked on computer algorithms and proven ability to choose the best possible algorithms to nail complex problems

  • Ability to read and write assembly language for multiple processor architectures.

  • Knowledge or experience in compute architecture, operating systems, and compilers.

NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most motivated people in the world working for us. If you are creative and autonomous, we want to hear from you. The GPU, our invention, serves as the visual cortex of modern computers and is at the heart of our products and services. Our work opens up new universes to explore, enables amazing creativity and discovery, and powers what were once science fiction inventions from artificial intelligence to autonomous cars. NVIDIA is looking for phenomenal people in multiple disciplines to help us accelerate the next wave of computing.

NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity, 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, disability status or any other characteristic protected by law.