About the Role
NVIDIA is looking for outstanding software engineers to work on GPU performance analysis tools development. This position is for an experienced senior software engineer to join a team that develops tools which identify GPU performance bottlenecks across various workloads.
You will be responsible for defining, developing, and deploying tools and methodologies for NVIDIA GPUs. As a member of our team, you will collaborate with other teams to ensure that our tools are robust, scalable, and user-friendly. Your work will have a significant impact on the performance of GPUs, and you will have the opportunity to make a real difference in the success of NVIDIA products. You will have a real passion for analyzing performance, identifying bottlenecks, and optimizing workloads.
What you'll be doing:
- Develop and maintain GPU performance analysis tools for various workloads.
- Identify performance bottlenecks and suggest optimization strategies.
- Collaborate with other teams to ensure that our tools are integrated into the overall NVIDIA ecosystem.
- Provide technical leadership and mentorship to junior engineers.
What we need to see:
- BS or MS in Computer Science, Computer Engineering, or a related field (or equivalent experience).
- Strong understanding of computer architecture (CPU and GPU).
- 5+ years of experience in software development, with a focus on performance analysis.
- Excellent programming skills in C++ and Python.
- Experience with multi-threading and operating systems.
- Strong analytical and problem-solving skills.
- Excellent communication and collaboration skills.
Ways to stand out from the crowd:
- Experience with NVIDIA GPUs and their architecture.
- Familiarity with various GPU workloads (e.g., gaming, deep learning, scientific computing).
- Experience with performance profiling tools (e.g., NVIDIA Nsight, VTune).