AMPI: drop comm argument from AMPI_Comm_set_migratable and rename to AMPI_Set_migratable 52/2052/2
authorSam White <white67@illinois.edu>
Wed, 14 Dec 2016 19:12:44 +0000 (13:12 -0600)
committerSam White <white67@illinois.edu>
Sat, 21 Jan 2017 03:52:43 +0000 (21:52 -0600)
Change-Id: I3259d1dda1c3d54bd45dfc36e353dd239cf3c562

README.ampi
doc/ampi/manual.tex
src/libs/ck-libs/ampi/ampi.C
src/libs/ck-libs/ampi/ampi.h
src/libs/ck-libs/ampi/ampif.C
src/libs/ck-libs/ampi/ampiimpl.h

index 57f45dc2bb131c68d2ae891c925d040792b1cb27..62bd7dbdfdba0e17c9f5e0b9809b564d4fab9096 100644 (file)
@@ -98,7 +98,7 @@ prefixed with AMPI_:
     * AMPI_Load_start_measure starts load balance information collection.
     * AMPI_Load_stop_measure stops load balance information collection.
     * AMPI_Migrate_to_pe migrates the calling rank to the given PE.
-    * AMPI_Comm_set_migratable sets the migratability of the given communicator.
+    * AMPI_Set_migratable sets the migratability of the calling rank.
     * AMPI_Command_argument_count returns the number of command line arguments
       given to a Fortran AMPI program excluding charmrun and AMPI parameters.
     * AMPI_Get_command_argument returns an argument from the command line
index 9586d9d42c2a64407fdb4e07a2bb3457f6619402..adddb6ebc8a9770de18faaf7591af12521106495 100644 (file)
@@ -273,7 +273,7 @@ with the exception of \texttt{AMPI\_Command\_argument\_count} and
 
 \begin{alltt}
 AMPI_Migrate          AMPI_Register_pup            AMPI_Get_pup_data
-AMPI_Migrate_to_pe    AMPI_Comm_set_migratable     AMPI_Evacuate
+AMPI_Migrate_to_pe    AMPI_Set_migratable          AMPI_Evacuate
 AMPI_Load_set_value   AMPI_Load_start_measure      AMPI_Load_stop_measure
 AMPI_Iget             AMPI_Iget_wait               AMPI_Iget_data
 AMPI_Iget_free        AMPI_Type_is_contiguous      AMPI_Register_main
index a8bbc7d0ada133c3d534c48728be4a49f28547f0..32551f076d13dee7929d2773ed4b01d565ad26a8 100644 (file)
@@ -8892,13 +8892,13 @@ int AMPI_Migrate_to_pe(int dest)
 }
 
 CDECL
-int AMPI_Comm_set_migratable(MPI_Comm comm, int mig){
-  AMPIAPI("AMPI_Comm_set_migratable");
+int AMPI_Set_migratable(int mig)
+{
+  AMPIAPI("AMPI_Set_migratable");
 #if CMK_LBDB_ON
-  ampi *ptr=getAmpiInstance(comm);
-  ptr->setMigratable(mig);
+  getAmpiParent()->setMigratable((mig!=0));
 #else
-  CkPrintf("WARNING: MPI_Comm_set_migratable is not supported in this build of Charm++/AMPI.\n");
+  CkPrintf("WARNING: MPI_Set_migratable is not supported in this build of Charm++/AMPI.\n");
 #endif
   return MPI_SUCCESS;
 }
index 7ebc3efaa26067b3a371fd43d73dad4dafab2deb..c7ab6a8b0201bc270ac24d42f2520673c4541982 100644 (file)
@@ -1017,7 +1017,7 @@ int AMPI_Load_start_measure(void);
 int AMPI_Load_stop_measure(void);
 int AMPI_Load_set_value(double value);
 int AMPI_Migrate_to_pe(int dest);
-int AMPI_Comm_set_migratable(MPI_Comm comm, int mig);
+int AMPI_Set_migratable(int mig);
 int AMPI_Register_pup(MPI_PupFn fn, void *data, int *idx);
 int AMPI_Get_pup_data(int idx, void *data);
 int AMPI_Register_main(MPI_MainFn mainFn, const char *name);
index c6949292a691765fae645db4f359f629a96ced5e..afb0ebe9052f27c6e37f8755d2fd78ba529ecd42 100644 (file)
@@ -1733,8 +1733,8 @@ void ampi_migrate_to_pe(int *dest, int *ierr) {
   *ierr = AMPI_Migrate_to_pe(*dest);
 }
 
-void ampi_comm_set_migratable(int *comm, int *mig, int *ierr) {
-  *ierr = AMPI_Comm_set_migratable(*comm, *mig);
+void ampi_set_migratable(int *mig, int *ierr) {
+  *ierr = AMPI_Set_migratable(*mig);
 }
 
 void ampi_register_main(MPI_MainFn fn, const char *name, int *ierr) {
index b11eaa426d36f87ef01d1cacfe91c6f0753f6b40..6284945cd24314f8a570ff990be54008da139262 100644 (file)
@@ -1328,6 +1328,12 @@ class ampiParent : public CBase_ampiParent {
   void ResumeThread(void);
   TCharm* getTCharmThread() const {return thread;}
 
+#if CMK_LBDB_ON
+  void setMigratable(bool mig) {
+    thread->setMigratable(mig);
+  }
+#endif
+
   inline const ampiCommStruct &comm2CommStruct(MPI_Comm comm) const {
     if (comm==MPI_COMM_WORLD) return worldStruct;
     if (comm==MPI_COMM_SELF) return selfStruct;
@@ -1654,12 +1660,6 @@ class ampi : public CBase_ampi {
 
   CkDDT *getDDT(void) const {return parent->myDDT;}
   CthThread getThread() const { return thread->getThread(); }
-#if CMK_LBDB_ON
-  void setMigratable(int mig) {
-    if(mig) thread->setMigratable(true);
-    else thread->setMigratable(false);
-  }
-#endif
  public:
   /*
    * AmmTable is indexed by the tag and sender.