Machine Learning SOC Engineer
Company | Meta |
---|---|
Location | Austin, TX, USA, Sunnyvale, CA, USA |
Salary | $173000 – $249000 |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Expert 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