diff --git a/config.mk b/config.mk index ba5414b..90c619b 100644 --- a/config.mk +++ b/config.mk @@ -1,7 +1,7 @@ # Compiler tag (GCC/CLANG/ICC) TAG ?= ICC -# Optimization scheme (default/gromacs/clusters_per_bin) -OPT_SCHEME = default +# Optimization scheme (lammps/gromacs/clusters_per_bin) +OPT_SCHEME = lammps # Enable likwid (true or false) ENABLE_LIKWID ?= false # SP or DP diff --git a/gromacs/includes/neighbor.h b/gromacs/includes/neighbor.h index 0509f36..04b7e3b 100644 --- a/gromacs/includes/neighbor.h +++ b/gromacs/includes/neighbor.h @@ -39,4 +39,5 @@ extern void binatoms(Atom*); extern void buildNeighbor(Parameter*, Atom*, Neighbor*); extern void sortAtom(Atom*); extern void buildClusters(Parameter*, Atom*); +extern void binGhostClusters(Parameter*, Atom*); #endif diff --git a/gromacs/main.c b/gromacs/main.c index 761d17e..15f606b 100644 --- a/gromacs/main.c +++ b/gromacs/main.c @@ -100,7 +100,7 @@ double setup( setupThermo(param, atom->Natoms); if(param->input_file == NULL) { adjustThermo(param, atom); } setupPbc(atom, param); - updatePbc(atom, param); + buildClusters(param, atom); buildNeighbor(param, atom, neighbor); E = getTimeStamp(); @@ -118,8 +118,6 @@ double reneighbour( LIKWID_MARKER_START("reneighbour"); updateAtomsPbc(atom, param); setupPbc(atom, param); - updatePbc(atom, param); - //sortAtom(atom); buildNeighbor(param, atom, neighbor); LIKWID_MARKER_STOP("reneighbour"); E = getTimeStamp(); diff --git a/gromacs/neighbor.c b/gromacs/neighbor.c index 3c3ad3c..2f2ebc9 100644 --- a/gromacs/neighbor.c +++ b/gromacs/neighbor.c @@ -219,10 +219,6 @@ void buildNeighbor(Parameter *param, Atom *atom, Neighbor *neighbor) { neighbor->neighbors = (int*) malloc(nmax * neighbor->maxneighs * sizeof(int*)); } - /* bin local & ghost atoms */ - binatoms(atom); - buildClusters(param, atom); - const MD_FLOAT rBB = cutneighsq / 2.0; // TODO: change this int resize = 1; @@ -413,6 +409,9 @@ void sortBinAtomsByZCoord(Parameter *param, Atom *atom, int bin) { } void buildClusters(Parameter *param, Atom *atom) { + /* bin local atoms */ + binatoms(atom); + for(int bin = 0; bin < mbins; bin++) { sortBinAtomsByZCoord(param, atom, bin); } diff --git a/gromacs/pbc.c b/gromacs/pbc.c index 77b71d5..6b62708 100644 --- a/gromacs/pbc.c +++ b/gromacs/pbc.c @@ -26,6 +26,7 @@ #include #include #include +#include #define DELTA 20000 @@ -177,4 +178,8 @@ void setupPbc(Atom *atom, Parameter *param) { // increase by one to make it the ghost atom count atom->Nclusters_ghost = Nghost + 1; atom->Nclusters = atom->Nclusters_local + Nghost + 1; + + // Update and bin created ghost clusters + updatePbc(atom, param); + binGhostClusters(param, atom); } diff --git a/default/allocate.c b/lammps/allocate.c similarity index 100% rename from default/allocate.c rename to lammps/allocate.c diff --git a/default/atom.c b/lammps/atom.c similarity index 100% rename from default/atom.c rename to lammps/atom.c diff --git a/default/eam_utils.c b/lammps/eam_utils.c similarity index 100% rename from default/eam_utils.c rename to lammps/eam_utils.c diff --git a/default/force_eam.c b/lammps/force_eam.c similarity index 100% rename from default/force_eam.c rename to lammps/force_eam.c diff --git a/default/force_lj.c b/lammps/force_lj.c similarity index 100% rename from default/force_lj.c rename to lammps/force_lj.c diff --git a/default/includes/allocate.h b/lammps/includes/allocate.h similarity index 100% rename from default/includes/allocate.h rename to lammps/includes/allocate.h diff --git a/default/includes/atom.h b/lammps/includes/atom.h similarity index 100% rename from default/includes/atom.h rename to lammps/includes/atom.h diff --git a/default/includes/eam.h b/lammps/includes/eam.h similarity index 100% rename from default/includes/eam.h rename to lammps/includes/eam.h diff --git a/default/includes/likwid-marker.h b/lammps/includes/likwid-marker.h similarity index 100% rename from default/includes/likwid-marker.h rename to lammps/includes/likwid-marker.h diff --git a/default/includes/neighbor.h b/lammps/includes/neighbor.h similarity index 100% rename from default/includes/neighbor.h rename to lammps/includes/neighbor.h diff --git a/default/includes/parameter.h b/lammps/includes/parameter.h similarity index 100% rename from default/includes/parameter.h rename to lammps/includes/parameter.h diff --git a/default/includes/pbc.h b/lammps/includes/pbc.h similarity index 100% rename from default/includes/pbc.h rename to lammps/includes/pbc.h diff --git a/default/includes/stats.h b/lammps/includes/stats.h similarity index 100% rename from default/includes/stats.h rename to lammps/includes/stats.h diff --git a/default/includes/thermo.h b/lammps/includes/thermo.h similarity index 100% rename from default/includes/thermo.h rename to lammps/includes/thermo.h diff --git a/default/includes/timers.h b/lammps/includes/timers.h similarity index 100% rename from default/includes/timers.h rename to lammps/includes/timers.h diff --git a/default/includes/timing.h b/lammps/includes/timing.h similarity index 100% rename from default/includes/timing.h rename to lammps/includes/timing.h diff --git a/default/includes/tracing.h b/lammps/includes/tracing.h similarity index 100% rename from default/includes/tracing.h rename to lammps/includes/tracing.h diff --git a/default/includes/util.h b/lammps/includes/util.h similarity index 100% rename from default/includes/util.h rename to lammps/includes/util.h diff --git a/default/includes/vtk.h b/lammps/includes/vtk.h similarity index 100% rename from default/includes/vtk.h rename to lammps/includes/vtk.h diff --git a/default/main-stub.c b/lammps/main-stub.c similarity index 100% rename from default/main-stub.c rename to lammps/main-stub.c diff --git a/default/main.c b/lammps/main.c similarity index 100% rename from default/main.c rename to lammps/main.c diff --git a/default/neighbor.c b/lammps/neighbor.c similarity index 100% rename from default/neighbor.c rename to lammps/neighbor.c diff --git a/default/pbc.c b/lammps/pbc.c similarity index 100% rename from default/pbc.c rename to lammps/pbc.c diff --git a/default/stats.c b/lammps/stats.c similarity index 100% rename from default/stats.c rename to lammps/stats.c diff --git a/default/thermo.c b/lammps/thermo.c similarity index 100% rename from default/thermo.c rename to lammps/thermo.c diff --git a/default/timing.c b/lammps/timing.c similarity index 100% rename from default/timing.c rename to lammps/timing.c diff --git a/default/tracing.c b/lammps/tracing.c similarity index 100% rename from default/tracing.c rename to lammps/tracing.c diff --git a/default/util.c b/lammps/util.c similarity index 100% rename from default/util.c rename to lammps/util.c diff --git a/default/vtk.c b/lammps/vtk.c similarity index 100% rename from default/vtk.c rename to lammps/vtk.c