Posted in

Machine Learning SOC Engineer

Machine Learning SOC Engineer

CompanyMeta
LocationAustin, TX, USA, Sunnyvale, CA, USA
Salary$173000 – $249000
TypeFull-Time
DegreesBachelor’s
Experience LevelExpert or higher

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
  • 8+ years of experience in development in the area of heterogeneous computing or high-performance computing
  • Programming skills in languages such as C++, Rust, and Python
  • Experience with runtime development, device driver development, API design, and library implementation
  • Problem-solving skills to analyze complex technical issues and develop effective solutions
  • Communication and collaboration skills to work effectively with cross-functional teams

Responsibilities

  • Design and develop the host runtime environment for heterogeneous computing systems, ensuring efficient communication and data transfer between different processing units
  • Develop and implement device drivers, APIs, and libraries to enable seamless interaction between the host runtime environment and various processing units
  • Collaborate with hardware engineers to understand the architecture of heterogeneous computing systems and optimize the host runtime environment accordingly
  • Work closely with application developers to ensure that the host runtime environment meets their requirements and provides optimal performance for their applications
  • Participate in code reviews, and stay up-to-date with industry trends and emerging technologies
  • Troubleshoot and debug issues, working closely with hardware engineers and application developers to resolve problems

Preferred Qualifications

  • Knowledge of computer architecture, operating systems, and parallel programming models (e.g., OpenMP, MPI)
  • Familiarity with heterogeneous computing platforms, such as NVIDIA CUDA, OpenCL, or AMD ROCm
  • Experience with object oriented, trait oriented and functional programming
  • Knowledge of machine learning frameworks, such as TensorFlow or PyTorch
  • Experience with agile software development methodologies and version control systems, such as Git, Mercurial
  • Familiarity with modern build tools like Bazel, Buck, CMake etc