Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory...

33
Release Notes IBM ® Software Development Toolkit for PowerLinux 1.5.0 August 26, 2014

Transcript of Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory...

Page 1: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Release Notes

IBM® Software Development Toolkit for PowerLinux™ 1.5.0

August 26, 2014

Page 2: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Contents

1 Introduction 3

2 Features 4

3 What’s New on SDK 1.5.0 63.1 Updated Java Version . . . . . . . . . . . . . . . . . . . . . . 63.2 Updated Eclipse Components . . . . . . . . . . . . . . . . . . 63.3 IBM POWER8 Functional Simulator . . . . . . . . . . . . . . 63.4 New System Grokking Technology (SGT) plugin . . . . . . . . 73.5 Updated IBM Advance Toolchain for PowerLinux . . . . . . . 73.6 New Cheat Sheets . . . . . . . . . . . . . . . . . . . . . . . . . 73.7 Migration Advisor Enhancements . . . . . . . . . . . . . . . . 83.8 CPI Breakdown Enhancements . . . . . . . . . . . . . . . . . 93.9 Graphical User Interface Enhancements . . . . . . . . . . . . . 103.10 SystemTap Plug-in Enhancements . . . . . . . . . . . . . . . . 103.11 RPM Plug-in Enhancements . . . . . . . . . . . . . . . . . . . 10

4 Supported Linux Distributions 12

5 Development Modes 135.1 Server Development . . . . . . . . . . . . . . . . . . . . . . . . 135.2 Client for Remote Development . . . . . . . . . . . . . . . . . 13

6 Download and Installation 156.1 Server Development . . . . . . . . . . . . . . . . . . . . . . . . 15

6.1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 156.1.2 Installing IBM SDK for PowerLinux through the IBM Pow-

erLinux Software Repository . . . . . . . . . . . . . . . 176.1.3 IBM SDK for PowerLinux Post-install Setup . . . . . . 20

6.2 Client for Remote Development . . . . . . . . . . . . . . . . . 206.2.1 Installing server-side agent . . . . . . . . . . . . . . . . 20

1

Page 3: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

6.2.2 Installing the Client for Remote Development . . . . . 216.2.3 Installing and Executing the IBM POWER8 Functional

Simulator . . . . . . . . . . . . . . . . . . . . . . . . . 216.3 Launching IBM SDK for PowerLinux . . . . . . . . . . . . . . 24

7 Limitations 25

8 Known Issues 278.1 Syncronized Projects . . . . . . . . . . . . . . . . . . . . . . . 278.2 Perf Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.3 Oprofile Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . 288.4 Autotools Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . 288.5 CPI Breakdown Plug-in . . . . . . . . . . . . . . . . . . . . . 298.6 Running SDK for PowerLinux on a Headless Machine . . . . . 298.7 Debugging a Remote Project Running on Ubuntu 14.04 LTS . 30

9 Documentation 31

2

Page 4: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 1

Introduction

The IBM SDK for PowerLinux is a free, Eclipse-based Integrated Devel-opment Environment (IDE). It integrates C/C++ source development withthe IBM Advance Toolchain for PowerLinux and classic Linux debugging andperformance analysis tools.

This release includes materials licensed to IBM under ILAN (InternationalLicense Agreement for Non-Warranted Programs). The full licensing text canbe found in the licenses folder under the installation directory.

Further documentation may be found at IBM SDK for PowerLinux web-site.

3

Page 5: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 2

Features

• IBM Advance Toolchain for PowerLinux 6.0, version 6.0-4 or greater.

• IBM Advance Toolchain for PowerLinux 7.0, version 7.0-0 or greater.

• IBM Advance Toolchain for PowerLinux 7.11, version 7.1-0 or greater.

• IBM FDPR2 (Feedback Directed Program Restructuring), version 5.6.2-6b.

• Pthread monitoring tool for PowerLinux, version 0.5.10-12.

• IBM Eclipse SDK, versions 4.3.2 and 4.2.21:

– C/C++ Development Tools (CDT), version 8.3.0.

– Code Analysis Tool (Codan), version 3.2.0.

– Graphical Editor Framework (GEF), version 3.9.0.

– Eclipse Parallel Tools (PTP), version 7.0.5.

– Eclipse Linux Tools, version 2.2.1:

∗ Autotools plug-in.

∗ Libhover plug-in.

∗ ChangeLog plug-in.

∗ Man Page plug-in.

∗ Specfile Editor and RPM plug-in2.

∗ Valgrind plug-in.

∗ OProfile plug-in.

1Only available on Ubuntu 14.04 LTS.2Not available on Ubuntu 14.04 LTS.

