Introduction
IBM India Systems Development Lab (ISDL) is a global development lab. Its leading IBM's server, storage and systems software. In addition it has System Integrators (SI) mission and works with industry leading SIs on go-to-market strategies, enablement, and partnerships. This is a key research and development lab based out of India, and develops new cutting-edge products around Machine learning, Deep Learning & Cloud technologies right from processor design and firmware all the way to operating system. This is a very strategic development lab for IBM as we are uniquely positioned to not just work with clients in India/South Asia but also Middle East & Africa, China and the rest of Asia Pacific countries. At ISDL, engineers get an opportunity to work with clients, on joint research programs with Universities and present at conferences.
Want more jobs like this?
Get Data and Analytics jobs in Bangalore, India delivered to your inbox every week.
Your Role and Responsibilities
This position is for an experienced Linux GNU/Open Source AI Library developer who has experience developing, optimizing and tuning code to a specified Hardware Architecture. While the target architecture of this work will be the IBM POWER architecture, experience tuning to x86 or ARM architectures will be directly applicable. As a developer on the Linux on Power team you will be responsible for:
Working with and interlocking with other internal teams and with the Open Source Community for defining, designing, developing and testing Linux on Power specific features in the AI and core libraries. Ensuring that those features are accepted upstream and incorporated into the appropriate Linux distributions.
In addition to design and development work you will be responsible for working issues and defects including problem determination, problem recreation, providing fixes, validating fixes and getting fixes accepted by the Community. Developers in this position are required to assist with resolving customer critical situations, for assisting with or leading proof of concepts and for providing technical guidance and consulting for pre-sales and post sales engagements.
This role requires expertise with the POWER instruction architecture, the GNU Compiler Collection (GCC) compiler, GNU Library for C (GLIBC), and Binary Utilities (assembler/loader). Familiarity with software builds, bring-up, test and performance analysis tools used by Linux on Power is desirable along with general hardware skills. Applicant will be engaged in performance analysis and tuning utilizing the POWER instruction profiling tools. Candidates must have the ability to work in a team based environment with global and remote team members.
Candidate should have experience with C/C++, scripting languages, assembler, familiarity with Bugzilla, open source development tools, simulation tools, performance analysis tools and working with mailing lists.
Required Technical and Professional Expertise
- As a Open Source Toolchain & Library Developer you will, ( Role responsibilities)
- Enhance, optimize & maintain open source Linux toolchain & libraries for IBM Power processor (ppc64le) architecture
- Update open source toolchain and libraries to enable new IBM Power processor functions and instructions
- Work with open source community to upstream code, enabling the ecosystem to leverage new generation IBM Power processor
- Resolve functional issues including recreation & analysis, proposing & validating fixes and working with the community to upstream fixes
- Assist resolving customer critical situations, lead proof of concepts and provide technical guidance & consulting for pre-sales and post sales engagements.
- Strong interest in and understanding of Computer Architecture, Operating Systems, Compilers, Runtimes, low level debugging and tracing
- Effective communication and collaboration skills
- 3+ years of experience developing in os-level languages like C or C++
- 1+ year experience in assembly language
- 1+ year experience in Open-source development and related tools such as git, and GitHub.
Preferred Technical and Professional Expertise
- Experience in low-level programming involving interaction with C++ runtime, OS, threads, memory management, and assemblers.
- Experience debugging, tracing, and profiling code for resolving functional and performance issues.
- Experience in IBM AIX, Linux on POWER and Z
- Experience working in the open software community projects as a contributor or committer
- AI Libraries - Exp with Tensorflow, BLAS, ONNXRuntime, BLIS, Pytorch ( Not just usage, hands-on development)
- Corelibs - Hands-on development experience with Glibc, libm, pmdk etc