Senior NPU Compiler Engineer

Build the compiler stack for PIMIC’s ultra-low-power Processing-in-Memory NPU

Employment Type: Full-time

About PIMIC

PIMIC is developing ultra-low-power neural-processing technology for edge-AI applications. Our Processing-in-Memory architecture combines high computational efficiency with a dataflow-based execution model, enabling advanced AI workloads within stringent power and memory constraints.

We are seeking a Senior NPU Compiler Engineer to develop the compiler technology that maps machine-learning models onto PIMIC’s proprietary NPU architecture.

Position Summary

The Senior NPU Compiler Engineer will design and implement a compiler that imports models from frameworks and formats such as TFLite, ONNX, and PyTorch-exported graphs and converts supported neural-network operations into executable instruction and data images for PIMIC’s Processing-in-Memory NPU.

The role covers the complete compilation flow, including graph import, operator validation, shape inference, graph transformations, operator lowering, tensor-layout selection, memory planning, scheduling, instruction encoding, image generation, simulator integration, and output validation.

The engineer will work closely with the NPU architecture, RTL, simulator, firmware, and machine-learning teams to define the software-to-hardware interface and deliver a reliable, production-quality compiler toolchain.

Responsibilities

  • Design and develop the compiler toolchain for PIMIC’s proprietary NPU architecture.

  • Import and process machine-learning models from TFLite, ONNX, and PyTorch-exported formats.

  • Parse and validate computational graphs, operators, tensors, shapes, attributes, and dependencies.

  • Implement shape inference, constant propagation, graph transformations, and operator fusion where applicable.

  • Lower high-level neural-network operators into PIMIC NPU primitives and instruction sequences.

  • Map neural-network graphs onto PIMIC’s dataflow execution architecture.

  • Develop scheduling algorithms for operators, data transfers, and hardware resources.

  • Implement tensor-layout transformations and optimize data placement for the target architecture.

  • Develop memory-planning and allocation algorithms for weights, activations, intermediate data, and instruction storage.

  • Generate executable instruction images and associated data images for NPU memories.

  • Define and maintain compiler interfaces with the NPU simulator, firmware, runtime, and RTL environment.

  • Develop validation infrastructure to compare compiler-generated results with framework reference outputs.

  • Diagnose functional and performance differences across the framework, compiler, simulator, and RTL implementations.

  • Optimize generated programs for execution efficiency, memory utilization, bandwidth, and power.

  • Create debugging, visualization, tracing, and performance-analysis tools for compiled models.

  • Define compiler requirements and hardware/software interfaces in collaboration with NPU architects.

  • Support new operators, architectural features, and customer models as the NPU platform evolves.

  • Develop automated unit, regression, and model-level tests for the compiler toolchain.

  • Produce clear design documentation and maintain high-quality, production-ready software.

Required Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.

  • Significant experience developing compilers, graph compilers, code generators, or backend toolchains.

  • Strong programming skills in C++ and Python.

  • Solid understanding of compiler concepts, including intermediate representations, graph transformations, lowering, scheduling, memory allocation, and code generation.

  • Experience working with computational graphs or machine-learning model formats such as ONNX, TFLite, or PyTorch-exported graphs.

  • Understanding of neural-network operations, tensor shapes, tensor layouts, and execution dependencies.

  • Experience developing software for specialized processors, accelerators, DSPs, GPUs, NPUs, or embedded systems.

  • Strong knowledge of computer architecture, memory systems, data movement, and performance optimization.

  • Experience developing automated test and validation infrastructure.

  • Strong debugging and problem-solving skills across multiple levels of the software and hardware stack.

  • Ability to work effectively with architecture, RTL, firmware, simulator, and machine-learning teams.

Preferred Qualifications

  • Experience with MLIR, LLVM, TVM, XLA, Glow, IREE, or another compiler infrastructure.

  • Experience developing a compiler backend for an NPU, DSP, GPU, or other domain-specific accelerator.

  • Familiarity with dataflow architectures, Processing-in-Memory architectures, or systolic accelerators.

  • Experience with operator fusion, tiling, scheduling, tensor-layout optimization, and scratchpad-memory management.

  • Experience generating binary instruction streams, memory images, or firmware-consumable artifacts.

  • Familiarity with DMA engines, on-chip SRAM, external memory, and memory-bandwidth optimization.

  • Experience correlating results among machine-learning frameworks, instruction-set simulators, cycle-accurate models, FPGA prototypes, and RTL.

  • Familiarity with embedded-AI deployment and resource-constrained edge devices.

  • Experience building compiler diagnostics, graph visualization, profiling, or performance-analysis tools.

What We Offer

  • An opportunity to build a compiler and software stack for a new ultra-low-power NPU architecture.

  • Direct involvement in architectural and hardware/software co-design decisions.

  • Work on production-oriented edge-AI technology from model import through silicon execution.

  • A collaborative environment with significant technical ownership and impact.

  • A competitive compensation package including stock options

Location

  • India or USA. Position could be located anywhere in these two countries (remote), or in-person in Chennai or the Bay Area