Tenstorrent is leading the industry on cutting-edge AI technology, revolutionizing performance expectations, ease of use, and cost efficiency. With AI redefining the computing paradigm, solutions must evolve to unify innovations in software models, compilers, platforms, networking, and semiconductors. Our diverse team of technologists have developed a high performance RISC-V CPU from scratch, and share a passion for AI and a deep desire to build the best AI platform possible. We value collaboration, curiosity, and a commitment to solving hard problems. We are growing our team and looking for contributors of all seniorities.
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.
Compensation for all engineers at Tenstorrent ranges from $100k - $500k including base and variable compensation targets. Experience, skills, education, background and location all impact the actual offer made.
Tenstorrent offers a highly competitive compensation package and benefits, and we are an equal opportunity employer.
Due to U.S. Export Control laws and regulations, Tenstorrent is required to ensure compliance with licensing regulations when transferring technology to nationals of certain countries that have been licensing conditions set by the U.S. government.
Our engineering positions and certain engineering support positions require access to information, systems, or technologies that are subject to U.S. Export Control laws and regulations, please note that citizenship/permanent residency, asylee and refugee information and/or documentation will be required and considered as Tenstorrent moves through the employment process.
If a U.S. export license is required, employment will not begin until a license with acceptable conditions is granted by the U.S. government. If a U.S. export license with acceptable conditions is not granted by the U.S. government, then the offer of employment will be rescinded.