128.GAPgeofem
SPEC MPI2007 Benchmark Description

Benchmark Name

128.GAPgeofem


Benchmark Author

Kengo Nakajima [nakajima@eps.s.u-tokyo.ac.jp]


Benchmark Program General Category

Finite Element Methods (FEM)

Benchmark Description

This benchmark is a GeoFEM-based parallel finite-element code for transient thermal conduction with gap radiation and very heterogeneous material property, developed by Kengo Nakajima, of the University of Tokyo. A backward Euler implicit time-marching scheme has been adopted. The linear equations are solved by parallel CG (conjugate gradient) iterative solvers with point Jacobi preconditioning.

GAPgeofem generates during the build 3 executables: GAPmetis, GAPpart, and GAPgeofem. The first two executables are used to partition the input mesh to the number of cores in your system. The sequence of execution is as follows:

Only the third step is measured in the time measurement.

MPI Usage

To see more details on the parallelisation procedure, click here.

The code supports all jobs sizes between 4 and 512. It does not step down the MPI_COMM_SIZE in order to support this range of sizes.


Input Description

The input files of the 1st step of mesh partitioning using GAPmetis are: bendian.0, lendian.0, a.m, a.m.part.1. The input file bendian.0 is used on a big endian machine, and lendian.0 is used on a little endian machine. The endianness of your machine is checked automatically by the SPEC harness, and the correct input file is chosen by the SPEC harness. You as user of the SPEC MPI2007 suite do not have to specify the endianness.

The input file of the 2nd step of mesh partitioning using GAPpart is: GAPpart.in

The input files of the actual Finite Element step using GAPgeofem are: GAPgeofem.in, bbb.0, bbb.1, bbb.2, ..., bbb.(nco-1). nco is the number of cores. The files with the prefix bbb are the input files after partitioning. The number of these files is equal to the number of cores (nco). These are the files bbb.0, bbb.1, bbb.2, ..., bbb.(nco-1).


Output Description

Output of 1st step of mesh partitioning using GAPmetis: a.m.part, GAPmetis.out

Output of 2nd step of mesh partitioning using GAPpart: bbb.0, bbb.1, bbb.2, ..., bbb.(nco-1), work.0, work.1, work.2, ..., work.(nco-1) (nco = number of cores), GAPpart.out

Output of actual FEM step using GAPgeofem: GAPgeofem.out (This is the file used for the validation of this benchmark).


Programming Language

The source files of the 1st step are written in C

The source files of the 2nd step are written in Fortran

The source files of the 3rd step are written in Fortran


Known portability issues

None known.

Version & Licensing

This benchmark code is based on the version of August 2003, developed by Kengo Nakajima, when he was working for RIST.

References


Last updated: 9 February 2007