1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-28 06:35:55 +01:00

FOrmatting

This commit is contained in:
paboyle 2018-01-13 00:11:53 +00:00
parent 7f6bffe5ad
commit 5e48b701ec
4 changed files with 114 additions and 114 deletions

View File

@ -1,4 +1,4 @@
/************************************************************************************* /*************************************************************************************
Grid physics library, www.github.com/paboyle/Grid Grid physics library, www.github.com/paboyle/Grid
@ -24,8 +24,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
See the full license in the file "LICENSE" in the top level distribution directory See the full license in the file "LICENSE" in the top level distribution directory
*************************************************************************************/ *************************************************************************************/
/* END LEGAL */ /* END LEGAL */
#include <Grid/GridCore.h> #include <Grid/GridCore.h>
#include <algorithm> #include <algorithm>
@ -138,9 +138,9 @@ void LebesgueOrder::IterateI(int ND,
} else { } else {
for(int d=0;d<ND;d++){ for(int d=0;d<ND;d++){
x[d]=xi[d]+xo[d]; x[d]=xi[d]+xo[d];
// std::cout << x[d]<<" "; // std::cout << x[d]<<" ";
} }
// std::cout << "\n"; // std::cout << "\n";
IndexInteger index; IndexInteger index;
Lexicographic::IndexFromCoor(x,index,grid->_rdimensions); Lexicographic::IndexFromCoor(x,index,grid->_rdimensions);
_LebesgueReorder.push_back(index); _LebesgueReorder.push_back(index);

View File

@ -1,4 +1,4 @@
/************************************************************************************* /*************************************************************************************
Grid physics library, www.github.com/paboyle/Grid Grid physics library, www.github.com/paboyle/Grid
@ -24,8 +24,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
See the full license in the file "LICENSE" in the top level distribution directory See the full license in the file "LICENSE" in the top level distribution directory
*************************************************************************************/ *************************************************************************************/
/* END LEGAL */ /* END LEGAL */
#ifndef GRID_LEBESGUE_H #ifndef GRID_LEBESGUE_H
#define GRID_LEBESGUE_H #define GRID_LEBESGUE_H
@ -34,15 +34,15 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
// Lebesgue, Morton, Z-graph ordering assistance // Lebesgue, Morton, Z-graph ordering assistance
NAMESPACE_BEGIN(Grid); NAMESPACE_BEGIN(Grid);
class LebesgueOrder { class LebesgueOrder {
public: public:
typedef int32_t IndexInteger; typedef int32_t IndexInteger;
static int UseLebesgueOrder; static int UseLebesgueOrder;
GridBase *grid; GridBase *grid;
public: public:
LebesgueOrder(GridBase *_grid); LebesgueOrder(GridBase *_grid);
inline IndexInteger Reorder(IndexInteger ss) { inline IndexInteger Reorder(IndexInteger ss) {
@ -72,10 +72,10 @@ NAMESPACE_BEGIN(Grid);
void ThreadInterleave(void); void ThreadInterleave(void);
private: private:
std::vector<IndexInteger> _LebesgueReorder; std::vector<IndexInteger> _LebesgueReorder;
}; };
NAMESPACE_END(Grid); NAMESPACE_END(Grid);

View File

@ -1,4 +1,4 @@
/************************************************************************************* /*************************************************************************************
Grid physics library, www.github.com/paboyle/Grid Grid physics library, www.github.com/paboyle/Grid
@ -23,8 +23,8 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
See the full license in the file "LICENSE" in the top level distribution directory See the full license in the file "LICENSE" in the top level distribution directory
*************************************************************************************/ *************************************************************************************/
/* END LEGAL */ /* END LEGAL */
#include <Grid/GridCore.h> #include <Grid/GridCore.h>
NAMESPACE_BEGIN(Grid); NAMESPACE_BEGIN(Grid);

View File

@ -23,30 +23,30 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
See the full license in the file "LICENSE" in the top level distribution directory See the full license in the file "LICENSE" in the top level distribution directory
*************************************************************************************/ *************************************************************************************/
/* END LEGAL */ /* END LEGAL */
#ifndef GRID_STENCIL_H #ifndef GRID_STENCIL_H
#define GRID_STENCIL_H #define GRID_STENCIL_H
#include <Grid/stencil/SimpleCompressor.h> // subdir aggregate #include <Grid/stencil/SimpleCompressor.h> // subdir aggregate
#include <Grid/stencil/Lebesgue.h> // subdir aggregate #include <Grid/stencil/Lebesgue.h> // subdir aggregate
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// 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 need // gather to a point stencil code. CSHIFT is not the best way, so need
// additional stencil support. // additional stencil support.
// //
// Stencil based code will exchange haloes and use a table lookup for neighbours. // Stencil based code will exchange haloes and use a table lookup for neighbours.
// This will be done with generality to allow easier efficient implementations. // This will be done with generality to allow easier efficient implementations.
// Overlap of comms and compute is enabled by tabulating off-node connected, // Overlap of comms and compute is enabled by tabulating off-node connected,
// //
// Generic services // Generic services
// 0) Prebuild neighbour tables // 0) Prebuild neighbour tables
// 1) Compute sizes of all haloes/comms buffers; allocate them. // 1) Compute sizes of all haloes/comms buffers; allocate them.
// 2) Gather all faces, and communicate. // 2) Gather all faces, and communicate.
// 3) Loop over result sites, giving nbr index/offnode info for each // 3) Loop over result sites, giving nbr index/offnode info for each
// //
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
NAMESPACE_BEGIN(Grid); NAMESPACE_BEGIN(Grid);
@ -89,21 +89,21 @@ void Gather_plane_exchange_table(std::vector<std::pair<int,int> >& table,const L
} }
} }
struct StencilEntry { struct StencilEntry {
uint64_t _offset; uint64_t _offset;
uint64_t _byte_offset; uint64_t _byte_offset;
uint16_t _is_local; uint16_t _is_local;
uint16_t _permute; uint16_t _permute;
uint16_t _around_the_world; //256 bits, 32 bytes, 1/2 cacheline uint16_t _around_the_world; //256 bits, 32 bytes, 1/2 cacheline
uint16_t _pad; uint16_t _pad;
}; };
//////////////////////////////////////// ////////////////////////////////////////
// The Stencil Class itself // The Stencil Class itself
//////////////////////////////////////// ////////////////////////////////////////
template<class vobj,class cobj> template<class vobj,class cobj>
class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal fill in. class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal fill in.
public: public:
typedef typename cobj::vector_type vector_type; typedef typename cobj::vector_type vector_type;
typedef typename cobj::scalar_type scalar_type; typedef typename cobj::scalar_type scalar_type;