Expoint - all jobs in one place

מציאת משרת הייטק בחברות הטובות ביותר מעולם לא הייתה קלה יותר

Limitless High-tech career opportunities - Expoint

Qualcomm Cloud Machine Learning Framework Staff engineer- 
India, Karnataka, Bengaluru 
535119836

23.06.2024

Job Area:

Engineering Group, Engineering Group > Software Engineering

As a leading technology innovator, Qualcomm pushes the boundaries of what's possible to enable next-generation experiences and drives digital transformation to help create a smarter, connected future for all. As a Qualcomm Software Engineer, you will design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs that launch cutting-edge, world class products that meet and exceed customer needs. Qualcomm Software Engineers collaborate with systems, hardware, architecture, test engineers, and other teams to design system-level software solutions and obtain information on performance requirements and interfaces.

Minimum Qualifications:

• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.

Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.

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.

Key Responsibilities

  • Analyze software requirements, determine the feasibility of design within the given constraints, consult with architecture and HW engineers, and implement software solutions best suited for Qualcomm's SOCs.

  • Analyze and identify system level issues, interface with the software development, integration, and test teams

  • Lead high performing teams towards system design and deliverables.

  • Proven track record of leading teams in Machine learning software engineering.

  • Strong foundation of Mathematical modeling of problems and linear algebra, coupled with state of the art algorithms in ML/AI space.

  • Improve and optimize key Deep Learning models on Qualcomm AI 100.

  • Build deep learning framework extensions for Qualcomm AI 100 in upstream open-source repositories.

  • Collaborate and interact with internal teams to analyze and optimize training and inference for deep learning.

  • Build software tools and ecosystem around AI SW Stack.

  • Work on Triton, ExecuTorch, Inductor, TorchDynamo to build abstraction layers for inference accelerator.

  • Optimize workloads for both scale-up (multi-SoC) and scale-out (multi-card) systems.

  • Optimize the entire deep learning pipeline including graph compiler integration.

  • Apply knowledge of software engineering best practices.

Desirable Skills and Aptitudes

  • Deep Learning experience or knowledge – LLMs, Natural Language Processing, Vision, Audio, Recommendation systems.

  • Knowledge of the structure and function of different components of Pytorch, TensorFlow software stacks.

  • Excellent C/C++/Python programming and software design skills, including debugging, performance analysis, and test design.

  • Ability to work independently, define requirements and scope, and lead your own development effort.

  • Well versed with open-source development practices.

  • Strong developer with a research mindset – strives to innovate.

  • Avid problem solver – should be able to find solutions to key engineering and domain problems.

  • Knowledge of tiling and scheduling a Machine learning operator is a plus.

  • Experience in using C++ 14 (advanced features)

  • Experience of profiling software and optimization techniques

  • Hands on experience writing SIMD and/or multi-threaded high-performance code is a plus.

  • Experience of ML compiler, Auto-code generation (using MLIR) is a plus.

  • Experiences to run workloads on large scale heterogeneous clusters is a plus.

  • Hands-on experience with CUDA, CUDNN is a plus.

Qualifications:

  • Bachelor's / Masters/ PHD degree in Engineering, Machine learning/ AI, Information Systems, Computer Science, or related field.

  • 8+ years Software Engineering or related work experience.

  • 8+ years’ experience with Programming Language such as C++, Python.

Qualcomm expects its employees to abide by all applicable policies and procedures, including but not limited to security and other requirements regarding protection of Company confidential information and other confidential and/or proprietary information, to the extent those requirements are permissible under applicable law.