Cleaned the library to remove redundant function argument and interface
[charm.git] / src / libs / ck-libs / ckloop / CkLoopAPI.h
index 453821872f2314f69475301135668bacf9fd4fe7..4fef9a9e609919db8104a9f516252eb17ce11bf3 100644 (file)
@@ -13,28 +13,17 @@ typedef enum REDUCTION_TYPE {
     CKLOOP_DOUBLE_SUM
 } REDUCTION_TYPE;
 
-#define CKLOOP_USECHARM 1
-#define CKLOOP_PTHREAD 2
-
 class CProxy_FuncCkLoop;
 /*
- * The default mode is intended to be used in SMP mode
- * The next mode that uses pthread is intended to be used in a restricted mode where
- * a node just have one charm PE!
+ * "numThreads" argument is intended to be used in non-SMP mode to specify
+ * the number of pthreads to be spawned. In SMP mode, this argument is
+ * ignored. This function should be called only on one PE, say PE 0.
  **/
-extern CProxy_FuncCkLoop CkLoop_Init(int mode=CKLOOP_USECHARM, int numThreads=0);
+extern CProxy_FuncCkLoop CkLoop_Init(int numThreads=0);
 
-extern void CkLoop_Exit(CProxy_FuncCkLoop ckLoop); /* used to free resources if using pthread mode. It should be called on just one PE, say PE 0 */
+/* used to free resources if using the library in non-SMP mode. It should be called on just one PE, say PE 0 */
+extern void CkLoop_Exit(CProxy_FuncCkLoop ckLoop); 
 
-extern void CkLoop_Parallelize(
-    CProxy_FuncCkLoop ckLoop, /* the proxy to the FuncCkLoop instance */
-    HelperFn func, /* the function that finishes a partial work on another thread */
-    int paramNum, void * param, /* the input parameters for the above func */
-    int numChunks, /* number of chunks to be partitioned */
-    int lowerRange, int upperRange, /* the loop-like parallelization happens in [lowerRange, upperRange] */
-    int sync=1, /* whether the flow will continue unless all chunks have finished */
-    void *redResult=NULL, REDUCTION_TYPE type=CKLOOP_NONE /* the reduction result, ONLY SUPPORT SINGLE VAR of TYPE int/float/double */
-);
 extern void CkLoop_Parallelize(
     HelperFn func, /* the function that finishes a partial work on another thread */
     int paramNum, void * param, /* the input parameters for the above func */