PGI Unified Binary™

PGI compilers can generate a single PGI Unified Binary™ executable fully optimized for both Intel EM64T and AMD64 processors, delivering all the benefits of a single x64 platform while enabling you to leverage the latest innovations from both Intel and AMD. The following example illustrates the benefits of the PGI Unified Binary using the Parallel Ocean Program (POP).

PGI Unified Binary on Intel Woodcrest The Parallel Ocean Program (POP) is part of the Community Climate System Model (CCSM) and is one of the most widely-used ocean models. Information about POP can be found at The Climate, Ocean and Sea Ice Modeling Project (COSIM) web site.

PGI has built and timed POP for Intel Woodcrest and AMD Opteron servers using the PGI 6.2 compilers to test the PGI Unified Binary™ capability. The results display the importance of generating code specifically optimized for a given processor, and the capability of the PGI compilers to include code optimized for multiple types of processors in a single executable.

PGI Unified Binary on AMD OpteronThe base options used for all builds include "-fastsse -Mipa=fast,inline", the options PGI recommends for most applications. In addition, options to target AMD Opteron specifically (-tp k8-64), Intel Woodcrest specifically (-tp core2-64), and to generate a PGI Unified Binary (-tp x64) were used to build three separate executables. All of these executables were then run on both the Intel Woodcrest1 and AMD Opteron2 servers, generating the comparative results you see in the tables above.

You can recreate these results, or compare PGI raw execution times on a given platform to those obtained with alternative compilers, by downloading the POP source code (file POP_2.0.1.tar.Z). Free evaluation copies of PGI 6.2 compilers are available here on the PGI download page. A detailed description of how to build POP and many other research community applications using PGI compilers is available on the PGI Tips & Techniques page.

1 Intel dual-core Xeon 5160 3.0 GHz, 4GB RAM, SLES 10 with 2.6.16.21-08-smp kernel, 2.4 GNU C libirary
2 AMD single-core Opteron 2.6 GHz, 4GB RAM, SUSE 9.3 with 2.6.11.4-20a-smp kernal, 2.3.4 GNU C library
Click me