C/C++ and Fortran

 View Only

Elevate your development experience with our latest release: IBM Open XL C/C++ and Fortran for AIX 17.1.2

By SI YUAN ZHANG posted Fri October 27, 2023 05:07 AM


We are very excited to announce IBM Open XL C/C++ and Fortran for AIX 17.1.2 are generally available today. 

Since adopting the open-source LLVM infrastructure in 2021 and rebranding to the IBM Open XL compiler, we committed to delivering the latest technologies and innovations from both the open-source community and IBM Compiler team at a faster pace to our enterprise clients on Power platforms. Over the past year, we've broken away from the conventions by delivering critical new enhancements through the service releases of 17.1.1, and today, we are thrilled to unveil the latest 17.1.2 release, bringing AIX developers even more improvements and capabilities.  This release marks a significant milestone in our ongoing mission to empower AIX developers with cutting-edge technologies and tools. IBM Open XL Compilers for AIX 17.1.2 build upon the foundation laid by our previous releases and refresh to the latest LLVM 17 release, offering an array of performance improvements and new features tailored to meet the demands of today's C/C++ and Fortran development on AIX.

Run faster:

Compared with 17.1.1, when building compute intensive applications (e.g. SPEC CPU2017 Integer benchmarks) under high optimization levels such as -O3 and -Ofast, there are on average 7-10% performance improvements.  For clients still using the classic XL compilers 16.1, moving to Open XL compilers will bring you an average 30% improvement.

Build faster:

Due to the adoption of modern compiler infrastructure LLVM, IBM Open XL C/C++ and Fortran for AIX 17.1.2 speed up 2.12x on average on the time of compiling compute intensive applications under high optimization levels, against IBM XL C/C++ and Fortran for AIX 16.1[1].   Even compared with the previous version 17.1.1, you can expect an average 17% improvement. 

For the highest optimizations, such as LTO (Linking time optimization) and PGO (Profiling guide optimization), the improvement is even significant. A large enterprise software supplier shared with us that they are seeing 3.5x faster when building their key modules under LTO/PGO[2].  This substantial improvement on compile time makes continuous build integration on AIX much more feasible than before, which shortens the development cycle for clients and enables continuous delivery model for their applications.  

Boost productivity: 

17.1.2 is packed with not only improved performance but also a range of invaluable features designed to boost your productivity. One key aspect that many AIX developers have been eager for is a good tooling to assist in analyzing code for undefined or suspicious behaviors. LLVM offers a functionality called Sanitizer that does detection of such behaviors during program execution. In this release, we have enabled LLVM's Address Sanitizer and UndefinedBehavior Sanitizer for Open XL C/C++, empowering AIX developers to quickly pinpoint memory errors and undefined behaviors.

Furthermore, we understand that dealing with large-scale programs has always posed a big challenge for toolchains. Especially for our enterprise clients, whose applications and workloads tend to be of substantial magnitude, it is crucial that the toolchain can accommodate such extensive programs throughout the daily development process. In response, this release includes some targeted enhancements. For instance, we made improvements to the tool 'ibm-gen-list’, which helps the profiling of more extensive program. We also introduced the Thin LTO feature, which delivers big improvements in both compile time and memory usage when utilizing LTO. For more detailed information on these new functionalities, we invite you to consult our user documentation (C/C++: Link, Fortran: Link).

Please download our 60-day evaluation (C/C++:Link, Fortran: Link) and explore the latest IBM Open XL C/C++ and Fortran for AIX release today! We look forward to hearing about the incredible projects you'll create using these new features and enhancements.


[1] The build time improvements are based on internal IBM laboratory measurements on AIX 7.3. The measurement result was obtained by taking a geomean average of reduction in build time across all CPU intensive integer benchmarks that were compiled.  -O3 compiler option is used with the IBM Open XL C/C++/Fortran for AIX 17.1.2. -O3/qhot compiler options are used with IBM XL C/C++/Fortran for AIX 16.1 PTF4. All benchmarks were executed on an AIX 7.3 LPAR with 12GB RAM on IBM Power10. Performance results for specific applications will vary, depending on the source code, the compiler options specified, and other factors.

[2] Performance results shown was obtained in a controlled, isolated environment using client’s internal code. Performance of other workloads may vary.