NVIDIA→
Developer Technology Engineer, CPU Performance - New… at NVIDIA · US
Entry LevelOn-siteFull-timeUS, CA, Santa Clara$124k–$196k/yr
Skills
cpu architecture knowledgec/c++ programmingparallel programmingmemory subsystem knowledgedata optimization techniquescommunication skillsproblem solvingorganization skills
Job Description
Summary: NVIDIA is a leader in visual computing and AI technology, seeking a Developer Technology Engineer focused on CPU Performance. This role involves researching and developing techniques to optimize data intensive applications and collaborating with experts to analyze and enhance performance on modern hardware architectures.
Responsibilities:
- 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 data intensive and compute intensive 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
Required Qualifications:
- Pursuing or recently completed a BS, MS or PhD in Computer Science, Computer Engineering, or related field (or equivalent experience)
- Relevant work or research experience
- Knowledge of modern CPU architectures (ARM, x86) and system/OS
- Experience with CPU architecture fundamentals, especially memory subsystem (cache DRAM, storage.)
- Hands-on experience with low-level parallel and system programming, SIMD 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
Preferred Qualifications:
- Experience optimizing the performance of distributed database systems and frameworks (e.g. production database or Spark)
- Background with video transcoding, compression, storage systems, networking, and distributed computer architectures
- Knowledge of ARM SoCs (AMBA CHI, SMMU) and GPU architectures
Required Skills: CPU architecture knowledge, C/C++ programming, parallel programming
Important Skills: memory subsystem knowledge, data optimization techniques
Nice-to-Have Skills: communication skills, problem solving, organization skills
Benefits: Equity, Benefits
Benefits
Equity
Benefits