04 Nov
|
MulticoreWare
|
Chennai
04 Nov
MulticoreWare
Chennai
Job Information
- Department Name Platforms & Compilers
- Job Type Full time
- Date Opened 30/08/2026
- Industry Software Development
- Minimum Experience In Years 5
- Maximum Experience In Years 8
- City Chennai
- Province Tamil Nadu
- Country India
- Postal Code 600089
About Us
MulticoreWare is a global software solutions & products company with its HQ in San Jose, CA, USA. With worldwide offices, it serves its clients and partners in North America, EMEA and APAC regions. Started by a group of researchers, MulticoreWare has grown to serve its clients and partners on HPC & Cloud computing, GPUs, Multicore & Multithread CPUS, DSPs, FPGAs and a variety of AI hardware accelerators. MulticoreWare was founded by a team of researchers that wanted a better way to program for heterogeneous architectures. With the advent of GPUs and the increasing prevalence of multi-core, multi-architecture platforms, our clients were struggling with the difficulties of using these platforms efficiently.
We started as a boot-strapped services company and have since expanded our portfolio to span products and services related to compilers, machine learning, video codecs, image processing and augmented/virtual reality. Our hardware expertise has also expanded with our team; we now employ experts on HPC and Cloud Computing, GPUs, DSPs, FPGAs, and mobile and embedded platforms. We specialize in accelerating software and algorithms, so if your code targets a multi-core, heterogeneous platform, we can help.
We are looking for an experienced LLVM Backend Engineer to design and implement backend components of the compiler toolchain. The role focuses on building and optimizing the code generation flow targeting a custom or existing hardware architecture. The candidate will work on LLVM IR transformations, instruction selection, and target-specific optimizations to deliver high-performance, efficient compiled code.
Responsibilities:
- Develop and maintain the LLVM backend for a custom or existing target architecture.
- Implement and extend instruction selection, register allocation, scheduling, and code emission.
- Design and implement IR-level optimization passes to improve performance, memory efficiency, and code quality.
- Work on LLVM middle-end transformations and optimizations.
- Analyze and tune generated assembly/code quality for performance bottlenecks.
- Collaborate with hardware teams to ensure architectural features are fully leveraged by the compiler backend.
- Contribute to internal LLVM forks or upstream where applicable.
Requirements
Education: BTech/BE/MTech/ME/MS/PhD in Computer Science, Computer Engineering, Electronics/ECE, or a related field.
Technical Skills (Must haves):
- Robust C/C++ programming skills and solid understanding of compiler fundamentals.
- Hands-on experience with LLVM, LLVM IR, and backend/code-generation components.
- Understanding of instruction selection, register allocation, instruction scheduling, and code emission.
- Experience with compiler optimizations and performance/code-quality analysis.
Need to have (Can be bridged):
- Experience developing or modifying LLVM backend components for a target architecture.
- Knowledge of IR-level and middle-end transformations and optimization passes.
- Ability to analyze generated assembly and identify performance bottlenecks.
Good to have (Not essential):
- Experience with custom hardware architectures, accelerators, CPU/GPU/DSP/FPGA targets, or domain-specific architectures.
- Experience contributing to upstream LLVM or maintaining an internal LLVM fork.
- Familiarity with compiler testing, benchmarking, and performance tuning workflows.
Preferred Qualifications (Optional):
- Experience collaborating closely with hardware/architecture teams and translating architectural features into compiler support.
📌 LLVM Back-end Engineer (Chennai)
🏢 MulticoreWare
📍 Chennai