IBM has been part of my professional life for quite a while. During this period, I had the opportunity to work on very interesting and challenging projects and meet excellent people. Here you will find some information about the work I have been doing over my years at the Big Blue. You may find all my posts about the company at my IBM blog.
IBM Advance Toolchain for Linux on Power
The IBM Advance Toolchain for Linux on Power is a set of open source development tools and runtime libraries that allows users to leverage all the potential of IBM Power systems. I was its team lead and project manager. Some relevant links:
- IBM Advance Toolchain for Linux on Power Official Documentation
- How to use the IBM Advance Toolchain for Linux on Power
- IBM SDK for PowerLinux
- The Linux on Power Community
- BlueBioU supercomputer
- IBM HPC Open Software Stack
Here are my contributions to the GNU binary utilities open source software project.
- New elfcore function for register note sections support in gdb
- Added support for NT_PPC_VMX in BFD and readelf
Here are my contributions to the GNU debugger open source software project.
- New method for handling register note sections in gdb
- Upgraded i386 architecture to use the new method for handling register note sections
- Added support for PPC Altivec registers in “gcore” command
- Testcase for the psymtabs expansion patch
- Added support for PPC Altivec registers in core files
- Use “DW_CC_program” to determine the “main” program in Fortran
- Expand psymtabs when “*exact_match” is zero
- tui: initialize signal handler
Here are my contributions to the GNU C library open source software project.
- strlen optimization for POWER8
- Fix dl-procinfo HWCAP
- HWCAP2 bits for POWER9
- Export __parse_hwcap_and_convert_at_platform to libc.a
- Add POWER9 platform support
- Add HWCAP bits to the TCB on Power
- Provide __tls_get_addr () in static libc
- Add AT_PLATFORM to _dl_aux_init ()
- Fix build issue with gcc-5.x
- Sync hwcap.h with the kernel
- Fixes for memchr
- Add missing hwcap strings
- Documentation: How to write a change-proof function wrapper in glibc
- Support for AT_BASE_PLATFORM in LD_SHOW_AUXV
- POWER7 Implies files and sysdeps directory structure
- dl-procinfo support for POWER7, and HWCAP bits for Power ISA v2.06 and VSX feature
Here are my contributions to the Go Programming Language open source software project.
- Performance optimization for IndexByte for Power (vector implementation)
- Fix data cache instructions in the assembler for Power
- Update syscall package to use newselect
- Fix for performance regression in bytes.Compare and runtime.cmpstring
- Enable internal/cpu package for Power
- Enable ISA 3.0 instructions for POWER9
- Fix the build on Alpine Linux on ppc64le
- Performance optimization for addMulVVW and mulAddVVW
- Changed function alignment to 16 bytes for Power
- Performance optimization for addVV for Power
- Cleanup of legacy code on Big Endian Power architecture
- Performance optimization for IndexByte for Power
- Added more Power instructions to the assembler
- Runtime detection of ISA level and CPU capabilities on ppc64x
- Add support for VSX registers and instructions for ppc64x
- Add support for VMX (Altivec) registers and instructions for ppc64x
- Insufficient padding in the ‘p’ structure; fix cache line size on ppc64x
- Use clock_gettime to get current time on ppc64x
Other contributions to open source software projects
Other minor contributions were done to:
Processor enablement on Linux
Worked on the development cycle of the following IBM Power processors:
- Power A2
Patents filed while I worked at IBM:
- US20170353569 – Generating Push Notifications (application).
- US8579205 – Intelligent grid-based HVAC system (issued).
- US7953673 – Multiple interest matchmaking in personal business networks (issued).
- WO2009079738 – Transfer of user profiles between virtual worlds (application).
- US20090089222 – System and method for automated stock market operation (application).
- US20090070161 – Method, system and data model for maximizing the annual profit of a household micro-economy (application).
Technical papers published while I worked at IBM:
- “System and method for expense filing automation“, ip.com, 2015.
- “Method and apparatus to reduce greenhouse gases emissions in public roads by measuring emissions near semaphores”, ip.com, 2011.
- “Calendar-based method for controlling a matrix-based air conditioning system”, ip.com, 2011.
- “System for virtual worlds and real world telecommunications convergence”, ip.com, 2011.
- “System for on-demand end-user telecommunications services and content creation”, ip.com, 2009.