Senior Developer Technology Engineer, Compute
at Nvidia
📍 Santa Clara, United States
$180,000-339,200 per year
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Software Development @ 6 Algorithms @ 4 Data Structures @ 4 Communication @ 4 Parallel Programming @ 4 Prioritization @ 4 Performance Optimization @ 4Details
We’re currently seeking a Senior Developer Technology Engineer, Compute!
Are you interested in developing techniques to accelerate large application workloads on advanced computer architectures? Do you find it rewarding to investigate, find, and eliminate system bottlenecks to achieve the best possible performance on state-of-the-art computer hardware? Could you be thrilled about an opportunity to partner with the developer community, working at the forefront of technology breakthroughs that contribute to the success of an industry leader like NVIDIA? If so, the Developer Technology Team invites you to consider this role.
Responsibilities
- In this position, you will research and develop techniques to accelerate leading applications in high performance computing fields within scientific computing or computational engineering.
- Work directly with other technical experts in their fields (industry and academia) to understand and address their computational problems as their field evolves.
- Perform in-depth analysis and optimization to ensure the best possible performance on the current and next generation of NVIDIA GPUs, CPUs (Arm and x86 architectures), and/or network architectures.
- Craft and optimize core parallel algorithms and data structures to provide the best solutions using the NVIDIA platform.
- Guide key application developers, contribute directly to the applications, and develop reference codes and libraries.
- Publish and present discovered optimization techniques in developer blogs or relevant conferences to engage and educate the developer community.
- Influence the design of next-generation hardware architectures, software, and programming models in collaboration with research, hardware, system software, libraries, and tools teams at NVIDIA.
- Occasional travel for conferences and on-site visits with developers.
Requirements
- A Masters or PhD (or additional equivalent experience) in Computer Engineering, Computer Science, or a domain science with a strong focus on the related computational methods.
- 5+ years of relevant software development experience.
- A passion for performance optimization.
- Programming fluency in C/C++ and/or Fortran with a deep understanding of algorithms, programming techniques, and software design.
- Hands-on and current experience with parallel programming, ideally CUDA or OpenACC, as well as MPI, OpenMP.
- Strong mathematical fundamentals, including linear algebra and numerical methods.
- Good communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills.
With highly competitive salaries and a comprehensive benefits package, NVIDIA is widely considered to be one of the world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the industry working for us. Our engineering teams are quickly growing in some of the hottest and most innovative fields of technology: Deep Learning, Artificial Intelligence, Autonomous Vehicles, Supercomputing and more. If you are a creative and autonomous computer scientist with a real passion for parallel computing, we want to hear from you!