Senior Developer Technology Engineer, CPU Performance
at Nvidia
📍 Santa Clara, United States
$180,000-339,200 per year
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Spark @ 4 Algorithms @ 4 Data Structures @ 4 Communication @ 4 Networking @ 4 Parallel Programming @ 4 Prioritization @ 4Details
We are currently seeking a Senior Developer Technology Engineer, CPU Performance!
Would you enjoy researching new algorithms and discovering new techniques to optimize data intensive applications? Do you like investigating hardware and system bottlenecks, and optimizing the performance of critical applications on heterogeneous computing systems with CPUs and GPUs? Are you excited about the opportunity to work on the leading edge of technology with both visibility and impact to the success of a leader like NVIDIA? If so, the Developer Technology Team invites you to consider this opportunity.
Responsibilities
- In this role, you will research and develop techniques to accelerate large scale applications running on NVIDIA’s family of advanced CPU platforms.
- Work directly with other technical experts in their fields (industry and academia) to perform in-depth analysis and optimization of complex database and data analytics workloads to ensure the best possible performance on modern hardware architecture focused on CPU performance.
- 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.
Requirements
- A Masters or PhD in Computer Science, Computer Engineering, or related computationally focused science degree (or equivalent experience).
- At least 6+ years of relevant work or research experience.
- Expert knowledge of modern CPU architectures (ARM, x86) and system/OS.
- In-depth expertise with CPU architecture fundamentals, especially memory subsystem (cache DRAM, storage).
- Hands-on experience with low-level parallel programming, vectorization, CPU intrinsics and concurrent data structures.
- Programming fluency in modern C/C++ with a deep understanding of algorithms, concurrency, and other optimization techniques.
- Good communication and organization skills, with a logical approach to problem solving, and prioritization skills.
Ways to stand out from the crowd:
- Experience optimizing the performance of distributed database systems and frameworks (e.g. production database or Spark).
- Background with compression, storage systems, networking, and distributed computer architectures.
- Knowledge of GPU architectures.
The DevTech Engineer plays a crucial role in the success of NVIDIA and our customers. DevTechs work with external technologists to investigate performance of their applications, design parallel algorithms and implement optimizations in an accelerated computing environment. As recognized experts in the field we publish our findings in developer blogs or at relevant conferences and workshops. With insight to our customers, the industry, and academia we are important representatives of NVIDIA as a technology leader. Within NVIDIA we contribute valuable application expertise that influences next generation hardware and software products. As critical problem solvers, we deepen our expertise, expand our knowledge, and work across domains and organizations. Whether you are a leading industry luminary or early in your career, the DevTech Team provides ample opportunity for growth in the exciting field of accelerated computing!
NVIDIA is widely considered to be one of technology’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. Does contributing to and innovating in HPC, Accelerated Computing and Artificial Intelligence excite you? If so, we want to hear from you.