Neural Network Kernel Software Development Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+1 more
Job description
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., * 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.
Benefits & conditions
- Competitive Salary
- Unlimited sick leave.
- Stock options.
- Contribution to revolutionizing chip and software technologies with global impact.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Best Countries for Software Engineers
Highest Paying Tech Companies for Developers
MLOps And AI Driven Development
Where To Find Software Engineering Jobs