Salary
💰 $148,000 - $235,750 per year
About the role
- Solve difficult problems at the intersection of compilers, programming models, and high-performance computing architectures
- Implement new and future OpenACC, OpenMP, and standard language parallelism features for C++, Fortran, and Python for NVIDIA GPUs and Multicore CPUs
- Participate in the evolution of standard language parallelism for GPUs and Multicore CPUs
- Balance individual effort with teamwork throughout debugging, prototyping, and productization
- Discuss and refine software designs and implementation strategies with peers
- Partner with application teams to investigate interesting and meaningful compilation problems from the HPC community
Requirements
- Bachelors, Masters, or Ph.D. Degree in Computer Science, ECE or equivalent experience
- 5+ years experience developing production-quality compilers, tools, or similar software
- Proven understanding of compiler internals including experience targeting auto-parallelization and GPU targets
- Knowledge of programming fundamentals, especially in C/C++, with a deep understanding of parallel computer architectures and optimizations
- Direct experience with Fortran or GPU programming models is a huge plus
- Experience writing code using Modern C++
- Experience with GPU-based parallel computing
- Familiarity with C++, Fortran, OpenACC, OpenMP, or CUDA compilation
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
C++FortranPythonOpenACCOpenMPCUDAauto-parallelizationparallel computingcompiler internalsproduction-quality software
Soft skills
problem-solvingteamworkcommunicationcollaborationdebuggingprototypingsoftware designimplementation strategies
Certifications
Bachelors DegreeMasters DegreePh.D. Degree