4

Page 6: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

∗ SystemTap plug-in2.

∗ Perf plug-in.

∗ Gprof plug-in2.

∗ Gcov plug-in2.

– IBM Source Code Advisor, version 2.1.172.

– IBM Trace Analyzer, version 0.8.22.

– IBM Advance Toolchain for PowerLinux plug-in, version 1.3.0.

– IBM Advance Toolchain for PowerLinux PTP (Parallel Tools Plat-form) Remote C/C++ Project Build plug-in, version 1.2.0.

– IBM Migration Advisor, version 0.9.0.

– IBM Integrated Bug Report, version 1.2.0.

– IBM CPI Breakdown, version 1.2.0.

– IBM Coding Assistant, version 1.0.0.

– IBM SDK, Java™ Technology Edition, version 7.1.

– IBM Runtime Environment, Java™ Technology Edition, version7.1.

5

Page 7: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 3

What’s New on SDK 1.5.0

3.1 Updated Java Version

• IBM SDK Java™ Technology Edition, version 7.1 .

• IBM Runtime Environment Java™ Technology Edition, version 7.1.

3.2 Updated Eclipse Components

• Eclipse Platform 4.3.2 and 4.2.21.

• Eclipse PTP 7.0.5.

• Eclipse CDT 8.3.0.

• Eclipse LinuxTools 2.2.1.

3.3 IBM POWER8 Functional Simulator

The IBM POWER8 Functional Simulator is a complete execution-drivenPOWER simulator, with support to functional simulation (performance-oriented) and cycle-accurate simulation of POWER systems, including thePPE, MFCs, PPE caches, bus, memory controller, and model-specific com-ponents.

6

Page 8: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

3.4 New System Grokking Technology (SGT)

plugin

The IBM System Grokking Technology is integrated into the Migration Ad-visor plugin. It helps users to detect code that may behave differently onplatforms with different endianness. It helps porting C/C++ projects fromx86 64 (Little Endian) to POWER (Big Endian). SGT deeply analyzes en-dianness issues on union data structures. To execute SGT, follow the stepsbelow:

1. Select a project.

2. Right click the project, expand System Grooking Technology and selectDetect Union Endianess Issues.

3. The results will be shown in the Migration Advisor view.

3.5 Updated IBM Advance Toolchain for Pow-

erLinux

Support for IBM Advance Toolchain for PowerLinux 7.1.

3.6 New Cheat Sheets

Provides quick help inside the Eclipse IDE (Help > Cheat Sheets). Each cheatsheet is designed to help completing a specific task, listing the sequence ofsteps required to achieve that goal. The cheat sheets included are:

• IBM Advance Toolchain for PowerLinux:

– Creating a Local Project.

– Creating a Local Project by Importing an Existing AutotoolsProject.

– Creating a Makefile Project with Existing Code.

– Setting POWER® Specific Flags.

• CPI Breakdown:

– Profiling a Project with CPI Breakdown.

– Using CPI Breakdown Drill Down.

7

Page 9: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

• IBM POWER8 Functional Simulator:

– Installing IBM POWER8 Functional Simulator.

– Running IBM POWER8 Functional Simulator.

• Migration Advisor:

– Running Migration Advisor.

– Applying Migration Advisor Quick Fixes.

• System Grokking Technology (SGT):

– Running System Grokking Technology.

3.7 Migration Advisor Enhancements

• Migration Advisor has been enhanced with the translation of x86-specific built-ins to their equivalents on POWER8 (SSE to VMX/VSX).

• Intel-specific API checker supports a new library: Decimal Floating-Point Math Library 2.0.

• New Checkers:

– Non-portable Pthreads implementation:Some Pthreads might contain functions and data types that arenot supported on POWER. This checker looks for occurrences ofthose non-portable Pthread API calls.Example:

1 #include <pthread.h>

2 void foo(){

3 pthread_id_np_t tid;

4 tid = pthread_getthreadid_np();

5 }

– Hardware Transactional Memory:Transactional Synchronization Extensions (TSX) is an extensionto the x86 instruction set architecture that adds support to Hard-ware Transactional Memory (HTM), speeding up execution ofmulti-threaded applications through lock elision. The usage ofthose x86-specific HTM instructions might cause migration prob-lems. This checker looks for occurrences of such instructions.Example:

8

Page 10: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

1 #include <rtmintrin.h>

2 void foo(unsigned int a, unsigned int b){

3 while (1) {

4 unsigned status = _xbegin();

5 if (status == XBEGIN_STARTED) {

6 trans_func(a, b);

7 _xend();

8 break;

9 } else {

10 _xabort();

11 }

12 }

13 }

