27 Aug
|
Vicharak
|
Surat
Company: Vicharak Computers Pvt. Ltd.
Role: Systems Software Engineer AI Compiler
Domain: AI Accelerators / Compilers / Systems Software
Location: Surat, Gujarat, India
About the Role
We are looking for a strong Systems Software Engineer to work on the compiler and runtime stack for our AI accelerator architecture.
This is a low-level engineering role for someone who enjoys working close to hardware and has strong fundamentals in C/C++, compilers, computer architecture, operating systems, and performance optimization.
The engineer will work closely with ASIC architecture and hardware teams to translate neural-network workloads into highly optimized execution on Vicharak's accelerator.
What You Will Work On
- Design and develop the compiler stack for AI accelerator.
- Build compiler passes for mapping AI workloads onto custom compute engines.
- Develop graph-level and operator-level optimizations for neural-network workloads.
- Implement kernel generation, scheduling, memory allocation, and data movement strategies.
- Develop low-level runtime components and hardware abstraction layers.
- Work on instruction generation and execution scheduling for the accelerator.
- Optimize workloads for:
- Matrix multiplication
- GEMM
- Convolution
- Attention
- Transformer workloads
- Other AI/ML operators
- Work closely with ASIC architects to understand:
- Compute architecture
- Memory hierarchy
- On-chip memory
- Dataflow
- Instruction set / command architecture
- DMA and memory movement
- Profile workloads and identify performance bottlenecks.
- Optimize for latency, throughput, memory bandwidth, and power efficiency.
- Build debugging, profiling, benchmarking, and validation tools for the compiler stack.
- Contribute to model deployment flows from popular AI frameworks to Vicharak hardware.
Required SkillsStrong C/C++ ProgrammingCandidates should have excellent proficiency in:
- C
- Contemporary C++
- Data structures and algorithms
- Memory management
- Multithreading and concurrency
- Low-level systems programming
- Performance-oriented programming
The ability to understand generated assembly, memory layouts, cache behavior, and hardware/software interactions is highly desirable. Systems Software BackgroundWe are particularly interested in engineers who have previously worked on areas such as:
- Compilers
- Operating systems
- Device drivers
- GPU/NPU software stacks
- Embedded systems
- Runtime systems
- High-performance computing
- Databases/storage engines
- Virtual machines
- Networking stacks
- Firmware
- Hardware acceleration
A strong systems software portfolio is more important to us than experience with any single AI framework. Preferred Compiler ExperienceExperience with one or more of the following is highly valuable:
- LLVM
- MLIR
- TVM
- OpenXLA / XLA
- Triton
- GCC internals
- Custom compiler development
- Intermediate representations
- Compiler optimization passes
- Code generation
- Instruction scheduling
- Register allocation
- Tensor compilers
Candidates without direct AI compiler experience may still be considered if they have exceptional systems programming and compiler fundamentals.
AI / Hardware KnowledgeUnderstanding of the following is preferred:
- Neural-network inference
- Transformers
- GEMM and matrix multiplication
- Quantization
- Floating-point and low-precision numerical formats
- SIMD / vector architectures
- GPUs, NPUs, TPUs, or AI accelerators
- Memory hierarchy and bandwidth
- SRAM / DRAM / cache architectures
- DMA
- Parallel computing
- Computer architecture
- What We ValueWe are looking for engineers who can think from both the software and hardware perspective. You should be comfortable asking questions such as:
- How should this neural-network graph be mapped onto the hardware?
- How should tensors be partitioned across compute units?
- Where should intermediate data reside?
- How can we minimize memory movement?
- How should instructions be scheduled to maximize utilization?
- How can compiler decisions improve tokens/watt and overall throughput?
- What architectural changes would make the compiler significantly more productive?
Portfolio ExpectationsCandidates should ideally be able to demonstrate previous systems-level work through one or more of:
- GitHub projects
- Open-source contributions
- Compiler projects
- Operating-system projects
- Embedded software
- Runtime systems
- GPU/NPU programming
- Performance optimization projects
- Research projects
- Production systems software
We strongly value candidates who have built substantial low-level systems software themselves. Why Join VicharakAt Vicharak, this role is not about maintaining an existing compiler.
You will have the opportunity to help define the software architecture for a new AI accelerator from the ground up, working directly with the engineers designing the underlying silicon.
📌 Systems Software Developer (Surat)
🏢 Vicharak
📍 Surat