Contact-Impact Kernels in HPF+
G. Lonsdale, A. Petitet, F. Zimmermann
(C&C Research Laboratories, NEC Europe Ltd.)
J. Clinckemaillie, S. Meliciani,
(Engineering Systems International S.A.)
This paper reports on the use of HPF language extensions for the irregular computational and communications requirements arising in the contact-impact algorithms found in crashworthiness simulation codes. The HPF language extensions, forming the HPF+ language definition, have been designed to deal with the requirements of complex, scientific applications which involve irregular constructs: unstructured meshes, irregular data structures, computational tasks with dynamically changing costs and data accesses. The HPF+ language development is the central result of the HPF+ project (funded by the European Commission's ESPRIT Programme in the area of Long Term Research). The motivation for the project was the result of earlier studies which indicated that the available constructs of HPF-1 were inadequate for the requirements of irregular, unstructured industrial applications.
The application driven thrust of the HPF+ project is ensured by the development of a sequence of benchmark kernels representing various features and levels of completeness from important scientific and industrially relevant simulation codes: FIRE (from AVL), IFS (from ECMWF) and PAM-CRASH (from ESI). A close co-operation with the HPF-2 effort guarantees that HPF+ will not divert from the standard except where this is necessary for providing functionality not being considered under HPF-2. The HPF+ Consortium consists of the application developers listed above together with academic and commercial language, compiler and tool developers from the Universities of Vienna and Pavia and NA Software. C&C Research Laboratories, NEC Europe is contributing to the project via a collaboration with ESI.
This paper will focus on the most complex kernels derived from the algorithms used within PAM-CRASH: those representing the proximity search and penetration detection tasks of the typical contact-impact algorithms. Preceded by a brief introduction to the algorithms used within PAM-CRASH, the focus will be on the requirements for the HPF+ language, and thus HPF-2 (and beyond). Results will include, where possible, comparisons of kernel performances achieved with commercial HPF-1 compilers and the latest version of the HPF+ extensions within the HPF compiler developed during the project Vienna HPF Compiler (VFC) - together with hand-coded MPI implementations of the kernels.