1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-10 07:55:35 +00:00

Fixing nocompile

This commit is contained in:
Peter Boyle 2015-04-10 05:24:01 +02:00
parent 516bc0c666
commit d9a454bc9f
6 changed files with 31 additions and 39 deletions

View File

@ -11,10 +11,10 @@
/* #undef AVX512 */ /* #undef AVX512 */
/* GRID_COMMS_MPI */ /* GRID_COMMS_MPI */
#define GRID_COMMS_MPI 1 /* #undef GRID_COMMS_MPI */
/* GRID_COMMS_NONE */ /* GRID_COMMS_NONE */
/* #undef GRID_COMMS_NONE */ #define GRID_COMMS_NONE 1
/* Define to 1 if you have the `gettimeofday' function. */ /* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1 #define HAVE_GETTIMEOFDAY 1

View File

@ -407,7 +407,5 @@ int main (int argc, char ** argv)
} // loop for lat } // loop for lat
} // loop for omp } // loop for omp
Grid_finalize();
MPI_Finalize();
} }

View File

@ -1,3 +1,5 @@
#ifndef GRID_STENCIL_H
#define GRID_STENCIL_H
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// Must not lose sight that goal is to be able to construct really efficient // Must not lose sight that goal is to be able to construct really efficient
// gather to a point stencil code. CSHIFT is not the best way, so probably need // gather to a point stencil code. CSHIFT is not the best way, so probably need
@ -45,14 +47,12 @@ namespace Grid {
void Stencil_local (int dimension,int shift,int cbmask); void Stencil_local (int dimension,int shift,int cbmask);
void Stencil_comms (int dimension,int shift,int cbmask); void Stencil_comms (int dimension,int shift,int cbmask);
void Stencil_comms_simd(int dimension,int shift,int cbmask); void Stencil_comms_simd(int dimension,int shift,int cbmask);
// Will need to implement actions for // Will need to implement actions for
//
Copy_plane; Copy_plane;
Copy_plane_permute; Copy_plane_permute;
Gather_plane; Gather_plane;
// The offsets to all neibours in stencil in each direction // The offsets to all neibours in stencil in each direction
int _checkerboard; int _checkerboard;
int _npoints; // Move to template param? int _npoints; // Move to template param?
@ -360,3 +360,4 @@ namespace Grid {
}; };
#endif

View File

@ -186,15 +186,6 @@ namespace Grid {
Gextract<vComplexD,ComplexD>(y,extracted); Gextract<vComplexD,ComplexD>(y,extracted);
} }
////////////////////////////////////////////////////////////////////////
// FIXME: gonna remove these load/store, get, set, prefetch
////////////////////////////////////////////////////////////////////////
void vload(zvec& a){
this->v = a;
}
zvec vget(){
return this->v ;
}
/////////////////////// ///////////////////////
// Splat // Splat
/////////////////////// ///////////////////////

View File

@ -128,15 +128,6 @@ namespace Grid {
Gextract<vRealD,RealD>(y,extracted); Gextract<vRealD,RealD>(y,extracted);
} }
////////////////////////////////////////////////////////////////////////
// FIXME: gonna remove these load/store, get, set, prefetch
////////////////////////////////////////////////////////////////////////
void vload(dvec& a){
this->v = a;
}
dvec vget(){
return this->v ;
}
friend inline void vsplat(vRealD &ret,double a){ friend inline void vsplat(vRealD &ret,double a){
#if defined (AVX1)|| defined (AVX2) #if defined (AVX1)|| defined (AVX2)

37
TODO
View File

@ -1,12 +1,12 @@
* FIXME audit * FIXME audit
* Remove vload/store etc.. * Replace vset with a call to merge.;
* Replace vset with a call to merge. * care in Gmerge,Gextract over set.
* Replace vset with a call to merge.
* Const audit * Const audit
* extract / merge extra implementation removal * extract / merge extra implementation removal
* Conditional execution, where etc... -----DONE, simple test
* Conditional execution, where etc... -----DONE, simple test
* Integer relational support -----DONE * Integer relational support -----DONE
* Coordinate information, integers etc... -----DONE * Coordinate information, integers etc... -----DONE
* Integer type padding/union to vector. -----DONE * Integer type padding/union to vector. -----DONE
@ -22,18 +22,32 @@
-----Suggests generalised cartesian subblocking -----Suggests generalised cartesian subblocking
sums, returning modified grid. sums, returning modified grid.
Two classes of subset; i) Two classes of subset; red black parity subsetting (pick checkerboard).
i) red black parit subsetting. cartesian sub-block subsetting
(pick checkerboard).
ii) Need to be able to project one Grid to another Grid. ii) Need to be able to project one Grid to another Grid.
Interface: (?)
Lattice<vobj> coarse_data SubBlockSum (GridBase *CoarseGrid, Lattice<vobj> &fine_data)
Operation ensure either:
rd[dim] divide rd[dim] fine_data
This will give a distributed array over mpi ranks in a given dim IF coarse gd != 1 and _processors[d]>1
Dimension can be *replicated* on all ranks in dimension. Need a "replicated" option on GridCartesian etc..
This will give "slice" summation and fourier projection assistance.
Generic concept is to subdivide (based on RD so applies to red/black or full). Generic concept is to subdivide (based on RD so applies to red/black or full).
Return a type on SUB-grid from CellSum TOP-grid Return a type on SUB-grid from CellSum TOP-grid
SUB-grid need not distribute but be replicated in some dims if that is how the SUB-grid need not distribute but be replicated in some dims if that is how the
cartesian communicator works. cartesian communicator works.
iii) No general permutation map. Instead of subsetting
iii) No general permutation map.
* Consider switch std::vector to boost arrays. * Consider switch std::vector to boost arrays.
boost::multi_array<type, 3> A()... to replace multi1d, multi2d etc.. boost::multi_array<type, 3> A()... to replace multi1d, multi2d etc..
@ -41,15 +55,12 @@ iii) No general permutation map.
*? Cell definition <-> sliceSum. *? Cell definition <-> sliceSum.
? Replicated arrays. ? Replicated arrays.
* Check for missing functionality - partially audited against QDP++ layout * Check for missing functionality - partially audited against QDP++ layout
* Optimise the extract/merge SIMD routines; Azusa?? * Optimise the extract/merge SIMD routines; Azusa??
-- I have collated into single location at least. - I have collated into single location at least.
- Need to use _mm_*insert/extract routines.
-- Need to use _mm_*insert/extract routines.
* Conformable test in Cshift routines. * Conformable test in Cshift routines.