Compiler Code Generation Engineer
PebblebedVisit Pebblebed website
A San Francisco venture capital firm and builder community investing in technically rigorous frontier-technology companies.
San Francisco, United States
About Pebblebed
Pebblebed is a venture capital firm, builder community, AI research lab, and event space focused on technically rigorous frontier technology. Its current portfolio emphasizes AI, robotics, developer infrastructure, biotech, and related frontier technologies.
Skills
About the Role
Design, build, maintain, and improve a heterogeneous AI compiler, implementing code generation, compiler architecture improvements, parallelization, partitioning, and performance optimizations for machine-learning workloads.
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
- 4+ years of compiler experience.
- Deep knowledge of compiler algorithms and data structures.
- Experience with low-level code generation, object file manipulation, and target-specific optimizations.
- 4+ years of C/C++ experience.
- Strong written and verbal communication skills and ability to write clear technical documentation.
- Master's or PhD in a relevant field is preferred.
- Knowledge of instruction selection, register allocation, dominance analysis, and def-use chains is preferred.
- Familiarity with calling conventions, APIs, linking, and relocations is preferred.
- Working knowledge of LLVM is preferred.
- Experience with loop optimizations, vectorization, unrolling, fusion, and parallelization is preferred.
- Experience with machine learning workloads and hardware demands is preferred.
Responsibilities
- Design, develop, maintain, and improve the heterogeneous AI compiler.
- Design and implement code-generation capabilities based on the compiler architecture.
- Propose compiler architecture improvements in response to ML model and hardware advances.
- Apply parallelization and partitioning techniques to automate kernel generation and optimize execution paths.
- Use performance data to identify optimization opportunities and drive improvements.
- Collaborate with the product team to translate ML engineer needs into architectural improvements.
Benefits
- Equity
- Company bonus opportunities
- Medical coverage
- Dental coverage
- Vision coverage
- Retirement savings plan
- Supplemental wellness benefits
