aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorallen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364>2001-09-16 07:02:12 +0000
committerallen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364>2001-09-16 07:02:12 +0000
commit5c1f3ae9d5de43fe1d47463222791b6cdb49dc47 (patch)
tree18ec3e0b05194b43b2e6e9cc6063edfd403bee48
parentbdd9ee6669ade2e01be8f219bad0837f398fdec9 (diff)
Private parameters to switch off overloading different driver functions.
This is to help people who have thorns providing alternative driver functionality to PUGH git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@345 b61c5cb5-eaca-4651-9a7a-d64986f99364
-rw-r--r--param.ccl49
-rw-r--r--src/Startup.c84
2 files changed, 112 insertions, 21 deletions
diff --git a/param.ccl b/param.ccl
index 3053504..4955537 100644
--- a/param.ccl
+++ b/param.ccl
@@ -217,3 +217,52 @@ INT cacheline_mult "Multiplier for cacheline number"
{
0:* :: "Any positive number"
} 4001
+
+# Provide ability to switch of overloading of individual driver functions
+
+BOOLEAN overloadevolve "Overload Evolve driver function"
+{
+} "yes"
+BOOLEAN overloadsyncgroup "Overload SyncGroup driver function"
+{
+} "yes"
+BOOLEAN overloadenablegroupstorage "Overload EnableGroupStorage driver function"
+{
+} "yes"
+BOOLEAN overloaddisablegroupstorage "Overload DisableGroupStorage driver function"
+{
+} "yes"
+BOOLEAN overloadenablegroupcomm "Overload EnableGroupComm driver function"
+{
+} "yes"
+BOOLEAN overloaddisablegroupcomm "Overload DisableGroupComm driver function"
+{
+} "yes"
+BOOLEAN overloadbarrier "Overload Barrier driver function"
+{
+} "yes"
+BOOLEAN overloadparallelinit "Overload ParallelInit driver function"
+{
+} "yes"
+BOOLEAN overloadexit "Overload Exit driver function"
+{
+} "yes"
+BOOLEAN overloadabort "Overload Abort driver function"
+{
+} "yes"
+BOOLEAN overloadmyproc "Overload MyProc driver function"
+{
+} "yes"
+BOOLEAN overloadnprocs "Overload nProcs driver function"
+{
+} "yes"
+BOOLEAN overloadarraygroupsizeb "Overload ArrayGroupSizeB driver function"
+{
+} "yes"
+BOOLEAN overloadquerygroupstorageb "Overload QueryGroupStorageB driver function"
+{
+} "yes"
+BOOLEAN overloadgroupdynamicdata "Overload GroupDynamicData driver function"
+{
+} "yes"
+
diff --git a/src/Startup.c b/src/Startup.c
index c5334de..31869a4 100644
--- a/src/Startup.c
+++ b/src/Startup.c
@@ -9,6 +9,7 @@
@@*/
#include "cctk.h"
+#include "cctk_Parameters.h"
#include "pugh.h"
#include "pugh_extension.h"
@@ -38,6 +39,8 @@ int PUGH_Startup(void)
{
int pugh_GHExtension;
+ DECLARE_CCTK_PARAMETERS
+
/* Register the stuff in the GH extension. */
pugh_GHExtension = CCTK_RegisterGHExtension("PUGH");
@@ -48,27 +51,66 @@ int PUGH_Startup(void)
CCTK_RegisterGHExtensionScheduleTraverseGH(pugh_GHExtension, PUGH_ScheduleTraverseGH);
/* Overload some functions */
- CCTK_OverloadEvolve(PUGH_Evolve);
- CCTK_OverloadSyncGroup(PUGH_SyncGroup);
- CCTK_OverloadEnableGroupStorage(PUGH_EnableGroupStorage);
- CCTK_OverloadDisableGroupStorage(PUGH_DisableGroupStorage);
-
- CCTK_OverloadEnableGroupComm(PUGH_EnableGroupComm);
- CCTK_OverloadDisableGroupComm(PUGH_DisableGroupComm);
-
- CCTK_OverloadBarrier(PUGH_Barrier);
-
- CCTK_OverloadParallelInit(PUGH_ParallelInit);
- CCTK_OverloadExit(PUGH_Exit);
- CCTK_OverloadAbort(PUGH_Abort);
-
- CCTK_OverloadMyProc(PUGH_MyProc);
- CCTK_OverloadnProcs(PUGH_nProcs);
-
- CCTK_OverloadArrayGroupSizeB(PUGH_ArrayGroupSize);
- CCTK_OverloadQueryGroupStorageB(PUGH_QueryGroupStorage);
-
- CCTK_OverloadGroupDynamicData(PUGH_GroupDynamicData);
+ if (overloadevolve)
+ {
+ CCTK_OverloadEvolve(PUGH_Evolve);
+ }
+ if (overloadsyncgroup)
+ {
+ CCTK_OverloadSyncGroup(PUGH_SyncGroup);
+ }
+ if (overloadenablegroupstorage)
+ {
+ CCTK_OverloadEnableGroupStorage(PUGH_EnableGroupStorage);
+ }
+ if (overloaddisablegroupstorage)
+ {
+ CCTK_OverloadDisableGroupStorage(PUGH_DisableGroupStorage);
+ }
+ if (overloadenablegroupcomm)
+ {
+ CCTK_OverloadEnableGroupComm(PUGH_EnableGroupComm);
+ }
+ if (overloaddisablegroupcomm)
+ {
+ CCTK_OverloadDisableGroupComm(PUGH_DisableGroupComm);
+ }
+ if (overloadbarrier)
+ {
+ CCTK_OverloadBarrier(PUGH_Barrier);
+ }
+ if (overloadparallelinit)
+ {
+ CCTK_OverloadParallelInit(PUGH_ParallelInit);
+ }
+ if (overloadexit)
+ {
+ CCTK_OverloadExit(PUGH_Exit);
+ }
+ if (overloadabort)
+ {
+ CCTK_OverloadAbort(PUGH_Abort);
+ }
+ if (overloadmyproc)
+ {
+ CCTK_OverloadMyProc(PUGH_MyProc);
+ }
+ if (overloadnprocs)
+ {
+ CCTK_OverloadnProcs(PUGH_nProcs);
+ }
+ if (overloadarraygroupsizeb)
+ {
+ CCTK_OverloadArrayGroupSizeB(PUGH_ArrayGroupSize);
+ }
+ if (overloadquerygroupstorageb)
+ {
+ CCTK_OverloadQueryGroupStorageB(PUGH_QueryGroupStorage);
+ }
+ if (overloadgroupdynamicdata)
+ {
+ CCTK_OverloadGroupDynamicData(PUGH_GroupDynamicData);
+ }
/* Register the PUGH banner */
CCTK_RegisterBanner("Driver provided by PUGH");