• Enhancements on the Performance Degradation quick fix.

• New quick fixes:

– Struct with bitfields;

– Decimal Floating-Point Math Library (DFP);

– Hardware Transactional Memory (HTM).

• Improvements in the checker engine, reducing the false-positives on thelist of potential migration issues.

• New option box, which allows selecting the target architecture for themigration. You can select either POWER Little Endian or Big Endian.

• New view called Migration Advisor Issues. This view shows the amountof potential migration problems in a bar chart. At the view’s menuthere are options which allow refreshing and saving the view contentas a PNG file.

3.8 CPI Breakdown Enhancements

New drill-down to assembly feature, which allows the user to go directly tothe assembly code snippet when double-clicking an event.

9

Page 11: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

3.9 Graphical User Interface Enhancements

• Getting Started view which provides easy access to the main projectwizards, cheat sheets, videos and publications related to SDK for Pow-erLinux. Also, there are new customized project creation wizards.

3.10 SystemTap Plug-in Enhancements

You can run a SystemTap script located at a remote Power Systems™ server,from the SystemTap IDE perspective.

1. Switch to the SystemTap IDE perspective by clicking Window > OpenPerspective > Other.

2. In the Open Perspective window, select SystemTap IDE and then pressOK.

3. Open a SystemTap script by clicking Open a File in the toolbar andselecting the script.

4. To run the script, right-click in the script > select Run as > RunConfigurations.

5. In the Run Configurations window, click SystemTap in the left pane,and then click the New launch configuration icon near the upper leftof the window.

6. On the General tab, deselect the option Execute script as current userand fill the User Name and Password fields with the user and passwordfrom the remote machine.

7. On the General tab, deselect the option Run script on localhost and fillthe Host name field with the remote machine address.

8. Click Apply and Run.

9. To stop a running script, click Stop running Script in the toolbar.

3.11 RPM Plug-in Enhancements

The RPM plug-in has been improved. Now it is very straightforward toexecute RPM tasks.

10

Page 12: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

• Checking an RPM package with rpmlint:

1. View the project by clicking the project name in the Project Ex-plorer pane.

2. Expand the RPM option.

3. Select one of the following options to run rpmlint.

– Add/Remove rpmlint warnings to enable or disable the pro-gram warnings. If the warnings are currently disabled, theybecome enabled, and rpmlint runs immediately. If the warn-ings are currently enabled, they become disabled.

– Run rpmlint.

• Generating an RPM package:

1. View the project by clicking the project name in the Project Ex-plorer pane.

2. Expand the RPM option.

3. Select one of the following options:

– Build SRPM

– Build RPMS

– Build ALL

11

Page 13: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 4

Supported Linux Distributions

The IBM SDK for PowerLinux 1.5.0 has been tested with the Linux distri-butions listed below:

1. Red Hat Enterprise Linux 6.5 and 7.0 for IBM POWER 64-bit.

2. SUSE Linux Enterprise Server 11 SP3 for IBM POWER 64-bit.

3. Fedora 19 for IBM POWER 64-bit.

4. Fedora 19 for x86 64-bit (Client for Remote Development mode).

5. Ubuntu 14.04 LTS for IBM POWER.

6. Ubuntu 14.04 for x86 64-bit (Client for Remote Development mode).

12

Page 14: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 5

Development Modes

5.1 Server Development

The IBM SDK for PowerLinux 1.5.0 runs directly in a Power Systems serverand users can access it through two different ways:

• VNC session.

• X11 forward.

To have access to the SDK running in a headless machine, refer to the Section8.6.

5.2 Client for Remote Development

• Remote: the IBM SDK for PowerLinux 1.5.0 runs remotely in a PowerSystems server and users access it by using the SDK for 1.5.0 Clientfor Remote Development, which runs at a x86 64 Linux environment.

• Syncronized: the source code editing is performed locally in theIBM SDK for PowerLinux 1.5.0 Client for Remote Development run-ning at a x86 64 Linux system. The source code is then automaticallysynchronized between the client and the remote Power Systems™ server.This speeds up the development and avoids issues caused by networklatency.

• Cross-compile: the source code editing and compilation is done in theIBM SDK for PowerLinux 1.5.0 Client for Remote Development, usingthe IBM Advance Toolchain for Cross Compiler. On this mode, a a

13

Page 15: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

connection to a remote POWER system is only required for debuggingand execution.

14

Page 16: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 6

Download and Installation

6.1 Server Development

The installation of the IBM SDK for PowerLinux for Server Development isdone directly in the POWER server and can be done in two ways:

