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
516bc0c666
commit
d9a454bc9f
@ -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
|
||||||
|
@ -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();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
@ -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
37
TODO
@ -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.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user