aboutsummaryrefslogtreecommitdiff
path: root/src/include/pughi.h
diff options
context:
space:
mode:
authorgoodale <goodale@b61c5cb5-eaca-4651-9a7a-d64986f99364>2005-12-14 22:14:41 +0000
committergoodale <goodale@b61c5cb5-eaca-4651-9a7a-d64986f99364>2005-12-14 22:14:41 +0000
commit7cc7be1acf8f2519657e78a8bdee81920b1dc5f5 (patch)
tree8b9ac35a5b9ec0397b2d70af1b88ad64969a94c4 /src/include/pughi.h
parent39c19b80c226f853d899d6e06c84733e22d780bd (diff)
Changes from Dylan Stark to allow registration of topology
routines and introducing a physical to logical processor mapping. Now it is possible to register custom topology routines if you don't like the two ones we have at the moment (the traditional one and the new one from Frank Loeffler). You can also provide routines to optimise the placement of neighbouring processes on the processors by giving a custom mapping from the numbers PUGH uses for the processors to the actual MPI processor. Please treat this registration as semi-volatile for the moment and coordinate with Dylan if you fancy using it. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@475 b61c5cb5-eaca-4651-9a7a-d64986f99364
Diffstat (limited to 'src/include/pughi.h')
-rw-r--r--src/include/pughi.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/include/pughi.h b/src/include/pughi.h
index 84cf6ba..8b4083c 100644
--- a/src/include/pughi.h
+++ b/src/include/pughi.h
@@ -16,6 +16,20 @@ extern "C"
{
#endif
+extern int (*PUGHi_DestroyP2LTranslation) (void *table);
+extern int (*PUGHi_PhysicalToLogical) (void *table, int proc);
+extern int (*PUGHi_LogicalToPhysical) (void *table, int num);
+
+extern int (*PUGHi_GenerateTopology)(int dim,
+ int total_procs,
+ const int *nsize,
+ const int *nghostzones,
+ int *nprocs);
+
+extern void *(*PUGHi_CreateP2LTranslation)(int dim,
+ int *nprocs,
+ int np);
+
pConnectivity *PUGH_SetupConnectivity(int dim,
int total_procs,
const int *nsize,
@@ -50,10 +64,6 @@ void PUGH_DestroyConnectivity(pConnectivity **conn);
void PUGH_DestroyPGExtras(pGExtras **PGExtras);
void PUGH_DestroyPGH(pGH **pughGH);
-int PUGH_GenerateTopology(int dim, int total_procs, int *nprocs);
-int PUGH_GenerateAlternativeTopology(int dim, int total_procs, const int *nsize,
- const int *nghostzones, int *nprocs);
-
int PUGH_GenerateNeighbours(int dim,
int total_procs,
int *nprocs,