Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI
CUDA @ 4
Communication @ 6
Debugging @ 4
GPU
HPC
MPI @ 4
Performance Analysis @ 7
Prioritization @ 6
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
NVIDIA is looking for an HPC Performance Engineer to join the NVHPC compilers and tools group. The team analyzes High Performance Computing (HPC) applications to improve performance through compiler optimizations and library enhancements. The role involves working with applications ranging from small single-CPU-core benchmarks to full-scale applications running on multi-node, multi-GPU systems, identifying optimization opportunities, and collaborating with compiler development and application engineering teams.
Responsibilities
- Analyze the effect of different compilers and compiler optimizations on HPC application performance.
- Evaluate whether and how the compiler and runtime can improve the performance of key HPC applications on CPU and CPU/GPU platforms.
- Communicate the limitations of compiler capabilities to application engineering teams and help determine the best path toward improving performance.
- Port HPC applications to different platforms and programming models.
- Evaluate the impact of NVHPC package components, device drivers, and system configurations on application performance.
Requirements
- BS, MS, or equivalent experience in Computer Science or a related engineering field.
- Five or more years of programming experience.
- Solid understanding of Fortran, C, C++, and programming techniques, especially for parallel architectures and preferably compilers.
- Experience with OpenACC, OpenMP, MPI, CUDA, and Standard Language Parallelism.
- Strong performance analysis and tuning skills, along with a broad understanding of parallel application development tools and runtime environments.
- Strong mathematical fundamentals, including linear algebra and numerical methods.
- Understanding of performance considerations, tradeoffs, and impact.
- Expert interpersonal skills, a logical approach to problem-solving, good time management, and task prioritization skills.
- Excellent written and verbal communication skills and the ability to work in a dynamic development team.
Preferred Qualifications
- Deep understanding of machine architectures and microarchitectures.
- Experience with debugging and porting.
- Assembly language programming experience.
Benefits
NVIDIA offers highly competitive salaries, a comprehensive benefits package, equity, and benefits for employees and their families. The base salary is determined by location, experience, and the pay of employees in similar positions.
Applications for this job will be accepted at least until July 24, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes and is committed to fostering an inclusive work environment and providing equal employment opportunities.