Software Engineer III, Core ML Performance
Role details
Job location
Tech stack
Job description
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google's needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward., * Contribute to the development and maintenance of Tokamax, a unified open-source kernel library, creating a home for high-quality, well-tested, easy-to-use, and performant kernels available to both internal and external users.
- Build infrastructure and tooling for kernel development, including bench-marking suites, auto-tuning frameworks, performance analysis tools, debugging tools, and continuous integration pipelines to ensure the correctness and performance of custom kernels across different hardware and model configurations.
- Design, develop, and optimize high-performance custom kernels (using languages like Pallas, Mosaic, and Triton) aiming TPU and GPU architectures for key machine learning operations.
- Investigate and implement custom kernel support for new accelerator hardware generations/features and emerging ML operations.
- Contribute to the documentation and usability of kernel libraries tools and libraries to lower the barrier to entry for researchers and engineers looking to write or leverage custom kernels.
Google is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google's EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing our Accommodations for Applicants form.
Requirements
Do you have experience in Systems analysis?, Do you have a Master's degree?, * Bachelor's degree or equivalent practical experience.
- 2 years of experience with software development in one or more programming languages.
- 2 years of experience with performance, large-scale systems data analysis, visualization tools, or debugging.
- 2 years of experience with computer architecture, performance analysis, and performance modeling., * Master's degree or PhD in Computer Science or related technical fields.
- 2 years of experience with data structures or algorithms.
- Experience developing accessible technologies.