6.1.1 Requirements

The IBM SDK for PowerLinux has software prerequisites. Some of them arebundled with the SDK, others come in the Linux Distribution and some haveto be retrieved from a public source.

6.1.1.1 IBM Advance Toolchain for PowerLinux

The IBM SDK for PowerLinux 1.5.0 supports the versions 6.0, 7.0 and 7.1 ofthe IBM Advance Toolchain for PowerLinux . The versions 6.0 and 7.0 aretargeted for POWER Big Endian Operating Systems, while 7.1 is targetedfor POWER Little Endian Operating Systems. If you plan to use the Clientfor Remote Development with the cross-compiler feature, you must installthe IBM Advance Toolchain for PowerLinux cross compiler package.

The IBM Advance Toolchain for PowerLinux packages are stored in an FTPrepository at the State University of Campinas, a public university in Brazil.For more information on installing the Advance Toolchain forPowerLinux, seetheIBM developerWorks® page. For additional information about AdvanceToolchain for PowerLinux, please refer to the Release Notes in AdvanceToolchain’s FTP repository, selecting the appropriate distribution and re-lease.

15

Page 17: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Note: The advance-toolchain-at6.0-perf RPM depend on libpfm librarywhich comes with papi package in SLES11sp1 and RHEL 6+.

6.1.1.2 Required Packages bundled with the SDK

The IBM SDK for PowerLinux includes some required dependent packages.These packages include:

• fdprpro-<version>.ppc64.rpm, FDPR post-link optimization tool.

• pthread-mon-<version>.ppc64.rpm, Pthread monitoring tool.

• fdpr wrap-<version>.ppc64.rpm, Wrapper scripts for running FDPRunder IBM SDK for PowerLinux.

6.1.1.3 Required Packages from the Linux Distribution

Depending on the SDK packages you installed, some additional packagesmight be installed as dependencies. These packages are part of the LinuxDistribution media and might include:

• Autoconf, produces shell scripts to automatically configure softwaresource code packages.

• Automake, automatically generates Makefile in files that are compliantwith the GNU coding standards.

• gettext, internationalization and localization system for writing multi-lingual programs.

• Git, distributed revision control system required on the server sidefor the use of synchronized projects. If you plan to use synchronizedprojects, you must install the Git package on the remote server.

• GLIBC, GNU C library.

• GTK2, used to create graphical user interfaces.

• libstdc++33 (for SUSE Linux Enterprise Server) or compat-libstdc++-33 (for Red Hat Enterprise Linux), GNU Standard C++ Library.

• Libtool, GNU Libtool, script for generic shared library support.

16

Page 18: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

• libXp (for Red Hat Enterprise Linux and Fedora) or xorg-x11-libXp(for SUSE Linux Enterprise Server 11), X Print Client Library, used toprint to non-display devices.

• Perf, performance monitoring tool for Linux Kernel. Perf is required ifyou plan to use Perf with IBM SDK for PowerLinux . In addition, Perfis required for using the CPI Breakdown plug-in.

• Python, support for Python programming language.

• rpmlint, checks for common errors in RPM packages. rpmlint is re-quired if you plan to use the Linuxtools RPM plug-in.

• rpmdevtools, RPM development tools for creating packages. rpmdev-tools is required if you plan to use the Linuxtools RPM plug-in.

• rpm-devel, RPM C library and header files. rpm-devel is required ifyou plan to use the Linuxtools RPM plug-in.

• SystemTap, a tool and scripting language for dynamically monitoringrunning Linux applications. SystemTap is required if you plan to useSystemTap with IBM SDK for PowerLinux, or Trace Analyzer operat-ing system monitoring with SystemTap.

• rpmlint and rpmdevtools are both available in the Red Hat EnterpriseLinux and Fedora default repositories. However, they are not availablein the SUSE Linux Enterprise Server repositories. If you want to installthem, you must do so manually.

• ibm-sdk-lop-stp-<distro>-version.ppc64.rpm, IBM SDK for PowerLinux Sys-temTap.

The ibm-sdk-lop-stp package provides a SystemTap dependencies verifica-tion script and a script to enable SystemTap integration with the IBM SDKfor PowerLinux. If you plan to use SystemTap, or you plan to use TraceAnalyzer operating system monitoring with SystemTap, this package is re-quired.

6.1.2 Installing IBM SDK for PowerLinux through theIBM PowerLinux Software Repository

The IBM PowerLinux Software Repository eases the installation process ofthe server-side packages of the SDK, as it automatically resolves the software

17

Page 19: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

