As an Acceleration Kernel Developer at Tenstorrent, you will play a crucial role in optimizing low-level workloads, kernel development, and enhancing our software's performance for machine learning applications. You will work closely with a team of highly skilled engineers to ensure that our software operates at peak efficiency, delivering high-quality results to our clients and users.
This role is hybrid, based out of Toronto, ON; Austin, TX; Santa Clara, CA.
Responsibilities
- Kernel Development: Participate in the design, development, and maintenance of kernel-level software components for our applications. Develop and optimize kernels and kernel libraries for efficient machine learning and HPC applications.
- Implementation of tensor compute and tensor data movement optimizations kernels.
- Heavy focus on optimizations.
- Low-Level Optimization: Analyze and optimize low-level code to improve the performance and efficiency of our software, with a strong emphasis on tensor optimization.
- Machine Learning Integration: Collaborate with machine learning engineers and data scientists to integrate optimized kernels and low-level routines into machine learning frameworks and pipelines.
- Performance Profiling: Identify performance bottlenecks, conduct performance profiling, and develop strategies to address and resolve them.
- Testing and Debugging: Write comprehensive unit tests, conduct thorough debugging, and ensure the stability and reliability of kernel-level code.
- Documentation: Create clear and concise documentation for code, APIs, and best practices to facilitate collaboration within the team.
- Research and Innovation: Stay up-to-date with the latest developments in kernel development, tensor optimization, and machine learning to propose innovative solutions and improvements.
Experience & Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Proven experience in kernel development, with a strong focus on low-level optimizations and tensor optimization.
- Proficiency in C/C++ programming languages.
- Familiarity with machine learning frameworks and concepts.
- Strong problem-solving skills and the ability to analyze and debug complex issues.
- Experience with performance profiling and optimization tools.
- Excellent communication and teamwork skills.
- Self-motivated, detail-oriented, and able to work independently as well as in a team.
- Experience with GPU programming (CUDA, OpenCL) is a plus.
- Knowledge of operating system internals is a plus.
Similar Jobs
- View Job
Metal Acceleration Kernel Developer Santa Clara, California, United States
Santa Clara - View Job
Desktop Support Engineer – (Santa Clara) – California, United States of America
Santa Clara - View Job
Sr Principal Engineer Software (App Edge Platform Testing) Santa Clara, California, United States
Santa Clara - View Job
Staff Software Engineer, Wildfire (Low-level OS development) Santa Clara, California, United States
Santa Clara - View Job
Electrical Specialist San Jose, California, United States
San Jose