aboutsummaryrefslogtreecommitdiff
path: root/src/SetupPGH.c
Commit message (Collapse)AuthorAge
* Introduce cctk_ash, retire cctk_lssheschnett2012-07-04
| | | | | | | | | | | | Introduce cctk_ash, describing the process-local array shape that has been allocated. This may be larger than cctk_lsh, the process-local shape that should be used. Retire cctk_lssh and related infrastructure to handle staggered grid functions. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@515 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Correct function signatureseschnett2011-01-21
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@505 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Do not set up topologies for lower-dimensional grid functions if theseschnetter2009-01-28
| | | | | | | | | are not allowed, as indicated by the flesh parameter Cactus::allow_mixeddim_gfs. This prevents problems if such topologies do not exist, e.g. on small grids such as 3x3x200. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@493 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Apply Frank Loeffler's patch to improve the processor distribution ofschnetter2005-09-26
| | | | | | | | | | | | | | | | | | | | | | | | PUGH: Up to now, PUGH does not take the actual grid size into account while setting the number of processors/domains in each direction. This gives problems, e.g. using boxes like 200x7x7 (with 3 ghostzones). It also does not really do a good job in situations with non near-cubic domains (like in bitant mode it devides first in the z-direction, which is usually the smallest). I inserted another decomposition algorithm which is looking for the longest direction and devides this if possible. Because it was done to be easy to understand, it can fail in certain situations, in which it is gracefully falling back to the old decomposition (e.g. a cubic box and 9 processors). To include this algorithm I added a keyword "automatic_old" to PUGH::processor_topology. The new behaviour is the default; this keyword re-enables the old behaviour. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@471 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Using neighbours to correctly setup bbox and ownership arrays.dstark2005-06-20
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@466 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Add missing #include <stddef.h> and #include <stdio.h> statements.schnetter2004-12-30
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@452 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fix for my last commit: destroy groups in ascending order.tradke2004-06-29
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@449 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Don't try to free zero-sized vector groups.tradke2004-06-29
| | | | | | | This closes PR CactusPUGH/1792: "Zero sized vector groups kill PUGH". git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@447 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Since scalars are zero-dim GAs now, need an extra check for the extras andgoodale2004-05-18
| | | | | | | connectivity freeing. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@442 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Adding semicolon after fileversion macro so TAGS work properly.goodale2004-02-05
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@430 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fokke Dijkstra's patch: Added new routine PUGH_SetTopology() which can be calledtradke2004-01-08
| | | | | | | by other thorns to overwrite PUGH's manual topology parameter settings. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@428 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Bug was discovered by Fokke Dijkstra: manual partitioning settings wastradke2003-12-01
| | | | | | | | applied to both grid function and grid array variables. Should be done only for grid functions, of course. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@424 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Allow vector groups of scalars.schnetter2003-11-21
| | | | | | | | | | Allow vector groups with more than one declared variable. Much of this patch consists of removing special case code for scalars. Scalars are now almost everywhere treated as rank 0 arrays. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@423 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Changed PUGH_Abort() to return with the given return code to abort withtradke2003-06-19
| | | | | | | | (and not with 0 as it was before). This fixes PR CactusPUGH/1546. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@411 b61c5cb5-eaca-4651-9a7a-d64986f99364
* PUGH overloadables for CCTK_MyProc(), CCTK_nProcs(), CCTK_Barrier() taketradke2001-10-31
| | | | | | | | a 'const cGH *' argument now. Also fixed a couple of other warnings. Untabified sources. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@357 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Enable/disable storage for CCTK_SCALAR variables. Although memory for thosetradke2001-08-30
| | | | | | | | | | | types is allocated only once (in the first call to CCTK_EnableGroupStorage()) the current state of allocation is kept in a flag for every group. This is returned by CCTK_QueryGroupStorage() then. Main purpose of this is to make the NaNChecker working for CCTK_SCALARs also. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@342 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Included <string.h> for memset.tradke2001-06-14
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@336 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Now PUGH also supports all the fixed-precision CCTK datatypes.tradke2001-06-12
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@334 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Explicitly flush stdout and stderr in PUGH_Abort()tradke2001-06-11
| | | | | | | | | | | since some MPI implementations might just kill the other processes. This should fix PR Cactus-701. Also made pGH_SetupnProcs() static and added grdoc. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@331 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fixed gcc warnings.tradke2001-05-28
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@330 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Making rcsid string a constant - PR 669.goodale2001-05-10
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@324 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fix to make local grid size specification work again with local_nx etc.allen2001-02-23
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@309 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Check that there are enough grid points to make it worthwhile parallelisinggoodale2000-12-14
| | | | | | | | | | | | in a particular direction, if not, set nprocs for that dir to 1. Now test_pw_ADM_leap passes in parallel. Fixed a coding error. Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@290 b61c5cb5-eaca-4651-9a7a-d64986f99364
* PUGH support for CCTK_COMPLEX8 datatype.tradke2000-11-29
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@287 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Destroy the comm buffer, connectivity, and extras structure for each group oncetradke2000-09-18
| | | | | | | before the group's variables are destroyed. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@271 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Checking for a NULL cGH for MyProc and nProcs.goodale2000-09-16
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@269 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Added an index for arrays to the pGA and pGH which is needed to make thatallen2000-09-01
| | | | | | | | | Cache lines are associated uniquely with each timelevel of GA This unique index is used now when storage is assigned for the GA git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@264 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Backing out my change from last night, as it is now redundant.goodale2000-07-21
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@252 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Stopping a coredump from DestroyPGH when thre are variables withgoodale2000-07-20
| | | | | | | | | timelevels. Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@249 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Changed assert(0) to abort() in PUGH_Abort, and commented it out.allen2000-07-20
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@248 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Uncommenting memory freeing on all timelevelsallen2000-07-19
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@245 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Registered reduction routines return an error code, and split reduction.callen2000-07-19
| | | | | | | into several files git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@243 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Putting back the loop over time levels in DestroyPGHallen2000-07-18
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@242 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Changes for CCTK_Exit and CCTK_Abortallen2000-07-14
| | | | | | | | | New argument lists Added MPI_Abort to overload CCTK_Abort git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@240 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Coding style fix and code consistency change.goodale2000-07-09
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@237 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Commit the derived datatype which is used to communicate CCTK_COMPLEX data.tradke2000-06-27
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@233 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Removing loop over timelevels in destroying grid arraysallen2000-06-22
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@227 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Really free comm buffers when destroying a grid array variable.tradke2000-06-22
| | | | | | | | | | | | This fixes a memory leak in PUGH. Also introduced a termination routine for PUGH which destroys the top-most pGH. Now all memory ever allocated by PUGH should be finally freed at CCTK_TERMINATE. Other thorns' termination routines which still need some information from the pGH should register themselfs as "BEFORE Driver_Terminate". git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@226 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fixed initialization of a pGH's identity_string.tradke2000-06-16
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@223 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Enabled PUGH to synchronize groups of arrays in one communication calltradke2000-06-14
| | | | | | | | | | | | | | rather than doing it sequentially on individual arrays. Nothing changes for the CCTK routines overloaded by PUGH. For BAM and other thorns which don't care about groups there is now a separate interface to synchronize individual arrays. Also eliminated the restriction to synchronize 1D and 3D arrays only - now it should do arbitrary dims (not yet tested). git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@222 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Removing an extraneous free.goodale2000-05-11
| | | | | | | | | Fixes PR 346. Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@216 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Small memory leaksallen2000-05-10
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@213 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Changed names of PUGH functions to be uniform. Now all PUGH functionsgoodale2000-04-19
| | | | | | | | | should begin with PUGH. Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@211 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fixing rscid warnings, untabified files, combined identical case statementstradke2000-04-18
| | | | | | | for GROUP_GF and GROUP_ARRAY. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@203 b61c5cb5-eaca-4651-9a7a-d64986f99364
* #define MPI becomes #define CCTK_MPIallen2000-04-04
| | | | | | | Need to reconfigure before your next build git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@196 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Major changes to PUGH as the dearly loved pGF is removed, and a grid functionallen2000-03-23
| | | | | | | | | | | | | | | | | | | | | | | is lowered to being simply a special case of a grid array, pGA. Grid arrays can all have different sizes, which means that now the size of a GA is moved from the GH to a structure on the GA, along with a lot of other connectivity and additional information which was formerly on the GH. If you need to care about these changes, take a look at the files in src/include/pGH.h and src/include/pGA.h, to see the new structures (I'll leave the old files pGF.h and SetupPGF.c around for a while to compare with). Also, look at a PUGH dependent file which has already been converted, such as CactusPUGHIO/IOASCII/src/Write1D.c. Warning: This commit breaks the development versions of IOHDF5 and IsoSurfacer, these will be fixed real quick. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@182 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Completed DestroyPGH(), added DestroyConnectivity() and DestroyPGextras().tradke2000-03-13
| | | | | | | | | | | This should fix the memory leak in BAM as well as running out of MPI_Type_requests. Thomas git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@177 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Fixing compiler warnings about unused variables, missing prototypes,tradke2000-03-08
| | | | | | | | | | | and return values. Fixing CactusPUGH-PUGH 264. Thomas git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@176 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Cosmeticallen2000-03-05
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@170 b61c5cb5-eaca-4651-9a7a-d64986f99364
* Adding periodic option back to PUGH. This is still to be tested.allen2000-03-04
| | | | | | | | | | | | | | | | | | | Periodic boundary conditions are applied during a SyncGroup, at the moment only for multiprocessors (single processor will be added to SyncGroup when multiprocessor is working properly). The parameter is driver::periodic = "yes" When this is tested, periodic boundary conditions in different directions will be added. IOAscii isn't working properly with periodic boundary conditions, this will be fixed soon. (You get two extra nonsense points on each line, if the ghostzone size is 1). git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@168 b61c5cb5-eaca-4651-9a7a-d64986f99364