Arm Forge Release History

This page describes the changes between releases of Arm Forge.

To download and install the latest version of Arm Forge, see our downloads page and follow the installation steps given in the Arm Forge user guide.

For more compatibility information, see our Known Issues, Arm DDT supported platforms, and Arm MAP supported platforms topics.

Arm Forge

Version 18.3

Released: November 02, 2018

What's new in 18.3

Arm DDT

New features and enhancements:

  • Updated supported platforms information in the Appendix of the user guide.
  • You can now select and remove multiple core files when loading core files in DDT.
  • Support for attaching to IBM Spectrum MPI jobs started by jsrun, without using SSH.
  • Added a 'KeepAlive packets' option to the 'Remote Launch Settings' of the remote client, to prevent SSH connections from timing out due to inactivity.
  • Support for scalable push-out in new versions of IBM JSM.
  • DDT is now supported on Cray XC50 ThunderX2 systems.
  • MPMD support on Cray using aprun.
  • Added support for Open MPI 3.1.2.
  • Added an option to the 'Remote Launch Settings' dialog in the remote client, that controls whether DDT should proxy directly through the login node. This setting is equivalent to setting the ALLINEA_NO_SSH_PROXYCOMMAND environment variable.
  • You can now disable and enable a breakpoint from the source code viewer.
  • Memory usage is now reported in offline mode, even if the application terminates abnormally.

Bug fixes:

  • [FOR-5777] Fixed a problem in auto-detection logic that prevented DDT from classifying binaries that are compiled with the CUDA 9.2 toolkit as CUDA binaries.
  • [FOR-4792] Fixed a problem that caused GDB to perform a core dump when DDT shuts down.
  • [FOR-4780] Improvements to the robustness of filtering with Cross-Thread Comparison.
  • [FOR-5551] Added known issues to the Forge user guide to describe problems with startup when using Open MPI 3.1.0 and 3.1.1.
  • [FOR-4513] Fixed a problem with pretty printers for PGI on Power (std::unordered_map and std::unordered_set).
  • [FOR-5909] Fixed an issue where the Windows client could not establish a multihop remote connection.
  • [FOR-5948] Fixed a GDB issue related to demangling lambda expressions.
  • [FOR-5470] Fixed a problem where the debugger would change the output of a user program when vector instructions are being used.
  • [FOR-5756] Cross process comparison can no longer be opened by clicking on the sparklines in the locals view. Use right click then "compare across processes" instead.

Arm MAP

New features and enhancements:

  • Added CPU instruction metrics for IBM Power systems.
  • In the parallel stack view within MAP, functions that could not be positively identified are now displayed using the form "<unknown> in libXXX.so".
  • Updated supported platforms information in the Appendix of the user guide.
  • Support for attaching to IBM Spectrum MPI jobs started by jsrun, without using SSH.
  • Added a 'KeepAlive packets' option to the 'Remote Launch Settings' of the remote client, to prevent SSH connections from timing out due to inactivity.
  • OpenMP support for PGI on IBM Power systems.
  • Support for CUDA 9 profiling.
  • Added support for profiling OpenMP code compiled with IBM XL compilers.
  • Arm MAP now supports the IBM XL compiler on Power systems.
  • MAP is now supported on Cray XC50/TX2.
  • Added a known issue to the Forge user guide. MAP does not support code that spawns new processes, such as fork, exec and MPI_Comm_spawn. In these cases MAP, will only profile the original process.
  • User guide updated to document PMPI limitation: It is not recommended to use MAP to profile programs that contain instructions to perform MPI profiling using MPI wrappers and the MPI standard profiling interface, PMPI. This is because MAP's own MPI wrappers may conflict with those contained in the program, producing incorrect metrics.
  • Added an option to the 'Remote Launch Settings' dialog in the remote client, that controls whether DDT should proxy directly through the login node. This setting is equivalent to setting the ALLINEA_NO_SSH_PROXYCOMMAND environment variable.
  • Added support for Open MPI 3.1.2.
  • Reduced the number of partial traces in MAP.
  • Reduced runtime overhead when profiling OpenMP programs with short running parallel regions.

