Changeset 5695
- Timestamp:
- 11/04/09 17:45:44 (3 weeks ago)
- Location:
- mpich2/trunk
- Files:
-
- 5 modified
-
configure.in (modified) (1 diff)
-
src/mpi/init/finalize.c (modified) (3 diffs)
-
src/mpi/init/init.c (modified) (4 diffs)
-
src/mpi/init/initthread.c (modified) (3 diffs)
-
src/mpi/init/mpi_init.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
mpich2/trunk/configure.in
r5681 r5695 365 365 if test $smpcoll = "yes" ; then 366 366 AC_DEFINE(USE_SMP_COLLECTIVES,1,[define to enable SMP/multi-core aware collectives]) 367 fi 368 369 AC_ARG_ENABLE(async-progress, 370 [--enable-async-progress - Enable support for asynchronous communication progress], 371 async_progress=$enableval,async_progress=no) 372 if test "$async_progress" = "yes" ; then 373 AC_DEFINE(USE_ASYNC_PROGRESS,1,[define to enable asynchronous communication progress]) 367 374 fi 368 375 -
mpich2/trunk/src/mpi/init/finalize.c
r5694 r5695 116 116 static const char FCNAME[] = "MPI_Finalize"; 117 117 int mpi_errno = MPI_SUCCESS; 118 int rc;119 118 #if defined(HAVE_USLEEP) && defined(USE_COVERAGE) 120 119 int rank=0; … … 132 131 /* ... body of routine ... */ 133 132 133 #if defined USE_ASYNC_PROGRESS 134 134 /* If the user requested for asynchronous progress, we need to 135 135 * shutdown the progress thread */ … … 138 138 if (mpi_errno) goto fn_fail; 139 139 } 140 #endif /* USE_ASYNC_PROGRESS */ 140 141 141 142 #if defined(HAVE_USLEEP) && defined(USE_COVERAGE) -
mpich2/trunk/src/mpi/init/init.c
r5694 r5695 31 31 #endif 32 32 33 #if defined USE_ASYNC_PROGRESS 33 34 int MPIR_async_thread_initialized = 0; 35 #endif /* USE_ASYNC_PROGRESS */ 34 36 35 37 #undef FUNCNAME … … 144 146 #endif 145 147 148 #if defined USE_ASYNC_PROGRESS 146 149 /* If the user requested for asynchronous progress, request for 147 150 * THREAD_MULTIPLE. */ … … 150 153 if (rc) 151 154 threadLevel = MPI_THREAD_MULTIPLE; 155 #endif /* USE_ASYNC_PROGRESS */ 152 156 153 157 mpi_errno = MPIR_Init_thread( argc, argv, threadLevel, &provided ); 154 158 if (mpi_errno != MPI_SUCCESS) goto fn_fail; 155 159 156 if (provided == MPI_THREAD_MULTIPLE) { 160 #if defined USE_ASYNC_PROGRESS 161 if (rc && provided == MPI_THREAD_MULTIPLE) { 157 162 mpi_errno = MPIR_Init_async_thread(); 158 163 if (mpi_errno) goto fn_fail; … … 160 165 MPIR_async_thread_initialized = 1; 161 166 } 167 #endif /* USE_ASYNC_PROGRESS */ 162 168 163 169 /* ... end of body of routine ... */ -
mpich2/trunk/src/mpi/init/initthread.c
r5694 r5695 555 555 /* ... body of routine ... */ 556 556 557 #if defined USE_ASYNC_PROGRESS 557 558 /* If the user requested for asynchronous progress, request for 558 559 * THREAD_MULTIPLE. */ … … 561 562 if (rc) 562 563 reqd = MPI_THREAD_MULTIPLE; 564 #endif /* USE_ASYNC_PROGRESS */ 563 565 564 566 mpi_errno = MPIR_Init_thread( argc, argv, reqd, provided ); 565 567 if (mpi_errno != MPI_SUCCESS) goto fn_fail; 566 568 569 #if defined USE_ASYNC_PROGRESS 567 570 if (rc && *provided == MPI_THREAD_MULTIPLE) { 568 571 mpi_errno = MPIR_Init_async_thread(); … … 571 574 MPIR_async_thread_initialized = 1; 572 575 } 576 #endif /* USE_ASYNC_PROGRESS */ 573 577 574 578 /* ... end of body of routine ... */ -
mpich2/trunk/src/mpi/init/mpi_init.h
r5694 r5695 10 10 int MPIR_Finalize_async_thread(void); 11 11 12 #if defined USE_ASYNC_PROGRESS 12 13 extern int MPIR_async_thread_initialized; 14 #endif /* USE_ASYNC_PROGRESS */
