Compiler Software Engineer (Poughkeepsie, NY)
IBM
At IBM, work is more than a job – it’s a calling: To build. To design. To code. To consult. To think along with clients and sell. To make markets. To invent. To collaborate. Not just to do something better, but to attempt things you’ve never thought possible. Are you ready to lead in this new era of technology and solve some of the world’s most challenging problems? If so, lets talk.
Your Role and Responsibilities
IBM is seeking a highly motivated Compiler Software Engineer to join the dynamic and innovative IBM Z Deep Learning Compiler team. As a zDLC member, you will craft compiler capabilities that enable development and deployment of machine learning workloads on high performing and low latency IBM Z’s next generation Neural Network Program Assist Hardware. IBM Z Deep Learning Compiler uses the ONNX-MLIR (Multi-Level Intermediate Representation) deep learning compiler to better realize the potential of IBM Telum series of on-chip hardware accelerators for a growing range of computational workloads, ranging from deep learning, scientific computation, and financial transactions. In this role, as a developer on our team, you have the opportunity of working on optimizing the IBM Z Deep Learning compiler, a core component of our platform for accelerating general purpose machine learning model inference on the IBM Telum processors. The IBM ZDLC compiler is responsible for translating machine learning models in ONNX format into ZDLC graph which is then generated as a shared library that is optimized for fast execution of these compiled machine learning models on IBM’s family of industry-leading on-chip Telum processors. You will be solving challenging problems working alongside some of the top valued diverse minds in compiler technology and dedicated hardware AI accelerators. If this sounds like a fun challenge, and you are interested, please apply.
IBM Infrastructure is a catalyst that makes the world work better because our clients demand it. Heterogeneous environments, the explosion of data, digital automation, and cybersecurity threats require hybrid cloud infrastructure that only IBM can provide.
Your ability to be creative, a forward-thinker and to focus on innovation that matters, is all support by our growth minded culture as we continue to drive career development across our teams. Collaboration is key to IBM Infrastructure success, as we bring together different business units and teams that balance their priorities in a way that best serves our client’s needs.
IBM’s product and technology landscape includes Research, Software, and Infrastructure. Entering this domain positions you at the heart of IBM, where growth and innovation thrive.
What You’ll Be Doing
• Design and implement enhancements to the IBM Z Deep Learning Compiler. This will involve working with ONNX, ONNX-MLIR, MLIR and LLVM (low level virtual machine) compiler infrastructure.
• Collaborate closely with teams developing other components of the compiler in ensuring robustness, high-quality code generation and suitability for developing programs exploiting compiled models as shared libraries used in deep learning and safety-critical execution environments on IBM Z platform for Linux on Z, LinuxOne, IBM Z Container Extension Platform and IBM Z/OS operating systems.
• Provide engineering support for the compiler and deliver targeted changes for production customer releases.
• Establish strong customer/partner relationships and trust through excellent execution and high-quality software development.
• Work with the open-source community to drive and deliver code contributions to lead IBM efforts in ONNX-MLIR.
Required Technical and Professional Expertise
• BS degree in Computer Science, Computer Engineering, or related field (or equivalent experience)
• 3+ years of experience in developing production compilers or related software, overall 6+ years of experience developing production ready compilation technology.
• Knowledge of compiler front-end technology
• Strong C, C++, and Python programming skills.
• Strong interpersonal, verbal and written communications skills. • Capability to achieve objectives under tight deadlines.
Preferred Technical and Professional Expertise
• MS/PhD degree in Computer Science, Computer Engineering, or related field (or equivalent experience)
• Strong track-record in compiler engineering with LLVM-clang or other industrial strength compiler front-end
• Strong knowledge of building AI compilers like ONNX-MLIR and MLIR.