Research Intern - Machine Learning Compilers

Employment Type

: Full-Time


: Miscellaneous

Virtual Internship Participation in the Research Internship Program requires that you are physically located in the United States or Canada for the duration of the internship. Research Internships at Microsoft provide a dynamic environment for research careers with a network of world-class research labs led by globally-recognized scientists and engineers. Our researchers and engineers pursue innovation in a range of scientific and technical disciplines to help solve complex challenges in diverse fields, including computing, healthcare, economics, and the environment. This is your chance to impact the future of computing by contributing to the tools and technologies underpinning Azure's accelerated computing platform. Our team's innovative solutions are used to build and optimize the hardware accelerators that power some of Microsoft's most important and strategic projects in the cloud. Our collaborative and inclusive team is looking for machine learning compiler interns with a passion for low-level, performance minded coding and experience in, or an interest in learning about, hardware design. Day to day tasks may include performance analysis of machine learning models, software optimization, and development of new machine learning compiler technology. In addition to the qualifications below, you'll need to submit a minimum of two reference letters for this position. After you submit your application, a request for letters may be sent to your list of references on your behalf. Note that reference letters cannot be requested until after you have submitted your application, and furthermore, that they might not be automatically requested for all candidates. You may wish to alert your letter writers in advance, so they will be ready to submit your letter. Required Qualifications * Must be currently enrolled in a PhD program in Computer Science or a related field * Participation in the Research Internship Program requires that you are physically located in the United States or Canada for the duration of the internship Preferred Qualifications * Experience with compiler development using LLVM and/or MLIR * Experience using TensorFlow, PyTorch, ONNX runtime or other machine learning frameworks * Experience programming in C++ * Must have experience working on a compiler Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form. Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work. Interns put inquiry and theory into practice. Alongside fellow doctoral candidates and some of the world's best researchers, interns learn, collaborate, and network for life. Interns not only advance their own careers, but they also contribute to exciting research and development strides. During the 12-week internship, students are paired with mentors and expected to collaborate with other interns and researchers, present findings, and contribute to the vibrant life of the community. Research internships are available in all areas of research, and are offered year-round, though they typically begin in the summer. Additional Responsibilities * Implement advanced compiler optimizations using LLVM and MLIR. * Work on code generation/novel compilation techniques for new instruction set architectures. * Analysis and evaluation of proposed software designs and architectures. * Software engineering and design in C/C++. * Performance analysis of complex systems, design and implementation performance optimizations.

Launch your career - Create your profile now!

Create your Profile