PTP/new and noteworthy/4.0.0
The following are new features available with PTP 4.0 and Photran 6.0 - available June 2010 with Eclipse Helios (3.6).
"New and Noteworthy" is a tradition for Eclipse projects - an interesting way to present our new features.
- 1 PTP Resource Managers
- 2 Remote Development Tools (RDT)
- 3 Parallel Language Development Tools (PLDT)
- 4 Photran 6
- 5 Graphical Explorer of MPI Programs (GEM)
- 6 Parallel Performance Wizard (PPW)
PTP Resource Managers
The PBS and SLURM resource managers have been updated and improved. There have been numerous bug fixes to existing resource managers.
There is now support for submitting to and monitoring (parallel) jobs on resources with PBS (Portable Batch System).
On the client side, the PBS Resource Manager can be configured to use different (customized) batch script templates, whose values can then be provided from a Run Configuration.
On-resource submission and monitoring takes place via a Java proxy, which is automatically deployed to the host when it is launched.
Here is an example of the view for configuring and submitting a PBS Job:
Support for SLURM 2.1 has been added.
Remote Development Tools (RDT)
A new project wizard for remote projects has been added that simplifies the creation of remote projects.
Support for managed projects (using xlC toolchain).
Remote indexer is automatically deployed to remote target for Remote Tools connections.
xlUPC remote new project wizard
Parallel Language Development Tools (PLDT)
New code templates
In the C editor, activate code templates by typing cntrl-c twice. For a list of just the UPC templates, type upc_ then cntrl-c twice.
A list of the available templates is provided.
If the highlighted template is chosen, it inserts code into the editor at the insertion point. Templated variables (highlighted in blue here) can be changed in one place and their use in the other places in the template will be changed accordingly.
Support for CDT 7.0
Support for Fortran
- Artifact identification: MPI in Fortran code
- Artifact identification: OpenMP in Fortran code
JUnit tests for PLDT analysis features
Photran 6 adds two major features (Fortran 2008 support and C preprocessor support) and three new refactorings to Photran 5. It also includes several more minor improvements, including a Fortran Analysis/Refactoring Problems view, documentation in the online help system, the ability for the parser to "skip over" many syntax errors, an improved New Fortran Project dialog, Unicode support, configurable fixed-form line length, per-project source form settings, outlining of declarations in interface blocks, more robust content assist facilities, the ability to jump to external program definitions using Open Declaration, better editor responsiveness when working on large projects, indexer/database crash recovery... and, of course, some bug fixes.
Fortran 2008 Support
The editor (syntax highlighting) and Outline view in Photran 6 support the new syntactic constructs in the Fortran 2008 ISO standard. These include submodules, separate module subprograms, the BLOCK construct, complex part designators, concurrent loop control, and co-arrays.
C Preprocessor Support
Photran 6 now supports C preprocessor directives in free form code (when configured appropriately), allowing the Outline view, search, open declaration, and content assist to work correctly on preprocessed code. The filename extensions associated with C preprocessed code are configured in the project properties.
Photran 6 includes three new refactorings, thanks to Gustavo Risetti (Universidade Federal de Santa Maria):
- Standardize Statements rewrites all variables declarations, so that there is only one variable declaration per line, and every variable declaration contains a double colon (::).
- Convert DATA to PARAMETER replaces a constant-valued declaration in a DATA statement with a PARAMETER statement.
- Remove Unused Variables deletes declarations of local variables that are never used.
Other New Features
- The Fortran Analysis/Refactoring Problems view displays errors encountered by Photran's parser that may prevent refactorings, Fortran Search, the Fortran Declaration view, and other advanced features from working correctly. This is distinct from the ordinary Problems view, which displays error messages produced by the user's Fortran compiler.
- Online Help. The documentation from the Photran wiki is now included in the Eclipse help system (via Help > Contents), making it accessible to users on machines without Internet access.
- Error recovery in the parser. The Fortran parser can now "recover" from many unrecognized statements. This allows the Outline view, content assist, and many other features to work on files that cannot be parsed completely (such as files using vendor-specific language extensions).
- Improved content assist. The content assist facility is significantly more robust in Photran 6. In addition, the content assistant displays a short synopsis for each intrinsic procedure, as well as and the various combinations of arguments it may take.
- In Photran 6, the New Fortran Project dialog only displays Fortran project types. In previous versions, it contained both C/C++ and Fortran project types.
- Configurable fixed-form line length. The default fixed-form line length of 72 characters can now be changed in the workspace preferences.
- Per-project source form settings. Source form settings are now configured on each project, not workspace-wide. It is also possible to change the "default" source form-filename extension associations (e.g., .f files can be changed to free form).
- Unicode support. Photran's indexer and refactoring engine now permit Unicode characters in comments in Fortran source code.
- Outline view improvements. Declarations in INTERFACE blocks are now shown in the Outline view. Submodules (new in Fortran 2008) are also shown.
- External program definitions can be located using Open Declaration.
- The editor is much more responsive when working on large projects with analysis/refactoring enabled. (The computation that was blocking the user interface has been moved into a background thread.)
- The indexer can now detect when Eclipse crashed or was shut down uncleanly, and it will automatically rebuild its database in case it was corrupted. (This prevents many cryptic "indexer errors" that were discussed on the Photran mailing list.)
Graphical Explorer of MPI Programs (GEM)
GEM has replaced ISP
Full Support for C++ MPI Applications. Now GEM offers push-button dynamic formal verification for both C and C++ MPI applications (Managed Build and Makefile Projects).
Support for terminating long-running GEM operations
Reworked UI Threading. GEM operations that were blocking the UI have been moved into a background thread.
Updated Eclipse Help Contribution
Parallel Performance Wizard (PPW)
PPW is a tool for analyzing the performance of partitioned global-address-space (PGAS) applications -- mainly those written in UPC. All of PPW's capabilities can be used within Eclipse by creating a Profile Configuration and choosing PPW under 'Tool Selection'.
Ability to specify instrumentation options for PPW's compiler wrapper scripts.
Ability to choose options for the instrumented program run.
After the program is then run with PPW enabled, the resulting performance data file appears in the workspace, and the PPW GUI is launched.
Source-code lines selected in the PPW GUI are highlighted within the appropriate file in the Eclipse editor.