dependencies and install them along with the SDK. The first step is to down-load and install the PowerLinux Software Repository initialization packageto your POWER machine:

1. Download the PowerLinux Software Repository initialization packagein either of the following ways:

(a) Download the PowerLinux Software Repository initialization pack-age from the IBM SDK for PowerLinux website.

(b) Download the configuration RPM file from the IBM Tools Repos-itory for PowerLinux website.

2. Install the PowerLinux Software Repository initialization package asfollows:

(a) Log in as root user.

(b) rpm -ivh ibm-power-repo-<version>.ppc.rpm

Note: Replace version with the version of the PowerLinux Software Repos-itory initialization package that you downloaded.

IMPORTANT: The PowerLinux Software Repository is not available forUbuntu 14.04 LTS.

After the installation of the PowerLinux Software Repository, you can useYUM (RHEL and Fedora systems) or Zypper/YAST (SLES systems) todownload and install the SDK packages:

• yum install ibm-sdk-lop (RHEL and Fedora PPC64)

• zypper install ibm-sdk-lop (SLES PPC64)

To install SDK for on Ubuntu 14.04 LTS (POWER Little Endian), go toIBM SDK for PowerLinux website and download the ibm-sdk-lop-<version>ppc64el.debpackage. To install it, run the following command:

• dpkg -i ibm-sdk-lop-server <version> ppc64el.deb

Required packages are listed at 6.1.1.

IMPORTANT: To access the remote environment of the IBM SDKfor PowerLinux running on Ubuntu 14.04 LTS (POWER Little Endian),follow the steps described at 8.6.

18

Page 20: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

6.1.2.1 Installing FDPR

The FDPR tool is distributed together with the IBM SDK for PowerLinux.The SDK requires the FDPR RPM to be installed before installation of theibm-sdk-lop RPM. To install it:

1. Download the FDPR and FDPR Wrap RPM from the IBM SDK for Pow-erLinux download website.

2. As the root user, run rpm -Uvh fdprpro-<version>.ppc64.rpm and rpm-Uvh fdpr wrap-<version>.ppc64.rpm. Observation: if already usingany version less than 5.6.1-3 then remove it before upgrading.

IMPORTANT: FDPR is not available for Ubuntu 14.04 LTS.

6.1.2.2 Installing pthread-mon

The Pthread-mon tool is distributed together with the IBM SDK for Pow-erLinux. The SDK requires the pthread-mon RPM to be installed beforeinstallation of the ibm-sdk-lop RPM. To install it:

1. Download the pthread-mon RPM from the IBM SDK for PowerLinux down-load website.

2. As the root user, run: rpm -Uvh pthread-mon-<version>.ppc64.rpm.

IMPORTANT: pthread-mon is not available for Ubuntu 14.04 LTS.

6.1.2.3 Installing Systemtap (optional)

In order to enable certain IBM Trace Analyzer features, Systemtap and somekernel packages are required to be properly installed.

• For RHEL 6.5 or 7.0 and Fedora 19:

– systemtap

– systemtap-runtime

– kernel-devel

– kernel-debuginfo

– kernel-debuginfo-common (RHEL 6.5 and 7.0 only)

• For SLES 11:

– systemtap

19

Page 21: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

– kernel-debuginfo

Make sure the set of packages -devel, -debuginfo and -debuginfo-commonversions match your kernel version running.

IMPORTANT: Systemtap is not available for Ubuntu 14.04 LTS.

6.1.2.4 Installing ibm-sdk-lop-stp (optional)

The ibm-sdk-lop-stp package is meant to provide a Systemtap dependen-cies verification script and a script to enable Systemtap integration with theIBM SDK for PowerLinux. In order to enable certain IBM Trace Analyzerfeatures, ibm-sdk-lop-stp is required to be properly installed.

1. For RHEL 6.5 and 7.0, download the ibm-sdk-lop-stp-rhel package.

2. For Fedora 19, download the ibm-sdk-lop-stp-fc package.

3. For SLES 11, download ibm-sdk-lop-stp-sles package.

For either packages install it by running rpm -ivh ibm-sdk-lop-stp-<arch>-<version>.ppc64.rpm as the root user.

IMPORTANT: ibm-sdk-lop-stp is not available for Ubuntu 14.04 LTS.

6.1.3 IBM SDK for PowerLinux Post-install Setup

Post-install setup for Oprofile and SystemTap is required. The proceduresare described at the Completing IBM SDK for PowerLinux post-installationsetup section in the SDK User Guide.

6.2 Client for Remote Development

The installation of the IBM SDK for PowerLinux for remote development hastwo main steps: the installation of the server-side agent and the installationof the Client for Remote Development.