Bug fixes:

  • [FOR-5909] Fixed an issue where the Windows client could not establish a multihop remote connection.

Release Note for Release History 18.3

Changes in this release

Arm DDT

New features and enhancements:

  • Updated supported platforms information in the Appendix of the user guide.
  • You can now select and remove multiple core files when loading core files in DDT.
  • Support for attaching to IBM Spectrum MPI jobs started by jsrun, without using SSH.
  • Added a 'KeepAlive packets' option to the 'Remote Launch Settings' of the remote client, to prevent SSH connections from timing out due to inactivity.
  • Support for scalable push-out in new versions of IBM JSM.
  • DDT is now supported on Cray XC50 ThunderX2 systems.
  • MPMD support on Cray using aprun.
  • Added support for Open MPI 3.1.2.
  • Added an option to the 'Remote Launch Settings' dialog in the remote client, that controls whether DDT should proxy directly through the login node. This setting is equivalent to setting the ALLINEA_NO_SSH_PROXYCOMMAND environment variable.
  • You can now disable and enable a breakpoint from the source code viewer.
  • Memory usage is now reported in offline mode, even if the application terminates abnormally.

Bug fixes:

  • [FOR-5777] Fixed a problem in auto-detection logic that prevented DDT from classifying binaries that are compiled with the CUDA 9.2 toolkit as CUDA binaries.
  • [FOR-4792] Fixed a problem that caused GDB to perform a core dump when DDT shuts down.
  • [FOR-4780] Improvements to the robustness of filtering with Cross-Thread Comparison.
  • [FOR-5551] Added known issues to the Forge user guide to describe problems with startup when using Open MPI 3.1.0 and 3.1.1.
  • [FOR-4513] Fixed a problem with pretty printers for PGI on Power (std::unordered_map and std::unordered_set).
  • [FOR-5909] Fixed an issue where the Windows client could not establish a multihop remote connection.
  • [FOR-5948] Fixed a GDB issue related to demangling lambda expressions.
  • [FOR-5470] Fixed a problem where the debugger would change the output of a user program when vector instructions are being used.
  • [FOR-5756] Cross process comparison can no longer be opened by clicking on the sparklines in the locals view. Use right click then "compare across processes" instead.

Arm MAP

New features and enhancements:

  • Added CPU instruction metrics for IBM Power systems.
  • In the parallel stack view within MAP, functions that could not be positively identified are now displayed using the form "<unknown> in libXXX.so".
  • Updated supported platforms information in the Appendix of the user guide.
  • Support for attaching to IBM Spectrum MPI jobs started by jsrun, without using SSH.
  • Added a 'KeepAlive packets' option to the 'Remote Launch Settings' of the remote client, to prevent SSH connections from timing out due to inactivity.
  • OpenMP support for PGI on IBM Power systems.
  • Support for CUDA 9 profiling.
  • Added support for profiling OpenMP code compiled with IBM XL compilers.
  • Arm MAP now supports the IBM XL compiler on Power systems.
  • Arm MAP is now supported on Cray XC50/TX2.
  • Added a known issue to the Forge user guide. MAP does not support code that spawns new processes, such as fork, exec and MPI_Comm_spawn. In these cases MAP, will only profile the original process.
  • User guide updated to document PMPI limitation: It is not recommended to use MAP to profile programs that contain instructions to perform MPI profiling using MPI wrappers and the MPI standard profiling interface, PMPI. This is because MAP's own MPI wrappers may conflict with those contained in the program, producing incorrect metrics.
  • Added an option to the 'Remote Launch Settings' dialog in the remote client, that controls whether DDT should proxy directly through the login node. This setting is equivalent to setting the ALLINEA_NO_SSH_PROXYCOMMAND environment variable.
  • Added support for Open MPI 3.1.2.
  • Reduced the number of partial traces in MAP.
  • Reduced runtime overhead when profiling OpenMP programs with short running parallel regions.

