Did you know that the compiler you use can impact whether or not you achieve optimal performance from all parts of your systems. Organizations often overlook the importance of compilers, often running new high-powered servers with outdated compilers that limit the servers’ potential. Or failing to update compilers that can improve the efficiency of existing hardware investments as more advanced versions are released. In practical terms,this translates into greater power consumption, slower response times,numerous administrative challenges—and... [More]
The January 2012 Compiler PTFs for XL C/C++ for AIX, V11.1 are now available at the following links and on Fix Central: January 2012 PTF for XL C for AIX, V11.1 January 2012 PTF for XL C/C++ for AIX, V11.1 Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here .
The January 2012 Compiler and RTE PTFs for XL C/C++ for Linux, V10.1 are now available at the following links and on Fix Central : January 2012 Update for XL C/C++ for Linux, V10.1 January 2012 RTE for XL C/C++ for Linux, V10.1 Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here .
The December 2011 PTFs for XL C/C++ Enterprise Edition for AIX, V9.0 are now available at the following links and on Fix Central : December 2011 PTF for XL C Enterprise Edition for AIX, V9.0 December 2011 PTF for XL C/C++ Enterprise Edition for AIX, V9.0 Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here .
The November 2011 PTFs for XL C/C++ for AIX, V11.1 are now available at the following links and on Fix Central : November 2011 PTF for XLC for AIX, V11.1 November 2011 PTF for XLC/C++ for AIX, V11.1 November 2011 PTF for XLC++ for AIX, V11.1 Runtime Can't find the updates for your compilers? Check out our C/C++ compilers latest updates page here .
First, the authors describe basic usage syntax for inline
assembly (inline asm) embedded within C and C++ programs. Then they
explain intermediate concepts, such as addressing modes, the
clobbers list, and branching stanzas, as well as more advanced
topics, such as memory clobbers, the volatile attribute, and locks
are discussed for those who want to use inline asm in multithreaded
applications. See the article here.
Just a quick note to let you know that these C/C++ PTFs are available! October 2011 Update for XL C/C++ for Linux, V11.1 Compiler: http://www-01.ibm.com/support/docview.wss?uid=swg24031169 October 2011 Update for XL C/C++ for Linux, V11.1 Runtime: http://www-01.ibm.com/support/docview.wss?uid=swg24031170 Can't find the updates for your compilers? Check out our C/C++ compilers latest updates page: http://www.ibm.com/support/docview.wss?rs=2239&uid=swg21110831
FREE newsletter - get IBM Software news, special #PowerSystems features - subscribe: http://bit.ly/rs1rZn #POWER7 We just published a special Power Systems Edition of the newsletter, which you can see here - http://www-148.ibm.com/tela/webmail/NlDynamicPage/9540/32113/cosmetic?web_page_id=546427&pre=0 - and we're also including Power Systems-related content in each monthly issue.
Check-out this tutorial to learn how to use the interoperability features of the IBM XL Fortran and the IBM XL C/C++ compiler to integrate Fortran, C and Java source code into an application. The demonstration shows how to call Java source routines from Fortran and vice versa. Interoperability is useful for integrating parts written in different languages into an application. This enables developers to take advantage of language best situated for the job or easily integrate legacy assets into a new application.
Interoperability of IBM... [More]
This demo explains how to use the MASS high-performance mathematical libraries via the auto-vectorization features supported by XL compilers. The demo is built upon the examples given in a developerWorks article titled “ How to improve the performance of programs calling mathematical functions -- Taking advantage of IBM XL C/C++ or XL Fortran compiler auto-vectorization ”. Please refer to the article for detailed explanations on MASS libraries, auto-vectorization, and the Fortran and C source code.
Check out all the information about the latest release of XL C/C++ for z/VM.
You can get a summary of the release as well as all the announcement
details. See What's new in XL C/C++ for z/VM V1.3 including enhancements to help with productivity and porting to z/VM. For all the details about the XL C/C++ for z/VM V1.3 announcement, see IBM XL C/C++ for z/VM, V1.3 delivers performance improvements and additional C++ standards support .
Subscribe to the IBM Software Newsletter - or update your
subscription Interested in software for IBM Power Systems? Now you can receive
Power-related software news and features in every issue of the IBM Software
Newsletter, PLUS special Power Systems Editions of the newsletter twice per
year! Subscribe to receive the Power Systems Edition
ATTENTION: this blog post is now old information, kept here only for older service compiler information purposes. A new blog will show the new XLC++ 13.1.2 and future compiler's C++ Standard Compliance Status. C++11 (which was codenamed C++0x until ratification) is the new C++ programming language standard that has just been ratified and published . It supersedes the C++ 2003 (which was a bug fix on the C++ 1998) Standard and is called officially ISO/IEC 14882: 2011 IBM's xlC (C++) compiler has started supporting C++11 since... [More]
C++ 11 is official and published! It is now possible to purchase the new C++ 11 Standard from the INCITS/ANSI website: http://webstore.ansi.org/ RecordDetail.aspx?sku=ISO% 2FIEC+14882%3A2011 or direct from the ISO website: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372 You can still get C++03: http://webstore.ansi.org/ RecordDetail.aspx?sku=INCITS/ ISO/IEC%2014882-2003 If you find the price a bit high, it is also possible to wait a bit until the British Standard Institute publish a hard-copy book... [More]
After almost two years of work, OpenMP 3.1 has been released. Here is the announcement on it and the new specification in pdf online. As I mentioned in the previous note on the public comment draft , and in this trip report and Steven Perron's posting about the new content, 3.1 offers something for everyone. The main purpose of OpenMP 3.1 was to redefine and extend existing specification, and maintain backward compatibility. This was also a bug-fix release in that it clarified a number of examples in OpenMP 3.0 and fixed about 20 minor... [More]
This Standard meeting is earlier then the usual C++ Standard meeting to accommodate the period of time after the approval of the C++0x draft when National Body balloting has to be done to approve the draft and ratify it. The new C++0x Standard has been ratified and will be called C++11. As an additional note, the C standard is also undergoing ratification vote and will also likely be approved. So there is now a quiet period when we cannot issue new papers. As it happens, the defect reports for core language and library are also issued as... [More]
The star is born. Recall that in this C++0x Mardid Standard meeting blog posting , I mentioned that the C++ Standard has been approved at the Madrid Standard meeting to be shipped. What
we were waiting for were final integration of Standard text,
proof-reading, ballot by all the National Bodies and then some ISO
bureaucratic process to release the document. These
last few steps have been done. In fact two weeks ago, on Aug 8, I voted
to approve the Standard for the Canadian National Body. It seems other
National Bodies also... [More]
Programmers put effort into optimizing
their applications for performance. Still, performance gain could also be
achieved by simply switching to a newer version of IBM compiler. Although improvement
might vary depending on the design and intent of each application, performance
difference becomes more visible for programs that handle large amount of data. The following simple program
was designed to require a lot of data: multiplication of two matrices with
large dimensions. (It was not written to multiply the matrices faster). Due to
Over the past five decades, SHARE an independent, volunteer run association has been providing enterprise technology
professionals with continuous education and training, valuable
professional networking and effective industry influence. SHARE looks to the future of IT technology and real-world uses of technology, from both near and longer-term perspectives. I was at the most recent session, August 7-12, in Orlando presenting the latest features in z/OS V1R13 compiler, check out the announce page . It has been a great... [More]
Recently I came across a whitepaper regarding new METAL C features for the latest release for the compiler on z/OS (z/OS V1.13 XL C/C++) posted here . The whitepaper provides a broad general overview of the new features for METAL C with a lot of examples sprinkled throughout to make it easy to understand. It is a handy guide for new and existing METAL C developers or people interested in METAL C in general, even though the focus is on new features added in V1.13. METAL C was originally introduced in the z/OS V1R9 XL C/C++ compiler... [More]
Explore and experience a day in the life of application development on Power Systems (AIX and IBM i). Developer for Power Distance Learning helps you discover how developers can improve, remake and modernize
existing production applications on power systems by exploiting decades
of business value embodied in the code. IBM® Rational® Developer for
Power Systems software provides a comprehensive development environment
for creating and maintaining applications on IBM® System i® and IBM
Check out all the information about the latest release of z/OS XL C/C++.
You can get a summary of the release as well as all the announcement
details. See What's new in z/OS V1R13 XL C/C++ including enhancements to leverage the latest z/OS. For all the details about the z/OS V1R13 XL C/C++ announcement, see IBM z/OS V1.13 delivers new availability, batch programming, and usability functions .
I've worked out a plan so I can hopefully put a regular post on this blog. My plan is to talk about interesting things the compiler does with templates including lots of examples. As a compiler developer, I tend to work with small examples that show or test how the compiler is behaving rather than examples that show how you might use a compiler feature in an application. Perhaps some will find this take on things interesting. I have many ideas for topics, but I'm also open to suggestions. One of the things I find interesting is how the... [More]
Starting in XL C/C++ for AIX/Linux V11.1 and XL FORTRAN for AIX/Linux V13.1, a new feature has been added for the compiler to generate listing reports in XML format, via the -qlistfmt=xml option. A few sub-options are provided for the users to control which piece(s) of information they want to be produced and in what output file/format. For example, the -qlistfmt=xml=[no]inlines sub-option allows the user to enable/disable the generation of transformation reports regarding inlining optimizations, and the -qlistfmt=xml=stylesheet=a.xsl... [More]
In two previous posts ( here and here ) I discussed using the PFD prefetch instruction via the compiler provided bifs (built-in functions). This forum post describes how one might use this bif with a dynamic data structure such as a queue.
You can become Cathy the Project Manager and experience first hand what life can be like using Rationals full application development solution for IBM Power Systems. See Explore C++ development for AIX using modern tools in the Enterprise Modernization Power Systems Sandbox.
Try IBM compiler products, hands-on, with no install in the Enterprise Modernization Sandbox for Power Systems. The
Enterprise Modernization Sandbox
for Power Systems is a cloud offering that provides
a dedicated, Power Systems environment with connectivity and IBM enterprise modernization for Power Systems products already installed just for you.
Each solution scenario is centered around a
simple, realistic customer exercise that shows how to
optimize the value of your applications, people, teams, and... [More]
In a previous blog entry I discussed how one might incorporate the prefetch built-in function (bif) into a z/OS binary that is compiled with ARCH(5) i.e. a binary that will run on all supported hardware, yet when it detects it is running on a z10 or z196 system, would be able to utilize the prefetch instruction. There was a request for examples of using prefetch , which I thought was a good idea, so starting with this entry, I'll present some examples of how one might use this instruction. I'll start with a simple, basic program and in... [More]