6.2.1 Installing server-side agent

Install the PowerLinux Software Repository, following the instructions in6.1. Then use the package manager (YUM for RHEL and Fedora systems;Zypper/YAST for SLES systems) to download and install the SDK packages:

20

Page 22: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

• yum install ibm-sdk-lop-server (RHEL and Fedora)

• zypper install ibm-sdk-lop-server (SLES)

To install IBM SDK for PowerLinux on Ubuntu 14.04 LTS, go to IBM SDKfor PowerLinux website and download theibm-sdk-lop-server <version> ppc64el.deb package. Run the following com-mand to install it:

• dpkg -i ibm-sdk-lop-server <version> ppc64el.deb

6.2.2 Installing the Client for Remote Development

The Client for Remote Development package is available in RPM format forRed Hat Enterprise Linux, SUSE Linux Enterprise Server, and Fedora. It isalso available in DEB format for Ubuntu.

Complete the following steps to install the client:

1. Go to the IBM SDK for PowerLinux website.

2. Select from the following to download the SDK for Client for RemoteDevelopment package to the x86 64 machine.

(a) For Red Hat Enterprise Linux, SUSE Linux Enterprise Server, andFedora, in the Download individual RPMs for IBM SDK sectionof the page, download ibm-sdk-lop-<version>.x86 64.rpm.

(b) For Ubuntu, in the Download the ISO image or the DEB imagesection of the page, download the DEB image to the x86 64 ma-chine, ibm-sdk-lop <version> amd64.deb.

3. Review the license agreement.

If you plan to use the Client for Remote Development package and cross-compiler feature, you must also install the IBM Advance Toolchain for Pow-erLinux cross compiler package. Information about how to install it can befound at the AT documentation.

6.2.3 Installing and Executing the IBM POWER8 Func-tional Simulator

The IBM SDK for PowerLinux provides integration with the IBM POWER8 Func-tional Simulator, a POWER8 simulator that can be installed in any x86 64

21

Page 23: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

system along with the IBM SDK for PowerLinux Client for Remote Develop-ment. The simulator instantiates a PowerLinux Virtual Machine to which theClient for Remote Development can connect to compile and execute PPC64programs, all in the x86 64 Client machine.The process requires the installation of the simulator and a disk image toboot the Virtual Machine. The installation of the simulator is done in thesame machine where the IBM SDK for PowerLinux Client for Remote Devel-opment is installed. On the current SDK for PowerLinux version, a Fedora20 PPC64 disk image is provided and it contains the root filesystem of astandard Fedora 20, including system libraries and basic system binaries.

IMPORTANT: Currently, the IBM POWER8 Functional Simulatorcanonly be installed on Fedora 19 x86 64 systems. It should be installed ina machine that had previously installed the IBM SDK for PowerLinux Clientfor Remote Development.

The installation process is fully automated through a script, resulting ina ready-to-use simulator plus a Fedora PPC64 system that can be bootedinto the Simulator. The installation process requires the retrieval of mul-tiple RPM packages from the Internet. If the machine where the SDKfor PowerLinux Client for Remote Development is installed has direct In-ternet connectivity, the script can automatically locate and retrieve all therequired files. Alternatively, you can download the files manually, copy themto the machine where the SDK for PowerLinux Client for Remote Develop-ment is installed and then point installer script to that folder, as explainedbelow. The setup script can be found at /opt/ibm/ibm-sdk-lop/bin andit should always be executed as a non-privileged user, tipically the user thatis going to be used for the code development. This is important, as the in-stallation process identifies the current user and use this information to grantaccess to the Virtual Machine. The instructions below describe the steps toinstall the simulator, with automatic or manual download.

• Install the simulator, automatically downloading all files:The setup script downloads the Simulator installation package, theother required packages and the Fedora PPC64 disk image. To installthe simulator, execute:

1 $ ./setup_simulator.sh -i

After the installation, it is time to create a disk image to boot theSimulator:

22

Page 24: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

1 $ ./setup\_simulator.sh -f

2 /opt/ibm/systemsim-p8/images/fedora-ppc64.img.bz2

• Install the simulator, manually downloading the required files:If the machine does not have Internet connectivity, you can still useth provided script to automatically install the IBM POWER8 Func-tional Simulator. On this case, you have to manually download therequired packages, copy them to a directory in the machine where theIBM SDK for PowerLinux Client for Remote Development is installed,then execute the script informing the path to that directoy using anadditional parameter in the command line.

– Manually retrieve the Required Packages:

