Sr. CUDA Software Engineer, Autopilot Infrastructure

Fremont, California
13 Oct 2018
13 Nov 2018
Contract Type
Full Time
The Role:

The candidate will be a key technical member of the Autopilot Infrastructure team responsible for working closely with evolving Autopilot/ML workloads and optimizing code to run on a cluster. They will join a team of experts in research and developing innovated ML/CV workloads and cluster technologies including heterogenous compute nodes, networking and mult-tiered storage. The responsibilities are primarily oriented towards optimizing code for GPUs. Full stack optimization is desired, so a willingness to explore and suggest alternate algorithms and heterogeneous cluster design is expected.

  • Analyze performance of machine intelligence software (Driver, Frameworks, Libraries)
  • Support Autopilot Data Scientists, drive research and influencing technical direction
  • Deliver technical demonstrations and projects as defined by the Autopilot leadership team
  • Provide technical support for GPU system deployments
  • Be an internal champion on Deep Learning, High Performance Data Analytics, Robotics, Signal Processing
  • Identify bottlenecks and tuning opportunities and work with broader team to optimize software and hardware
  • Develop tools, simulators, scripts as needed to automate process
  • Propose and execute on innovations in both software and hardware architecture based on the benefits to high-speed, large-scale applications

The candidate must have both excellent technical and communication skills. Because the workload is quickly evolving, the requirements and architecture must continually be coordinated with the Autopilot Data Scientists. Additionally:
  • BS or higher degree in CS/EE/CE or equivalent
  • Strong programming skills in C or C++
  • GPU programming experience in CUDA and/or OpenCL
    • Algorithm optimization/development
    • Heterogeneous computing
    • Image processing
    • High performance data processing pipeline
    • Motion planning
  • Practical experience optimizing a GPU-accelerated program
  • Understanding GPU architecture and key optimization techniques
  • Experience using profiling tools and understanding performance counters
  • Experience with a machine learning framework (PyTorch and Caffe preferred)
  • Scripting language (Python, Perl) knowledge and UNIX/Linux experience
  • Experience in deep learning network acceleration, quantization, prune or compression

Similar jobs

Similar jobs