add a command line option for staticInsertion
authorGengbin Zheng <gzheng@illinois.edu>
Wed, 14 Mar 2012 07:12:35 +0000 (00:12 -0700)
committerGengbin Zheng <gzheng@illinois.edu>
Wed, 14 Mar 2012 07:12:35 +0000 (00:12 -0700)
src/ck-core/ckarray.C
src/ck-core/ckarray.h
src/ck-core/init.C

index 5b65d126375a48d430fdc120bbaa5a2c4c1ef575..ad8f33cdcbd606fa5ee4c00317f97fdd101c77a7 100644 (file)
@@ -61,6 +61,7 @@ Orion Sky Lawlor, olawlor@acm.org
 CpvDeclare(int ,serializer);
 
 bool _isAnytimeMigration;
+bool _isStaticInsertion;
 bool _isNotifyChildInRed;
 
 #define ARRAY_DEBUG_OUTPUT 0
@@ -547,7 +548,7 @@ void CkArrayOptions::init()
 {
     locMgr.setZero();
     anytimeMigration = _isAnytimeMigration;
-    staticInsertion = false;
+    staticInsertion = _isStaticInsertion;
     reductionClient.type = CkCallback::invalid;
     disableNotifyChildInRed = !_isNotifyChildInRed;
     broadcastViaScheduler = false;
index 7ff7656d1fa7f667a2285ba9ee6061b75571cc6f..2d3ab6aacdd821664ee323b5f5056024df61270c 100644 (file)
@@ -41,6 +41,11 @@ CpvExtern (int ,serializer);
  *  (in which case it can only happen between AtSync and ResumeFromSync). */
 extern bool _isAnytimeMigration;
 
+/**
+  Array elements are only inserted at construction
+ */
+extern bool _isStaticInsertion;
+
 /** This flag is true when users are sure there is at least one charm array element
  *  per processor. In such case, when doing reduction on the array, the children
  *  don't need to be notified that reduction starts
index 5fa514a4840c0eabd1786cdf1096c1725a86aac9..d68368e213d63050106afee9aacb8d15214cb2c5 100644 (file)
@@ -318,6 +318,10 @@ static inline void _parseCommandLineOpts(char **argv)
          _isNotifyChildInRed = false;
        }
 
+       _isStaticInsertion = false;
+       if (CmiGetArgFlagDesc(argv,"+staticInsertion","Array elements are only inserted at construction")) {
+         _isStaticInsertion = true;
+       }
 
 #if ! CMK_WITH_CONTROLPOINT
        // Display a warning if charm++ wasn't compiled with control point support but user is expecting it