Why "HPCMW" ?
Various types of HPC (HighPerformance Computing) environments, including massively parallel computers and PC clusters, have recently become available. Moreover, advancement of "GRID" technology allows us to access a variety of computer resources very easily. However, in order to make the best use of these resources, we need optimization and tuning for individual hardware.
"HPCMW": What does it do ?
"HPCMiddleware (HPCMW)" is an infrastructure for developing optimized and reliable simulation codes making efficient use of the finiteelement method (FEM). The source code developed on a PC with a single processor is easily optimized for various types of parallel computers including vector/scalar processors, SMP cluster architectures, and PC clusters by pluggingin the source code to the HPCMW installed on the target computer. HPCMW narrows the gap between compilers and applications.
HPCMW supports various kinds of capabilities, such as parallel I/O, parallel visualization, largescale linear solvers, adaptive mesh refinement, dynamic loadbalancing, and coupling for multicomponent simulations which are required for FEM simulations.
"HPCMW": What is new ?
This HPCMW will provide dramatic efficiency, portability, and reliability in the development of simulation codes by FEM. For example, the number of steps of the source code is expected to be on the order of thousands, and the duration for parallelizing legacy codes is expected to be order of 23 weeks..
HPCMW is a library for scientific simulation but its approach for development is very unique. Scientific simulation methods such as FEM consist of typical and common procedures. These procedures, such as linear solver, visualization and matrix assembling can be optimized for various types of computer hardware. HPCMW is developed based on this idea.
"HPCMW": How to use ?
HPCMW supports many kinds of capabilities for FEM simulation and largescale data generation. Moreover, finiteelement applications for solid mechanics, fluid mechanics, and heat conduction developed on HPCMW will be available. Especially, the code for solid mechanics (pSANhpcmw) including static/dynamic linear/nonlinear procedures with various types of elements and boundary conditions can be used as a general purpose FEM code for engineering analysis.
Linear Solvers
Most of the computation time of finiteelement simulation is spent for solving largescale linear equations with sparse coefficient matrices. The ICCG method (Conjugate Gradient Iterative Method with Incomplete Cholesky Factorization) is a widely used iterative solver but it requires reordering for higher performance on vector processors. Performance is significantly improved by reordering on vector processors, such as the Earth Simulator, but the effect of reordering is very small in PC clusters.
Volume Rendering
Hierarchical background cells with local refinement are very effective for the visualization by volume rendering of unstructured meshes. However, this type of cell with local refinement requires a very complicated data structure which is not suitable for vector processors such as the Earth Simulator. In this case, globally fine background provides much better performance on vector processors.
We have to choose the optimum algorithm and datastructure for individual processors and architecture.
"Librarytype" HPCMW, described in the major portion of this article, is a library set optimized for existing individual hardware.
Under a GRID environment in which various types of computers are connected through a network, a virtual petaflops environment can be attained by GRID middleware, such as globusTM and HPCMW which are optimized for each hardware ("Networktype"). Thus, very largescale simulation using worldwide resources (computer hardware, code, observed/computed data sets, etc.) is possible. MxN communication is also supported.
Moreover, HPCMW provides a special language/compiler which provides an optimized library based on analysis data and hardware information ("Compilertype"). This type of approach is convenient for developing an optimized HPCMW for nextgeneration hardware.
In the beginning of November, 2003, prototype version of HPCMW for PC clusters (bhpcmwPCcluster) including parallel I/O, parallel linear solvers, parallel visualization modules and utilities for mesh partitioning have been released to public. 3D parallel FEM code for elastic static solid mechanics developed on HPCMW, pSANhpcmw is also available. More detailed information is avaiable at FSIS and RIST (or email to hpcmwworkers@tokyo.rist.or.jp)