∗ Download and install the IBM SDK for PowerLinux x86 64Client.

∗ Download and install IBM POWER8 Functional Simulator.

∗ Download and install other required packages: wget, rpm,mount, umount, bunzip2, sudo, md5sum, basename, expr,file, bspatch, unzip.

– Save the following packages at any folder in which you have writeaccess in the machine where the IBM SDK for PowerLinux Clientfor Remote Development is installed:

∗ Download IBM Advance Toolchain for PowerLinux.

∗ Download IBM SDK for PowerLinux server.

∗ Download pthread-mon.

∗ Download the Fedora disk image for the simulator.

∗ Download additional Fedora packages.

∗ Download additional kernel patch.

– Customize the image:

1 $ ./setup_simulator.sh -f /opt/ibm/systemsim-p8/

2 images/fedora-ppc64.img.bz2

Note: For manual retrieval of the required packages, it’s impor-tant to use the command-line switch -d to instruct thesetup simulator.sh script to look for the required files in an spe-cific folder. This is is specially important for Manual Installations,as described above. For example, if the chosen temp directory is/home/user/TEMP:

23

Page 25: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

1 $ ./setup\_simulator.sh -i -d /home/user/TEMP

or

1 $ ./setup_simulator.sh -f /opt/ibm/systemsim-p8/

2 images/fedora-ppc64.img.bz2 -d /home/user/TEMP

After the installation, execute the following commands as a non-privilegeduser (typically the user that will perform the code development using theSDK) to register the users allowed to run the simulator (<USER>is the username (login) in the Linux system):

1 $ sudo groupadd systemsim\_sdk

2 $ sudo usermod -a -G systemsim\_sdk <USER>

Execution:To run the IBM POWER8 Functional Simulatorfollow the steps below:

1. Launch the IBM SDK for PowerLinux

2. Open the Remote Environments view. Click Window > Show View> Other > Remote Tools > Remote Environments.

3. Go to the Local Power Simulator, right click on it and select Create tocreate a new instance.

4. The Target Environment Configuration window will show up and youcan set up the configuration or just keep the default values.

5. Press Finish.

6. Select the simulator instance that was just created and click the Playbutton on the top right corner of the Remote Environments view.

6.3 Launching IBM SDK for PowerLinux

The IBM SDK for PowerLinux will be installed under the /opt/ibm/ibm-sdk-lop directory. To launch the IDE, run the ibm-sdk-lop script under theinstallation directory (/opt/ibm/ibm-sdk-lop/ibm-sdk-lop) or look for theIBM SDK for PowerLinux shortcut in the Operating System’s Applicationsmenu.

24

Page 26: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 7

Limitations

• As the PMU events are not supported in the IBM POWER8 FunctionalSimulator, CPI plug-in will not work.

• Perf is failing in local projects at the IBM SDK for PowerLinux runningat Ubuntu 14.04 LTS. It does not generates perf.data.

• Synchronized projects does not support autotools build. However, au-totools is supported on remote projects.

• Gcov and Gprof plug-ins does not comes with support for remote ap-plication development.

• Double-clicking a line on Perf view does not open the correspondingsource code in remote and synchronized projects, it opens to source filethough. The function works properly on local projects.

• Oprofile has a maximum number of events which can be executed atsame time. It is not possible to use more than 24 events.

• Oprofile fails when the executable/binary path-name has white-space.Avoid using white-space in any path to executable you want to analyzewith Oprofile. See Eclipse Linux Tools bug #303000 for further details.

• Migration Advisor has some limitations to analyze remote applications.Projects need to be created locally (either using IBM SDK for Power-Linux client or natively on POWER server) in order to run MigrationAdvisor.

• System Grokking Technology has some limitations to analyze remoteapplications. Projects need to be created locally in order to run SystemGrokking Technology.

25

Page 27: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

• There is a limitation when using Valgrind memory check quick-fixes onremote projects. As it is not possible to get the current node from theabstract sintatic tree, it is impossible to perform the quick-fix.

26

Page 28: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 8

Known Issues

8.1 Syncronized Projects

Symptoms: After the project creation, the includes are not shown in theproject explorer.

Solving the Problem:

1. At the project wizard, at the page called Default Build Configurations,select Debug configuration for both locations.

2. Right click the project and select Properties.

3. Expand C/C++ General and select Preprocessor Include Paths, macros,etc.

4. Select the tab called Providers.

5. Deselect CDT Managed Build Setting Entries.

6. Select Advance Toolchain Sync GCC Output Parser.

7. Select Advance Toolchain Builtin Compiler Settings.

8. Press Apply and then OK.

