Senior Lead Engineer – NSP/NPU System Software
Qualcomm
- Location
- Bangalore, India
- Work model
- On-Site
- Level
- Senior
- H-1B history
- 22 approvals (FY2023)
- Posted
- 8h ago
Skills
About this role
Company: Qualcomm India Private Limited Job Area: Engineering Group, Engineering Group > Software Engineering General Summary: Qualcomm’s Central Software Engineering (CSE) team is seeking candidates for its Neural Signal Processor (NSP) System software team in Bangalore. We are seeking candidates with strong system software knowledge and hands-on experience in development, integrate, commercialize and maintenance of system software for CPU, NSP processors and Hardware engines/accelerators comprising in Qualcomm SoCs that meets specified performance, latency, power, robustness, and stability metrics. In this role you will utilize your solid foundation in embedded system software development, operating systems, and device drivers to deploy platform software for complex Multimedia and Deep Learning use cases running on Qualcomm SoC s. Partnering with hardware architecture, platform software, Multimedia, and developer tools teams, you will drive the architecture, design, and development of system software to use SoCs extensive heterogeneous computing capabilities to allow running of compute workloads on device without a need for connection to the cloud for Mobile, Auto, IoT, XR and/or AI inferencing Qualcomm SOCs platforms. Responsibilities m ay Include, but are not limited to , The selected candidate will have responsibilities in one or more of the following areas: Architect, design and develop software frameworks across the processors available on the SoC s. Develop high-performance system drivers for compute resources. Identify areas of performance optimization in the SoC for both Software and Hardware architectures Work closely with our global team to integrate, test, and commercially support our embedded software solutions . Offsite and occasional onsite work with OEMs and Independent Software Vendors may be required Required Skills/Experience Strong programming skills in C / C++, and Python . 4 + years of experience in writing scalable C/ C++ multi-threaded, multi-process software applications for Android/Embedded Linux/ QNX operating systems . Experience in system programming, threading, mutex, synchronization, communication, and parallel computing to build highly scalable and efficient applications. Deep understanding of CPU, DSP, Deep Learning Accelerators (NSP/NPU) architectures, system programming and optimization of Multimedia/ML algorithms on hardware acceleration cores using C/C++, assembly language, OpenCL/CUDA programming frameworks. Experience with ARM and NSP/Hardware engines Inter-processor communications using RPCs Familiarity and hands-on experience with various system analysis tools used for memory, performance and hardware resource management for optimization and stability Experience with build systems such as CMake , Make, ninja and Yocto for large scale software. Familiarity with source control tools (Git, GitHub, GitLab, Perforce, etc.) Experience in writing documents on software design, algorithms, and interfaces Education Requirements Required: Bachelor's, Computer Engineering and/or Computer Science, software engineering or closely related discipline with 6 - 8 yrs of relevant work experience Preferred: Master's, Computer Engineering and/or Computer Science, software engineering or closely related discipline with minimum 6 yrs of relevant work experience Minimum Qualifications: • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related