128.GAPgeofem
Kengo Nakajima [nakajima@eps.s.u-tokyo.ac.jp]
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:
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.
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 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).
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