User Guide
© 2021 IBM Corporation
10
IBM
®
Power
®
Power10 Quick-start Guide – IBM Open XL Compilers 17.1.0 for AIX
IBM’s next-generation C/C++/Fortran compilers that combine IBM’s advanced optimizations with open-source LLVM infrastructure
Full Power10 architecture exploitation with Open XL 17.1.0
ü New compiler option ‘–mcpu=pwr10’ to generate code exploiting Power10
instructions and also automatically tune the optimizations for Power10
ü New builtin functions to unlock new Power10 functionalities, e.g., Matrix Multiply
Accelerator (MMA)
ü New
MASS SIMD and vector libraries added for Power10. All MASS library
functions (SIMD, vector, scalar) tuned for Power10 (also Power9).
Note: Applications compiled with earlier versions of XL Compilers (e.g., XL 16.1.0)
to run on previous Power processors will run compatibly on Power10.
Availability
ü 60-day no-charge trial: download from Open XL product page
ü Obtain IBM world-class Service & Support through flexible licensing options,
from dual pipe (AAS and PA)
• Perpetual license (per Authorized User or per Concurrent User)
• Monthly license (per Virtual Process Core): target cloud use cases,
e.g., on PowerVS instance
Recommended performance tuning options
ü Greater currency for C/C++ language
ü Faster build speed
ü Community common optimizations
ü Various LLVM-based utilities
LLVM
+
IBM optimizations
ü Full exploitation of Power architecture
ü Industry-leading advanced optimizations
ü World-class Support & Service
Binary Compatibility on AIX
Note: XL C/C++ for AIX 16.1.0 already introduced a new invocation xlclang++
which leverages the Clang front-end from LLVM project
ü C++ objects built with xlC for AIX (based on IBM’s own front-end) are not
binary compatible with C++ objects built with xlclang++ 16.1.0 for AIX
ü C++ objects built with xlclang++ 16.1.0 for AIX will be binary compatible with
new Open XL C/C++ for AIX 17.1.0
ü C compatibility is maintained across all AIX compilers (earlier XL versions for
AIX, Open XL C/C++ for AIX 17.1.0)
ü Fortran compatibility is maintained between earlier XLF version for AIX and
Open XL Fortran for AIX 17.1.0
Optimization Level
Usage recommendations
-
O2 and -O3
Typical starting point
Link time optimization:
-
flto (C/C++), -qlto (Fortran)
For workloads with lots of small
function calls
Profile guided optimization:
-
fprofile-generate, -fprofile-use (C/C++)
-
qprofile-generate, -qprofile-use (Fortran)
For workloads with lots of
branching and function calls
More info please visit: https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.0
https://www.ibm.com/docs/en/openxl-fortran-aix/17.1.0