Bug fixes:

  • [FOR-5909] Fixed an issue where the Windows client could not establish a multihop remote connection.

Known issues

Please refer to the known issues section on the Arm Developer website: https://developer.arm.com/products/software-development-tools/hpc/arm-forge/known-issues

System requirements

Please refer to the supported platforms pages on the Arm Developer website:

  • Arm DDT: https://developer.arm.com/products/software-development-tools/hpc/arm-forge/arm-ddt/arm-ddt-platforms
  • Arm MAP: https://developer.arm.com/products/software-development-tools/hpc/arm-forge/arm-map/arm-map-platforms

Installation instructions

Run the graphical "installer" or the text-only "textinstall.sh" from the download tarball. You may choose to install just for you or for all users on your system.

If you are installing on a cluster, please make sure that it is available at the same path on every machine.

If you have a job submission system such as PBS or LoadLeveler running, please refer to the Configuration section in the Arm Forge User Guide for additional setup information: https://developer.arm.com/docs/101136/latest/appendix/configuration

Full installation instructions are available in the Arm Forge user guide, available on the Arm Developer website: https://developer.arm.com/docs/101136/latest/arm-forge/installation.

If you're installing the Remote Client for Windows, follow the instructions here: https://developer.arm.com/products/software-development-tools/hpc/documentation/setting-up-arm-forge-remote-client-on-windows

Uninstalling Arm Forge

To uninstall Arm Forge, remove the installation directory from your system:

rm -r <installation-dir>

Licenses

If you do not have license files for each product you will need to obtain them from Arm. Evaluation licenses may be obtained from the Arm website: https://www.arm.com/products/development-tools/hpc-tools/get-software

Full licenses may be obtained by emailing HPCToolsSales@arm.com. License files should be stored in a directory called licenses below the installation directory. For a default (root) installation, that directory would be:

/opt/arm/forge/licences

For a user-only installation it would be:

${HOME}/arm/forge/licences

Running DDT

If you are using a supported desktop environment (KDE or Gnome) you will find a DDT icon in your Development/Programming menu.

To run DDT from the command line, type:

{arm-forge-path}/bin/ddt

Or, if {arm-forge-path}/bin is in your $PATH, just type:

ddt

You may optionally provide a program name as the first argument.

Upon startup you will be presented with the Welcome page. From here you may choose to run a program, attach to an existing program or open a core file.

To start debugging a program, choose "Run". In the Run window, set the path to your program in the Application field and click "Run" to start the program.

Your chosen program will be run using mpirun. If you have problems starting your program under DDT, first ensure it can run without DDT from the command line.

Running MAP

If you are using a supported desktop environment (KDE or Gnome) you will find a MAP icon in your Development/Programming menu.

To run MAP from the command line, type:

{arm-forge-path}/bin/map

Or, if {arm-forge-path}/bin is in your $PATH, just type:

map

You may optionally provide a program name as the first argument.

Upon startup you will be presented with the Welcome page. From here you may profile a program, or load a profile from a previous run.

To start profiling a program, choose "Profile". In the Run window, set the path to your program in the Application field and click "Run" to start the program.

Your chosen program will be run using mpirun. If you have problems starting your program under MAP, first ensure it can run without MAP from the command line.

Examples

Example code can be found in the installation directory:

<INSTALL_DIR>/examples

Copy the example code to a writeable directory and run the examples using the makefiles provided.

Documentation

Once installed these release notes can be found in the installation directory, and online at: https://developer.arm.com/products/software-development-tools/hpc/arm-forge/release-history.

The Arm Forge user guide is available in the <INSTALL_DIR>/doc directory, or online here: https://developer.arm.com/docs/101136/latest/arm-forge

Further documentation, help and tutorials can be found online at: https://developer.arm.com/products/software-development-tools/hpc/documentation.

Support

If you require support or would like to provide feedback, please contact allinea-support@arm.com or use our support request form online: https://developer.arm.com/products/software-development-tools/hpc/get-support.