Senior Accelerated Computing Architect

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

Senior Accelerated Computing Architect role at NVIDIA focusing on optimizing performance on NVIDIA GPUs for HPC, scientific computing, ML, AI, datacenter, and automotive computing. Requires deep understanding of parallel algorithms, data structures, GPU programming (CUDA/OpenCL), and C/C++.

What you'd actually do

  1. Performing in-depth analysis and optimization to ensure the best possible performance on current and/or next-generation NVIDIA GPUs.
  2. Creating and optimizing core parallel algorithms, data structures, and reference codes to provide the best possible solutions for NVIDIA GPUs.
  3. Understanding and analyzing the interplay of hardware and software architectures on core algorithms, programming models, and applications.
  4. Actively collaborating with the hardware design, software engineering, product, and research teams to guide the direction of accelerated computing.
  5. Diving into accelerated computing applications to facilitate software-hardware co-design.

Skills

Required

  • MS or Ph.D. in Computer Science, Computer Engineering or Electrical Engineering, or equivalent experience
  • 6+ years of relevant work experience
  • Strong mathematical fundamentals, including linear algebra and numerical methods.
  • Hands-on experience with the massively parallel GPU programming model, e.g. CUDA or OpenCL.
  • Strong knowledge of C and C++ with solid understanding of software design, programming techniques, and algorithms.

Nice to have

  • Familiarity with APIs for multi-node communication, like MPI or OpenSHMEM/NVSHMEM
  • Familiarity with threading APIs for multicore CPUs and Unix-style Inter-process Communication (IPC) APIs
  • Familiarity with Python

What the JD emphasized

  • performance optimization
  • NVIDIA GPUs
  • accelerated computing
  • parallel algorithms
  • data structures
  • CUDA
  • OpenCL
  • C++