Why "HPC-MW" ?
Various types of HPC (High-Performance 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.
"HPC-MW": What does it do ?
"HPC-Middleware (HPC-MW)" is an infrastructure for developing optimized and reliable simulation codes making efficient use of the finite-element 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 plugging-in the source code to the HPC-MW installed on the target computer. HPC-MW narrows the gap between compilers and applications.
HPC-MW supports various kinds of capabilities, such as parallel I/O, parallel visualization, large-scale linear solvers, adaptive mesh refinement, dynamic load-balancing, and coupling for multi-component simulations which are required for FEM simulations.
"HPC-MW": What is new ?
This HPC-MW 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 2-3 weeks..
HPC-MW 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. HPC-MW is developed based on this idea.
"HPC-MW": How to use ?
HPC-MW supports many kinds of capabilities for FEM simulation and large-scale data generation. Moreover, finite-element applications for solid mechanics, fluid mechanics, and heat conduction developed on HPC-MW will be available. Especially, the code for solid mechanics (pSAN-hpcmw) 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.
Most of the computation time of finite-element simulation is spent for solving large-scale 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.
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 data-structure for individual processors and architecture.
"Library-type" HPC-MW, 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 HPC-MW which are optimized for each hardware ("Network-type"). Thus, very large-scale simulation using world-wide resources (computer hardware, code, observed/computed data sets, etc.) is possible. MxN communication is also supported.
Moreover, HPC-MW provides a special language/compiler which provides an optimized library based on analysis data and hardware information ("Compiler-type"). This type of approach is convenient for developing an optimized HPC-MW for next-generation hardware.
In the beginning of November, 2003, proto-type version of HPC-MW for PC clusters (bhpcmw-PC-cluster) 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 HPC-MW, pSAN-hpcmw is also available. More detailed information is avaiable at FSIS and RIST (or e-mail to email@example.com)