Tools for HPC development
Parallel applications development
Examine the tools and utilities one may expect to find in a parallel
environment:
- Data set preparation - dealing with data sets that tend to be much
larger than in conventional computing.
- Code debugging - need special tools to debug code that runs on many
processors.
- Code analysis and profiling - helps in load balancing.
- Program simulation - cheaper way to applications development.
- Interpretation and presentation of results - again, HPC applications
tend to output vast amounts of data that needs to be displayed
effectively.
- Data set preparation
- Often dealing with data sets that tend to be much larger than in
conventional computing.
- Use of Graphical User Interfaces (GUI's) to set input parameters.
- Code debugging
- Need special tools to debug code that runs on several processors.
- Allows examination of the program source whilst it is executing.
Alternatively, perform a post-mortem.
- Facilities such as 'breakpoints' permit inspection and modification of variables in each of the processes.
- Ideally, there should be a central facility to enable control of
all processes.
- Code performance analysis and profiling
A typical profiler will show:
- Colour-coded graphics displays indicating when processors are
computing, communicating, or idle.
- Time axis to follow each processor's activities during execution.
- Graphics to indicate communication patterns as a function of time.
- Subroutine usage to guide where parallelism should be concentrated.
- Program simulation
- A simulator allows development of parallel code on a serial machine.
- Assures program will execute but will not predict runtime on
parallel target.
- For example, Cray T3D simulator on Cray YMP.
- Visualisation
HPC applications tend to output vast quantities of data.
- Visualization provides an effective means for presentation of results.
- Creative uses of colour, texture, translucency, and others allow
complicated models to be displayed in a form that can be more easily
understood e.g. AVS, PVwave.
Applications
- Packages in areas such as advanced visualisation, CFD, Molecular
Modelling, Geographical Information Systems (GIS).
- Grand Challenges as suggested by the HPC Initiative of the U.S. and
U.K. governments.
- Database and transaction processing required by banks, airline
reservation systems, and others.
- Virtual Reality for both work and leisure activities.
Submitted by Mark Johnston,
last updated on 21 February 1994.