Go to the documentation of this file.
18 #ifndef __RIPLEY_BLOCKTOOLS_H__
19 #define __RIPLEY_BLOCKTOOLS_H__
58 #include <escript/EsysMPI.h>
75 unsigned char srcbuffid;
76 unsigned char destbuffid;
79 typedef std::vector<message>
messvec;
130 double*
getOutBuffer(
unsigned char subx,
unsigned char suby,
unsigned char subz);
135 double*
getInBuffer(
unsigned char subx,
unsigned char suby,
unsigned char subz);
139 size_t getBuffSize(
unsigned char subx,
unsigned char suby,
unsigned char subz);
143 size_t startOffset(
unsigned char subx,
unsigned char suby,
unsigned char subz);
146 void displayBlock(
unsigned char subx,
unsigned char suby,
unsigned char subz,
bool out);
159 void setUsed(
unsigned char buffid);
184 const unsigned int dpsize;
188 int getTag(
unsigned char sourcex,
unsigned char sourcey,
unsigned char sourcez,
189 unsigned char targetx,
unsigned char targety,
unsigned char targetz);
193 int getTag(
unsigned char destx,
unsigned char desty,
unsigned char destz,
194 bool deltax,
bool deltay,
bool deltaz);
198 unsigned char getSrcBuffID(
unsigned char destx,
unsigned char desty,
199 unsigned char destz,
bool deltax,
bool deltay,
231 size_t ymidlen,
unsigned int dpp=1);
237 double*
getOutBuffer(
unsigned char subx,
unsigned char suby);
242 double*
getInBuffer(
unsigned char subx,
unsigned char suby);
246 size_t getBuffSize(
unsigned char subx,
unsigned char suby);
250 size_t startOffset(
unsigned char subx,
unsigned char suby);
253 void displayBlock(
unsigned char subx,
unsigned char suby,
bool out);
266 void setUsed(
unsigned char buffid);
289 const unsigned int dpsize;
294 int getTag2(
unsigned char sourcex,
unsigned char sourcey,
unsigned char targetx,
unsigned char targety);
298 int getTag2(
unsigned char destx,
unsigned char desty,
bool deltax,
bool deltay);
302 unsigned char getSrcBuffID2(
unsigned char destx,
unsigned char desty,
bool deltax,
bool deltay);
304 #endif // __RIPLEY_BLOCKTOOLS_H__
double * getInBuffer(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:133
Block(size_t sx, size_t sy, size_t sz, size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen, unsigned int dpp=1)
Definition: blocktools.cpp:278
void displayBlock(unsigned char subx, unsigned char suby, unsigned char subz, bool out)
Definition: blocktools.cpp:324
double * getOutBuffer(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:123
neighbourID_t sourceID
Definition: blocktools.h:71
void populateOffsetTable(size_t inset, size_t xmidlen, size_t ymidlen)
Definition: blocktools2.cpp:183
size_t startOffset(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:276
size_t sx
Definition: blocktools.h:174
Definition: blocktools.h:68
void createBuffArrays(double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen)
Definition: blocktools2.cpp:205
BlockGrid(coord_t maxx, coord_t maxy, coord_t maxz)
Definition: blocktools.cpp:25
neighbourID_t destID
Definition: blocktools.h:72
const unsigned int dpsize
Definition: blocktools.h:288
size_t buffoffsets[27]
Definition: blocktools.h:170
size_t dims[9][2]
Definition: blocktools.h:280
size_t startOffset(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:310
size_t inset
Definition: blocktools.h:177
size_t sx
Definition: blocktools.h:281
void copyFromBuffer(unsigned char buffid, double *dest)
Definition: blocktools.cpp:387
double * inbuff
Definition: blocktools.h:168
double * outbuff
Definition: blocktools.h:276
void populateDimsTable()
Definition: blocktools2.cpp:165
int tag
Definition: blocktools.h:73
void populateOffsetTable(size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
Definition: blocktools.cpp:215
double * inbuff
Definition: blocktools.h:275
size_t dims[27][3]
Definition: blocktools.h:173
double * getOutBuffer(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:100
const unsigned int dpsize
Definition: blocktools.h:183
double * outbuffptr[9]
Definition: blocktools.h:287
Definition: blocktools.h:225
size_t ymidlen
Definition: blocktools.h:179
double * outbuffptr[27]
Definition: blocktools.h:182
void createBuffArrays(double *startaddress, double *buffptr[27], size_t inset, size_t xmidlen, size_t ymidlen, size_t zmidlen)
Definition: blocktools.cpp:237
void copyAllToBuffer(double *src)
Definition: blocktools.cpp:252
void generateOutNeighbours(coord_t blockx, coord_t blocky, coord_t blockz, messvec &v)
Definition: blocktools.cpp:83
double * outbuff
Definition: blocktools.h:169
coord_t zmax
Definition: blocktools.h:100
Definition: blocktools.h:81
neighbourID_t getNID(coord_t x, coord_t y, coord_t z) const
Definition: blocktools.cpp:29
void copyFromBuffer(unsigned char buffid, double *dest)
Definition: blocktools2.cpp:345
size_t sy
Definition: blocktools.h:282
void generateInNeighbours(coord_t blockx, coord_t blocky, coord_t blockz, messvec &v)
Definition: blocktools.cpp:44
void copyToBuffer(unsigned char buffid, double *src)
Definition: blocktools2.cpp:317
neighbourID_t getNID(coord_t x, coord_t y) const
Definition: blocktools2.cpp:27
double * getInBuffer(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:110
size_t xmidlen
Definition: blocktools.h:178
size_t flatoffsets[9]
Definition: blocktools.h:278
Block2(size_t sx, size_t sy, size_t inset, size_t xmidlen, size_t ymidlen, unsigned int dpp=1)
Definition: blocktools2.cpp:246
size_t flatoffsets[27]
Definition: blocktools.h:171
size_t buffoffsets[9]
Definition: blocktools.h:277
size_t xmidlen
Definition: blocktools.h:284
void populateDimsTable()
Definition: blocktools.cpp:188
size_t getBuffSize(unsigned char subx, unsigned char suby)
Definition: blocktools2.cpp:120
void setUsed(unsigned char buffid)
Definition: blocktools.cpp:247
bool used[9]
Definition: blocktools.h:279
coord_t ymax
Definition: blocktools.h:99
void copyToBuffer(unsigned char buffid, double *src)
Definition: blocktools.cpp:358
void setUsed(unsigned char buffid)
Definition: blocktools2.cpp:215
size_t zmidlen
Definition: blocktools.h:180
bool used[27]
Definition: blocktools.h:172
coord_t xmax
Definition: blocktools.h:98
Definition: blocktools.h:205
size_t getBuffSize(unsigned char subx, unsigned char suby, unsigned char subz)
Definition: blocktools.cpp:143
Definition: blocktools.h:118
size_t sy
Definition: blocktools.h:175
void displayBlock(unsigned char subx, unsigned char suby, bool out)
Definition: blocktools2.cpp:288
BlockGrid2(coord_t maxx, coord_t maxy)
Definition: blocktools2.cpp:23
void copyUsedFromBuffer(double *dest)
Definition: blocktools.cpp:265
coord_t xmax
Definition: blocktools.h:220
size_t sz
Definition: blocktools.h:176
unsigned char destbuffid
Definition: blocktools.h:75
unsigned char srcbuffid
Definition: blocktools.h:74
double * inbuffptr[27]
Definition: blocktools.h:181
size_t ymidlen
Definition: blocktools.h:285
~Block2()
Definition: blocktools2.cpp:159
void copyAllToBuffer(double *src)
Definition: blocktools2.cpp:220
~Block()
Definition: blocktools.cpp:182
size_t inset
Definition: blocktools.h:283
double * inbuffptr[9]
Definition: blocktools.h:286
coord_t ymax
Definition: blocktools.h:221
void generateInNeighbours(coord_t blockx, coord_t blocky, messvec &v)
Definition: blocktools2.cpp:34
void copyUsedFromBuffer(double *dest)
Definition: blocktools2.cpp:233
void generateOutNeighbours(coord_t blockx, coord_t blocky, messvec &v)
Definition: blocktools2.cpp:67