mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 07:55:35 +00:00
Fixing nocompile
This commit is contained in:
parent
993419d9fb
commit
6e90038bf6
@ -11,10 +11,10 @@
|
||||
/* #undef AVX512 */
|
||||
|
||||
/* GRID_COMMS_MPI */
|
||||
#define GRID_COMMS_MPI 1
|
||||
/* #undef GRID_COMMS_MPI */
|
||||
|
||||
/* GRID_COMMS_NONE */
|
||||
/* #undef GRID_COMMS_NONE */
|
||||
#define GRID_COMMS_NONE 1
|
||||
|
||||
/* Define to 1 if you have the `gettimeofday' function. */
|
||||
#define HAVE_GETTIMEOFDAY 1
|
||||
|
@ -407,7 +407,5 @@ int main (int argc, char ** argv)
|
||||
|
||||
} // loop for lat
|
||||
} // loop for omp
|
||||
|
||||
MPI_Finalize();
|
||||
|
||||
Grid_finalize();
|
||||
}
|
||||
|
@ -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
|
||||
// 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_comms (int dimension,int shift,int cbmask);
|
||||
void Stencil_comms_simd(int dimension,int shift,int cbmask);
|
||||
|
||||
// Will need to implement actions for
|
||||
//
|
||||
Copy_plane;
|
||||
Copy_plane_permute;
|
||||
Gather_plane;
|
||||
|
||||
|
||||
|
||||
// The offsets to all neibours in stencil in each direction
|
||||
int _checkerboard;
|
||||
int _npoints; // Move to template param?
|
||||
@ -360,3 +360,4 @@ namespace Grid {
|
||||
|
||||
|
||||
};
|
||||
#endif
|
||||
|
@ -186,15 +186,6 @@ namespace Grid {
|
||||
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
|
||||
///////////////////////
|
||||
|
@ -128,15 +128,6 @@ namespace Grid {
|
||||
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){
|
||||
#if defined (AVX1)|| defined (AVX2)
|
||||
|
37
TODO
37
TODO
@ -1,12 +1,12 @@
|
||||
|
||||
* FIXME audit
|
||||
* Remove vload/store etc..
|
||||
* Replace vset with a call to merge.
|
||||
* Replace vset with a call to merge.
|
||||
* Replace vset with a call to merge.;
|
||||
* care in Gmerge,Gextract over set.
|
||||
* Const audit
|
||||
* extract / merge extra implementation removal
|
||||
|
||||
* Conditional execution, where etc... -----DONE, simple test
|
||||
|
||||
* Conditional execution, where etc... -----DONE, simple test
|
||||
* Integer relational support -----DONE
|
||||
* Coordinate information, integers etc... -----DONE
|
||||
* Integer type padding/union to vector. -----DONE
|
||||
@ -22,18 +22,32 @@
|
||||
-----Suggests generalised cartesian subblocking
|
||||
sums, returning modified grid.
|
||||
|
||||
Two classes of subset;
|
||||
i) red black parit subsetting.
|
||||
(pick checkerboard).
|
||||
i) Two classes of subset; red black parity subsetting (pick checkerboard).
|
||||
cartesian sub-block subsetting
|
||||
|
||||
|
||||
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).
|
||||
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
|
||||
cartesian communicator works.
|
||||
|
||||
iii) No general permutation map.
|
||||
Instead of subsetting
|
||||
|
||||
iii) No general permutation map.
|
||||
|
||||
* Consider switch std::vector to boost arrays.
|
||||
boost::multi_array<type, 3> A()... to replace multi1d, multi2d etc..
|
||||
@ -41,15 +55,12 @@ iii) No general permutation map.
|
||||
*? Cell definition <-> sliceSum.
|
||||
? Replicated arrays.
|
||||
|
||||
|
||||
|
||||
* Check for missing functionality - partially audited against QDP++ layout
|
||||
|
||||
* Optimise the extract/merge SIMD routines; Azusa??
|
||||
|
||||
-- I have collated into single location at least.
|
||||
|
||||
-- Need to use _mm_*insert/extract routines.
|
||||
- I have collated into single location at least.
|
||||
- Need to use _mm_*insert/extract routines.
|
||||
|
||||
* Conformable test in Cshift routines.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user