Senior Neural Network Kernel Software Development Engineer

    • Targeted Talent
  • Edmonton, AB
  • Posted 3 hours ago | Updated 3 hours ago

Overview

On Site
$110,000 - $140,000
Full Time

Skills

Investments
Software deployment
Optimization
Code optimization
Agile
Mentorship
Scratch
Communication
Writing
Computer hardware
CPU
Design
Adaptability
Operations
Performance tuning
Computer science
Mathematics
Physics
C++
FOCUS
Neural Network
Algorithms
Problem solving
Python
Artificial intelligence
Software development
Integrated circuit
IMPACT

Job Details

Job Description

Job Description

Senior Neural Network Kernel Software Development Engineer


Our client is making substantial investments in software to enhance the seamless deployment of neural networks on their hardware, streamlining the experience for researchers and developers. The focus involves the optimization of various common neural networks for optimal performance on architectures, facilitated by the software optimization tool flow.

We are seeking software developers who are driven and naturally curious. The chosen candidate will contribute within agile teams, working closely with senior software engineers for mentorship. This role presents an opportunity to tackle novel challenges using cutting-edge technologies, as they build innovative systems from scratch.

As a key team member, you will specialize in constructing efficient implementations of practical neural net kernels tailored to their distinctive hardware architecture. Additionally, you will implement diverse computing algorithms, maximizing computation and communication throughput. This role involves developing a profound understanding of the architecture's intricacies, working collaboratively with the architects and compiler engineers.

Responsibilities:

  • Experience writing kernels to accelerate Neural Network execution on custom hardware accelerators (not on CPU's)
  • Design, prototype, and execute low-level, adaptable C++ programs (kernels) for various neural net operations.
  • Define, document, and communicate configuration APIs for these kernels to the compiler team.
  • Share performance optimization concepts with both compiler engineers and architects working on future product generations.
  • Develop comprehensive computation strategies spanning kernels for multichannel and multi-chip neural net implementations.

Requirements:

  • Degree in Computer Science, Engineering, Math, Physics, or related field (preferably MS or PhD).
  • Profound knowledge of modern C++, with a focus on code generation and low-level compute optimizations.
  • Familiarity with fundamental Neural Network operator algorithms - Convolutions, Transformers, RNNs.
  • Demonstrated capability to independently navigate challenging, well-defined problems.
  • Aptitude and interest in both high-level conceptual understanding and intricate technical details.
  • Enthusiasm for problem-solving within highly structured and restricted environments.

Preferred Skills and Experience:

  • Proficiency in Python.
  • Experience with other AI accelerator programming.
  • Strong mathematical aptitude.
  • Enjoyment of solving complex problems.

Our client offers:

  • Comprehensive health and extended health benefits.
  • Competitive Salary
  • Unlimited sick leave.
  • Stock options.
  • Contribution to revolutionizing chip and software technologies with global impact.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.