gem5/splash2/codes/apps/water-nsquared/mddata.H
Sanchayan Maity 2fcc51c2c1 Commit splash2 benchmark
While at it also add the libpthread static library amd m5op_x86
for matrix multiplication test code as well.

Note that the splash2 benchmark code does not comply with gem5
coding guidelines. Academic guys never seem to follow 80 columns
and no whitespace guideline :(.
2017-04-26 20:50:15 +05:30

55 lines
2.4 KiB
C

/*************************************************************************/
/* */
/* Copyright (c) 1994 Stanford University */
/* */
/* All rights reserved. */
/* */
/* Permission is given to use, copy, and modify this software for any */
/* non-commercial purpose as long as this copyright notice is not */
/* removed. All other uses, including redistribution in whole or in */
/* part, are forbidden without prior written permission. */
/* */
/* This software is provided with absolutely no warranty and no */
/* support. */
/* */
/*************************************************************************/
/* this file contains the declarations of the main data
structure types used by the program */
/* per molecule, there are 3*8 = 24 bytes for the VM array */
/* and 9*3*3*8 = 648 bytes for the F array */
/* that is, a total of 672 bytes */
/* then there is some global memory, defined in global.H */
/* which mainly consists of an array of locks, one per mol */
/* PRIVATE DATA: Every process has a private array of computed */
/* interactions, PFORCES, defined in interf.C. The size of this */
/* is nmol*3*3*8 = 72 * nmol bytes */
/* A processor only uses at most 72 * (nmol/2 + nmol/p) bytes of */
/* this. */
/* And, every process has six private arrays for use in interf */
/* These arrays are of size 15*8 = 120 bytes each, for a total */
/* of 720 bytes. therefore per process data are */
/* (72 * nmol) + 720 bytes. */
typedef double vm_type[3];
typedef struct mol_dummy {
vm_type VM;
double F[MXOD2][NDIR][NATOM];
} molecule_type;
extern molecule_type *VAR;
extern double ****PFORCES;
extern double TLC[100], FPOT, FKIN;
#define MAXPROCS 128
extern long StartMol[MAXPROCS+1];
extern long MolsPerProc;
extern long NumProcs;