About the job
Key Skills: Modern C++, Compiler infrastructures (LLVM, MLIR),
Machine learning frameworks (ONNX, TensorFlow, PyTorch), Algorithm design (conceptual to implementation)
Roles and Responsibilities:
Develop and enhance the compiler backend by solving algorithmic challenges related to resource allocation for low-level instructions in spatial architectures.
Work on model partitioning approaches including pipelined, tensor, model, and data parallelism.
Perform hardware resource allocation, tiling, memory management, scheduling, and optimization for latency, bandwidth, and throughput.
Map low-level instructions efficiently to hardware resources for optimal performance.
Collaborate with experienced compiler developers to deliver production-grade compiler solutions.
Skills Required:
Ability to deliver production quality code in modern C++.
Experience in modern compiler infrastructures, for example: LLVM, MLIR.
Experience in machine learning frameworks and interfaces, for example: ONNX, TensorFlow and PyTorch.
Experience in production compiler development.
Preferred:
Algorithm design ability, from high level conceptual design to actual implementation.
Experience with relevant Open Source ML projects like Torch-MLIR, ONNX-MLIR, Caffe, TVM.
Passionate about thriving in a fast-paced and dynamic startup culture.
Education: Bachelor’s degree in computer science with 7+ Yrs of relevant industry experience, MSCS Preferred with 5+ yrs of relevant industry experience.
Bachelor’s degree in computer science