Build instructions 1. Prerequisites GENE depends on the Fourier transform FFTW library and on some BLAS and ScaLapack library. It can also use Slepc and petsc to determine the optimal linear time step, which is not necessary for the benchmarking process. Also the output with HDF5 can be switched off. 2. Build procedure First you have to tell GENE the name of the makefile to use. For the benchmarking purposes a template makefile has been set up for a machine with the name "target". With running make MACHINE=target -j this makefile is used automatically. It is then copied to bin/target.mk and there be modified to meet the requirements of the system. The makefile target.mk includes the makefiles/rules.mk and the src/files.mk which contain the compiling rules and the dependencies, respectively. The makefile produces a binary called gene_target in the bin subdirectory. 3. Running the code 3.1. Testsuite After building the code, the testsuite should be run. To do so, change to the "testsuite" subdirectory and call the testsuite program with ./testsuite -syscall "mpiexec -n 8 ./gene_target" or a similar command modified to meet the local MPI requirements. All tests of the standard testsuite should pass without any differences to the reference results. 3.2 Running the benchmark case To run the built code, you have to extract the bench01.tgz tarball in the GENE directory, than you have to change to the bench01 subdirectory. In the "parameters" file the problem description can be found. This file is read by gene to set all the physical and numerical parameters. Before running, you have to modify the "diagdir" variable in the parameters file to point to a directory which is accessible during the run. All output will be written to this directory. The parameters file is at the moment setup to run a strong scaling from 64 nodes (each node has 36 cores) to 256 nodes. As there are some constraints on the parallelization with respect to the grid, not all parallelizations are possible to run. 3.3 Relevant metric The metric relevant to the present benchmark is the value of 'Time per time step:' which GENE reports towards the end of stdout In the following example this would be 3.396 seconds. ~>tail gene.stdout *** entering time loop *** maximal 1 timesteps. Total time of initial value computation: 3.396 sec Computed 1 time steps Time per time step: 3.396 sec Time for GENE simulation: 621.644 sec Total wallclock time for GENE: 622.092 sec Please, provide us at least four results including the reference configuration (512 cores, or the maximum configuration available). You can check if you obtain correct results in comparing the last three lines of the output file nrg.dat against reference file that you can find at this path: https://hpc-forge.cineca.it/files/gara_Tier0_2015/public/GENE/OUTPUT_DATASET/nrg.dat