The Role:
Openchip is building exciting new RISC-V chips with HPC and AI acceleration. The Compilers team is developing the compilers, both for traditional languages (C, C++, Fortran) and for ML frameworks. As engineering lead, your role will be to provide technical direction of the team, mentor more junior developers, and drive innovation within the team, as they build on top of industry-standard compiler frameworks like LLVM to enable the use of Openchip’s novel hardware features and accelerators, bringing visible improvements to end users.
Key responsibilities:
• Understand the technical landscape of their project and make decisions about it.
• Make independent technical contributions, especially for the most foundational or challenging parts of the project.
– Write code to extend compiler frameworks (e.g., GCC, LLVM), enabling usage of novel hardware features and acceleration, and improving the quality of code generated for these targets.
– This includes both “traditional” (high-level language to binary) compilers as well as those manipulating ML intermediate representations (e.g., model graphs).
• Interact with engineers and leads from their and other teams to unblock issues, or to reach consensus on technical topics. In particular:
– Work with ML/AI and hardware teams, connecting their respective requirements and offerings, influencing hardware/software co-design.
– In other cases, understand ML/AI workloads, both industry standard ones and those of specific clients of the company, and map them to hardware features.
• Provide technical guidance to more junior team members, also acting as a mentor.
• Review team artifacts (design documents, code changes) both for correctness but also for code quality and consistency.
• Identify opportunities for code and/or process improvement.
• Loop in directors and above as needed, for instance to surface potential risks or get feedback based on area-level technical knowledge.
• Collaborate with program managers for task and deliverable tracking, as well as process improvements.
• Communicate outside the team, explaining and divulging technical topics to less technical parts of the organization.
Required qualifications:
• Bachelor or Master’s degree in a relevant field.
• Experience in the relevant field (more than 10 years).
• Experience with compiler frameworks (e.g., LLVM, MLIR, GCC...).
• Experience with computation and parallelism APIs (e.g., CUDA, OpenAcc, OpenCL, OpenML, SYCL,...).
• Solid knowledge of the C++ and C programming languages.
• Experience with code benchmarking, debugging, profiling, and tracing.
• Experience with standard tools for source control (git), continuous integration, task management (Jira).
Soft skills:
• Within and cross-team collaboration at the technical level.
• Experience leading teams at the technical level (not necessarily with a formal management role).
Preferred qualifications:
• Experience with the Python programming language.
• Experience with lower-level development (e.g., device drivers).
• Experience with ML model training and evaluation.
• Experience with ML frameworks (e.g., TensorFlow, PyTorch, Keras,...) and runtimes (e.g., ONNX, TfLite,...)
What do we offer?
We are looking for outstanding people willing to join our mission to change this industry and help to build a better world.
If you feel identified with Openchip, please contact us. We can offer a competitive compensation package in a flexible work schema that will help you to keep a balance between your personal and professional life.
At Openchip & Software Technologies S.L., we believe a diverse and inclusive team is the key to groundbreaking ideas. We foster a work environment where everyone feels valued, respected, and empowered to reach their full potential – regardless of race, gender, ethnicity, sexual orientation, or gender identity.