Symptoms: After the project creation, the linuxtools path are not setaccording the IBM Advance Toolchain for PowerLinux selected.

Solving the Problem:

1. Righ click the project and select Properties.

27

Page 29: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

2. Select Linux Tools Path and chose the appropriate path at theselection server.

3. Press OK to finish the process.

8.2 Perf Plug-in

Symptoms: Perf stat comparison in remote projects fails. It is notcorrectly getting the actual execution result and the older one in order tomake the comparison.

Solving the Problem: To use this feature use a local project.

8.3 Oprofile Plug-in

Symptoms: When profiling an application using OProfile and customizethe events that will be shown in the view, in some cases OProfile does notupdate the events appropriately in the view.

Solving the Problem: OProfile view contains an option called RefreshView. Select it in order to refresh the view and update the events.

8.4 Autotools Plug-in

Symptoms: No such file or directory message error when building aremote autotools project.This problem might occur when the remoteproject cannot locate the Debug folder on the server side. The followingmessage will be shown in the SDK console:

1 /bin/sh: line 0: No such file or directory

2 > Shell Completed (exit code = 1)

Solving the Problem:

1. Right-click the remote project name. Select Properties > C/C++Build.

2. On the Builder Settings tab, clear the Generate Makefilesautomatically check box.

28

Page 30: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

3. In the Build directory field, delete the current value,${workspace loc:/remote project location}/Debug, and replace itwith remote project location/Debug, where remote project location isthe location of your remote project.

For example, if your project is located in /home/myUser/myProject,change the contents of the Build directory field to/home/myUser/myProject/Debug.

4. Click Apply and build the project again.

8.5 CPI Breakdown Plug-in

Symptoms: The PM CMPLU STALL event is disabled from the CPI drilldown.

Solving the Problem: To analyze the application performance, you candrill down to the PM CMPLU STALL breakdown events and get more spe-cific information.

8.6 Running SDK for PowerLinux on a Head-

less Machine

It is possible to run IBM SDK for PowerLinux on a headless machine (withno graphical interface installed). You can access the machine using sshwith the parameter -X (example: ssh user@host -X). Then you just needto call IBM SDK for PowerLinux from the command line: /opt/ibm/ibm-sdk-lop/ibm-sdk-lop

On Ubuntu 14.04 LTS, the following packages are required:

• xserver-xorg

• packagekit-gtk3-module

• libcanberra-gtk-module

29

Page 31: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

8.7 Debugging a Remote Project Running on

Ubuntu 14.04 LTS

When debugging a remote project on which the target is Ubuntu 14.04 LTS,you must point to the right place where the Scalable Debug Manager (SDM)is located.

1. Right click the project, select Debug As and then Debug Configurations.

2. Right click at Parallel Application and select New.

3. At the tab Resources, select IBM SDK Remote Connection, located atTarget System Configuration.

4. Select the appropriated connection at Connection Type selection box.The connection must be the same connection used to create the project.

5. Go to the tab Application and select the binary of your application byclicking on Browse at Application program field.

6. Go to the tab Debugger and click Browse at Path to SDM Executable.You must select the correct SDM in order to be able to debug yourapplication. The SDM is located at /opt/ibm/ibm-sdk-lop-server/sdm.

7. Click at Debug to start debugging your application.

30

Page 32: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

Chapter 9

Documentation

The most recent release notes, a complete user guide and further documen-tation may be found at IBM SDK for PowerLinux website.

Documentation for each component of the IBM SDK for PowerLinux canbe found at:

• Advance Toolchain for:

1. How to use IBM Advance Toolchain for PowerLinux

2. Performance improvements leveraging the IBM Advance Toolchainfor PowerLinux

• FDPR:

1. Feedback Directed Program Restructuring

2. SCA (Source Code Advisor) plug-in documentation: launch theIDE and then open the Help menu. Select Help Contents, thenFDPR Optimization Tools Documentation.

• Trace Analyzer:

1. Trace Analyzer plug-in documentation: launch the IDE and thenopen the Help menu. Select Help Contents, then Trace AnalyzerUser Guide.

• IBM System Grokking Technology:

1. IBM System Grokking Technology Project site.

• Eclipse Linux Tools Project:

31

Page 33: Release Notes€¦ · performance analysis tools. ... PPE, MFCs, PPE caches, bus, memory controller, and model-speci c com-ponents. 6. 3.4 New System Grokking Technology (SGT) plugin

1. Project Site.

2. User Guides.

• Other plug-ins of the IDE:

1. Launch the IDE and thus open the Help menu. Select Help Con-tents, and browse through plug-ins documentation.

32