About The Position

Qualcomm CR&D is looking for a software engineer for Linux device driver for Machine Learning use cases. The development target is Qualcomm high-performance inference accelerator AI 100 and related products. The candidate will help work on developing code for Linux device drivers and help with upstreaming the code. Familiarity with development of functional simulation of SoC systems included bus subsystems, DMA, PCIe and peripherals, synchronization mechanisms such as semaphores as well as low speed peripherals will be beneficial.

Requirements

  • Experience with Linux kernel driver development, kernel modules, HWMon, sysfs and debugging techniques
  • PCIe virtualization, SRIOV
  • Experience with embedded development in C.
  • Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocks
  • Experience with Source Code and Configuration management tools, git knowledge is required
  • Willingness to work in a structured software development environment with ability to work on low-level implementation (code & test)
  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
  • 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
  • Experience with Linux user-space development, API development and multi-threaded processing.
  • Experience with development in C/C++.
  • Experience with development in Python.
  • Knowledge of RTOS, SoC architecture (core, cache, memory, bus architecture, IOs, etc.) and common hardware blocks
  • Experience with Source Code and Configuration management tools
  • Experience evangelizing innovative and new software architectural designs.
  • Good communication skills and ability to negotiate in a co-operative way.
  • 5+ years of relevant experience

Nice To Haves

  • 4+ years of relevant experience
  • Experience with Linux kernel PCIe stack.
  • Familiar with high speed interfaces such as PCIe and LPDDR
  • Familiar with implementing systems with high reliability expectations such as use of ECC, PCI AER fields.
  • Experience working with and familiarity with important SOC building blocks like interrupt controller & timers
  • Experience with kernel subsystems relevant to isolation and security.
  • Strong understanding of DMA, IOMMU, and device assignment in virtualized/isolated contexts.
  • Proficiency with virtualization: KVM and guest/host split drivers
  • Experience with CUDA, NCCL, Vulkan
  • Experience with frameworks like IREE
  • Understanding of PT 2.0 framework
  • Familiar with high-speed interfaces such as PCIe and LPDDR

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Number of Employees

5,001-10,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service