View all jobs

NN Kernel Developer

US or Canada, Ontario · Computer/Software
We are looking for an experienced Neural Network Kernel Software Development Engineer. The objective of the role is to build efficient implementations of real-world neural nets kernels specialized for our unique hardware architecture, as well as implementation of other computing algorithms, maximizing compute and communication throughput. The successful candidate will build a deep understanding of the hardware capabilities, limitations and details of our architecture and work closely with our architects and compiler engineers.


    • Design, prototype and implement C++  low-level flexible programs (kernels) for various neural net operations
    • Design, document and communicate configuration APIs for these kernels to compiler team
    • Communicate performance optimization ideas both to compiler engineers and to architects working on future product generations
    • Design overall computation strategies across kernels for multi-kernel and multi-chip neural net implementations


    • Computer Science, Engineering, Math, Physics or related degree, preferably MS or PhD
    • Deep knowledge of modern C++ with emphasis on code generation and low level compute optimizations
    • Knowledge of Neural Network basic operator algorithms - Convolutions, Transformers, RNNs
    • Demonstrated ability to work independently through challenging but tightly constrained problems
    • Interest and ability to work with both high level conceptual and very low-level technical details
    • Interest in problem-solving within highly structured and tightly constrained environments

Preferred Skills and Experience

    • Python experience
    • Experience with other AI accelerator programming
    • Strong mathematical skills
    • Enjoy solving very complex problems (like doing IQ tests, solving tricky math problems)

Share This Job

Powered by