Used Tools & Technologies
Not specified
Required Skills & Competences
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.
Communication @ 4
Prioritization @ 4
Debugging @ 1
CUDA @ 4
GPU @ 4
HPC @ 4
Performance Analysis @ 7
- 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
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 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 many-core processors. In this role you will analyze these applications and identify optimization opportunities for compiler development teams and application engineering teams.
Responsibilities
- Assist customers GPU accelerate HPC applications.
- Analyze High Performance Computing (HPC) applications to better understand their performance characteristics.
- Provide advice and drive compiler and applications engineering development teams based on the analysis of these HPC applications.
Requirements
- BS/MS or equivalent experience in Computer Science or related engineering field.
- 8+ years of programming experience.
- Solid understanding of Fortran, C, and C++, as well as programming techniques, especially for parallel architectures; preferably for compilers.
- Experience with OpenACC, OpenMP, MPI, and CUDA.
- Strong skills in performance analysis and tuning, and a broad understanding of parallel applications development tools and runtime environments.
- Strong mathematical fundamentals, including linear algebra and numerical methods.
- Understanding of performance considerations, tradeoffs and impact.
- Expert interpersonal skills, logical approach to problem solving, good time management and task prioritization skills. Excellent written and verbal communication skills, ability to work in a dynamic product-oriented team.
Ways to stand out
- Deep understanding of machine architectures and micro-architectures.
- Experience with debugging and porting as well as assembly language programming is a significant advantage.
- Experience leading and/or managing projects is a plus.
Compensation & Benefits
- Base salary range: 184,000 USD - 287,500 USD (determined based on location, experience, and pay of employees in similar positions).
- You will also be eligible for equity and benefits (link to NVIDIA benefits).