02 Nov
|
Vicharak
|
Surat
Company: Vicharak Computers Pvt. Ltd. Role: Compiler Engineer
- Systems Engineer Domain: AI Accelerators / Compilers / Systems Software
Location:
Surat, Gujarat, India
About the Role
We are looking for a solid 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++ Programming Candidates should have excellent proficiency in:
• C
• Modern 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 Background We 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 Experience Experience 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 Knowledge Understanding 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 Value We 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 efficient? Portfolio Expectations Candidates 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 Vicharak At 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.
📌 Compiler- Engineer (Surat)
🏢 Vicharak
📍 Surat