III. Programming and Problem Solving Environments
- A. Introduction
-
- Motivation: complex applications and systems require ...
- a sophisticated programming environment,
- a great deal of abstraction and information hiding.
- Programming environment
- See Cheng (93)
and Messina & Sterling (93).
- Also:
- applications-oriented libraries
- run-time support libraries
- operating system functions
- software and problem/data repositories
- benchmarks
- software engineering technology
- Problem solving environments (Gallopoulos, Houstis, Rice, 92).
- ``... a computer system that provides all the computational
facilities to solve a target class of problems ... [using] the
terms of the target class ... and [using] specialized knowledge
of the underlying computer hardware or software systems.''
- Other important characteristics:
- Use modern computing facilities.
- Several solution methods available, with help in choosing.
- Methods are state-of-the-art; new methods or functionality
can be added easily.
- Computing resources are managed for the user.
- Support for long-term problem solving tasks.
- ``A PSE is designed to create a framework that is all things
to all people, solve simple or complex problems, support rapid
prototyping or detailed analysis, and can be used in
introductory education or at the frontiers of science.''
- B. Products from Applied Parallel Research
(APR)
-
- The company and its products
- Founded in 1991; one of the few for-profit organizations
developing compilers and tools for HPC.
- Main products
(from
http://www.infomall.org/apri/):
- FORGExplorer
- The ultimate browser for Fortran. This interactive Motif GUI
tool presents a truly global, interprocedural view of a program and can
perform in-context searches and variable traces of considerable complexity.
Available as shareware.
- FORGExplorer DMP
- APR's interactive, database driven, interprocedural Parallelizer
for Distributed Memory systems.
- FORGExplorer SMP
- APR's interactive, database driven, interprocedural Parallelizer
for Shared Memory Systems.
- xHPF
- Batch automatic parallelizer for HPF (Subset) and Distributed Memory Systems.
- spf
- Batch automatic parallelizer for Shared Memory Systems, generates
X3H5 compiler directives or POSIX Threads calls.
- cmf2hpf
- Source to source translator that converts CM Fortran to Fortran 90 with High
Performance Fortran Data Decomposition Directives.
- For a good instruduction to FORGExplorer and FORGExplorer DMP see the
tutorial
by Dr. Simon Wail of IBM/Australia.
Under Construction
CS6404 class account (cs6404@ei.cs.vt.edu)