Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid
authorJulien Gossa <julien.gossa@unistra.fr>
Fri, 4 Mar 2016 17:08:01 +0000 (18:08 +0100)
committerJulien Gossa <julien.gossa@unistra.fr>
Fri, 4 Mar 2016 17:08:01 +0000 (18:08 +0100)
I AM THE KING OF THE BINDINGS! FEAR MY POWER!
(and no test has been armed during these commits... Just some cleaning...)

22 files changed:
.gitignore
CMakeLists.txt
include/xbt/xbt_os_thread.h
src/simix/BoostContext.cpp
src/simix/BoostContext.hpp
src/simix/RawContext.cpp
src/simix/UContext.cpp
src/xbt/xbt_os_thread.c
teshsuite/smpi/CMakeLists.txt
teshsuite/smpi/allgather/CMakeLists.txt [deleted file]
teshsuite/smpi/bcast/CMakeLists.txt [deleted file]
teshsuite/smpi/bcast/bcast.c [deleted file]
teshsuite/smpi/bcast/bcast.tesh [deleted file]
teshsuite/smpi/coll-allgather/coll-allgather.c [moved from teshsuite/smpi/allgather/allgather_coll.c with 99% similarity]
teshsuite/smpi/coll-allgather/coll-allgather.tesh [moved from teshsuite/smpi/allgather/allgather_coll.tesh with 97% similarity]
teshsuite/smpi/coll-bcast/coll-bcast.c [moved from teshsuite/smpi/bcast/bcast_coll.c with 88% similarity]
teshsuite/smpi/coll-bcast/coll-bcast.tesh [moved from teshsuite/smpi/bcast/bcast_coll.tesh with 96% similarity]
teshsuite/smpi/indexed/CMakeLists.txt [deleted file]
teshsuite/smpi/type-indexed/type-indexed.c [moved from teshsuite/smpi/indexed/indexed_test.c with 94% similarity]
teshsuite/smpi/type-indexed/type-indexed.tesh [moved from teshsuite/smpi/indexed/indexed.tesh with 94% similarity]
tools/cmake/DefinePackages.cmake
tools/cmake/Tests.cmake

index 7528219..34a055f 100644 (file)
@@ -313,8 +313,7 @@ teshsuite/simdag/platforms/graphicator
 teshsuite/simdag/platforms/is_router_test
 teshsuite/simix/check_defaults/check_defaults
 teshsuite/simix/stack_overflow/stack_overflow
-teshsuite/smpi/allgather/allgather_coll
-teshsuite/smpi/allgather_coll
+teshsuite/smpi/coll-allgather/coll-allgather
 teshsuite/smpi/allgatherv/allgatherv_coll
 teshsuite/smpi/allgatherv_coll
 teshsuite/smpi/allreduce/allreduce
@@ -331,11 +330,7 @@ teshsuite/smpi/alltoallv/alltoallv_coll
 teshsuite/smpi/alltoallv_coll
 teshsuite/smpi/barrier/barrier_coll
 teshsuite/smpi/barrier_coll
-teshsuite/smpi/bcast/bcast
-teshsuite/smpi/bcast/bcast_coll
-teshsuite/smpi/bcast_coll
-teshsuite/smpi/compute2
-teshsuite/smpi/compute3
+teshsuite/smpi/coll-bcast/coll-bcast
 teshsuite/smpi/compute/compute
 teshsuite/smpi/compute/compute2
 teshsuite/smpi/compute/compute3
@@ -343,8 +338,7 @@ teshsuite/smpi/dsend
 teshsuite/smpi/gather_coll
 teshsuite/smpi/gather/gather_coll
 teshsuite/smpi/type-hvector/type-hvector
-teshsuite/smpi/indexed/indexed_test
-teshsuite/smpi/indexed_test
+teshsuite/smpi/type-indexed/type-indexed
 teshsuite/smpi/isp/umpire/abort
 teshsuite/smpi/isp/umpire/abort1
 teshsuite/smpi/isp/umpire/abort2
index 914ee76..eec70e6 100644 (file)
@@ -280,13 +280,12 @@ CHECK_LIBRARY_EXISTS(dl      dlopen                  "" HAVE_DLOPEN_IN_LIBDL)
 CHECK_LIBRARY_EXISTS(execinfo backtrace              "" HAVE_BACKTRACE_IN_LIBEXECINFO)
 CHECK_LIBRARY_EXISTS(rt      clock_gettime           "" HAVE_POSIX_GETTIME)
 
-if(NOT WIN32) # We don't want to have winpthread-1.dll in the jarfile
-  CHECK_LIBRARY_EXISTS(pthread pthread_create          "" HAVE_PTHREAD)
-  CHECK_LIBRARY_EXISTS(pthread sem_init                "" HAVE_SEM_INIT_LIB)
-  CHECK_LIBRARY_EXISTS(pthread sem_open                "" HAVE_SEM_OPEN_LIB)
-  CHECK_LIBRARY_EXISTS(pthread sem_timedwait           "" HAVE_SEM_TIMEDWAIT_LIB)
-  CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB)
-endif()
+CHECK_LIBRARY_EXISTS(pthread pthread_create          "" HAVE_PTHREAD)
+CHECK_LIBRARY_EXISTS(pthread sem_init                "" HAVE_SEM_INIT_LIB)
+CHECK_LIBRARY_EXISTS(pthread sem_open                "" HAVE_SEM_OPEN_LIB)
+CHECK_LIBRARY_EXISTS(pthread sem_timedwait           "" HAVE_SEM_TIMEDWAIT_LIB)
+CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB)
+
 
 if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
   set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE")
index b7d7d95..93efd01 100644 (file)
@@ -27,13 +27,10 @@ typedef struct xbt_os_thread_ *xbt_os_thread_t;
 
 #ifdef _XBT_WIN32 /* defined if this is a windows system, 32bits or 64bits) */
 #include <windows.h>
-typedef DWORD xbt_os_thread_key_t;
-#else /* assume that every non-windows system is POSIX-compatible */
+#endif
 
 #include <pthread.h>
 typedef pthread_key_t xbt_os_thread_key_t;
-#endif
-
 /** Calls pthread_atfork() if present, and raise an exception otherwise.
  *
  * The only known user of this wrapper is mmalloc_preinit(), but it is absolutely mandatory there:
index 3b4e63f..3a7ea34 100644 (file)
@@ -55,7 +55,7 @@ public:
 
 bool                BoostContext::parallel_        = false;
 xbt_parmap_t        BoostContext::parmap_          = nullptr;
-unsigned long       BoostContext::threads_working_ = 0;
+uintptr_t           BoostContext::threads_working_ = 0;
 xbt_os_thread_key_t BoostContext::worker_id_key_;
 unsigned long       BoostContext::process_index_   = 0;
 BoostContext*       BoostContext::maestro_context_ = nullptr;
@@ -245,8 +245,8 @@ void BoostParallelContext::suspend()
   }
   else {
     XBT_DEBUG("No more processes to run");
-    unsigned long worker_id =
-      (unsigned long) xbt_os_thread_get_specific(worker_id_key_);
+    uintptr_t worker_id =
+      (uintptr_t) xbt_os_thread_get_specific(worker_id_key_);
     next_context = static_cast<BoostParallelContext*>(
       workers_context_[worker_id]);
   }
@@ -269,7 +269,7 @@ void BoostParallelContext::stop()
 
 void BoostParallelContext::resume()
 {
-  unsigned long worker_id = __sync_fetch_and_add(&threads_working_, 1);
+  uintptr_t worker_id = __sync_fetch_and_add(&threads_working_, 1);
   xbt_os_thread_set_specific(worker_id_key_, (void*) worker_id);
 
   BoostParallelContext* worker_context =
index 62b6066..032e116 100644 (file)
@@ -31,7 +31,7 @@ protected: // static
   static bool parallel_;
   static xbt_parmap_t parmap_;
   static std::vector<BoostContext*> workers_context_;
-  static unsigned long threads_working_;
+  static uintptr_t threads_working_;
   static xbt_os_thread_key_t worker_id_key_;
   static unsigned long process_index_;
   static BoostContext* maestro_context_;
index 9cbb2df..bb1af0a 100644 (file)
@@ -85,7 +85,7 @@ ContextFactory* raw_factory()
 #ifdef HAVE_THREAD_CONTEXTS
 static xbt_parmap_t raw_parmap;
 static simgrid::simix::RawContext** raw_workers_context;    /* space to save the worker context in each thread */
-static unsigned long raw_threads_working;     /* number of threads that have started their work */
+static uintptr_t raw_threads_working;     /* number of threads that have started their work */
 static xbt_os_thread_key_t raw_worker_id_key; /* thread-specific storage for the thread id */
 #endif
 #ifdef ADAPTIVE_THRESHOLD
@@ -440,10 +440,10 @@ void RawContext::suspend_parallel()
   else {
     /* all processes were run, go to the barrier */
     XBT_DEBUG("No more processes to run");
-    unsigned long worker_id = (unsigned long)(uintptr_t)
+    uintptr_t worker_id = (uintptr_t)
       xbt_os_thread_get_specific(raw_worker_id_key);
     next_context = (RawContext*) raw_workers_context[worker_id];
-    XBT_DEBUG("Restoring worker stack %lu (working threads = %lu)",
+    XBT_DEBUG("Restoring worker stack %zu (working threads = %zu)",
         worker_id, raw_threads_working);
   }
 
@@ -469,11 +469,11 @@ void RawContext::resume_serial()
 void RawContext::resume_parallel()
 {
 #ifdef HAVE_THREAD_CONTEXTS
-  unsigned long worker_id = __sync_fetch_and_add(&raw_threads_working, 1);
-  xbt_os_thread_set_specific(raw_worker_id_key, (void*)(uintptr_t) worker_id);
+  uintptr_t worker_id = __sync_fetch_and_add(&raw_threads_working, 1);
+  xbt_os_thread_set_specific(raw_worker_id_key, (void*) worker_id);
   RawContext* worker_context = (RawContext*) SIMIX_context_self();
   raw_workers_context[worker_id] = worker_context;
-  XBT_DEBUG("Saving worker stack %lu", worker_id);
+  XBT_DEBUG("Saving worker stack %zu", worker_id);
   SIMIX_context_set_current(this);
   raw_swapcontext(&worker_context->stack_top_, this->stack_top_);
 #else
index 1669ed8..6d58316 100644 (file)
@@ -68,7 +68,7 @@ namespace simix {
 #ifdef HAVE_THREAD_CONTEXTS
 static xbt_parmap_t sysv_parmap;
 static simgrid::simix::ParallelUContext** sysv_workers_context;   /* space to save the worker's context in each thread */
-static unsigned long sysv_threads_working;     /* number of threads that have started their work */
+static uintptr_t sysv_threads_working;     /* number of threads that have started their work */
 static xbt_os_thread_key_t sysv_worker_id_key; /* thread-specific storage for the thread id */
 #endif
 static unsigned long sysv_process_index = 0;   /* index of the next process to run in the
@@ -316,7 +316,7 @@ void ParallelUContext::resume()
 {
 #ifdef HAVE_THREAD_CONTEXTS
   // What is my containing body?
-  unsigned long worker_id = __sync_fetch_and_add(&sysv_threads_working, 1);
+  uintptr_t worker_id = __sync_fetch_and_add(&sysv_threads_working, 1);
   // Store the number of my containing body in os-thread-specific area :
   xbt_os_thread_set_specific(sysv_worker_id_key, (void*) worker_id);
   // Get my current soul:
@@ -373,8 +373,8 @@ void ParallelUContext::suspend()
     XBT_DEBUG("No more processes to run");
     // Get back the identity of my body that was stored when starting
     // the scheduling round
-    unsigned long worker_id =
-        (unsigned long) xbt_os_thread_get_specific(sysv_worker_id_key);
+    uintptr_t worker_id =
+        (uintptr_t) xbt_os_thread_get_specific(sysv_worker_id_key);
     // Deduce the initial soul of that body
     next_context = (ParallelUContext*) sysv_workers_context[worker_id];
     // When given that soul, the body will wait for the next scheduling round
index 78c4733..4914b24 100644 (file)
@@ -30,8 +30,6 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_sync_os, xbt,
                                 "Synchronization mechanism (OS-level)");
 
 /* ********************************* PTHREAD IMPLEMENTATION ************************************ */
-#ifndef _XBT_WIN32
-
 #include <pthread.h>
 #include <limits.h>
 #include <semaphore.h>
@@ -699,568 +697,6 @@ void xbt_os_sem_get_value(xbt_os_sem_t sem, int *svalue)
            strerror(errno));
 }
 
-/* ********************************* WINDOWS IMPLEMENTATION ************************************ */
-
-#elif defined(_XBT_WIN32)
-
-#include <math.h>
-
-typedef struct xbt_os_thread_ {
-  char *name;
-  HANDLE handle;                /* the win thread handle        */
-  unsigned long id;             /* the win thread id            */
-  pvoid_f_pvoid_t start_routine;
-  void *param;
-  void *extra_data;
-} s_xbt_os_thread_t;
-
-/* so we can specify the size of the stack of the threads */
-#ifndef STACK_SIZE_PARAM_IS_A_RESERVATION
-#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
-#endif
-
-/* the default size of the stack of the threads (in bytes)*/
-#define XBT_DEFAULT_THREAD_STACK_SIZE  4096
-static int stack_size=0;
-/* key to the TLS containing the xbt_os_thread_t structure */
-static unsigned long xbt_self_thread_key;
-
-void xbt_os_thread_mod_preinit(void)
-{
-  xbt_self_thread_key = TlsAlloc();
-
-  xbt_os_thread_t main_thread = xbt_new0(s_xbt_os_thread_t, 1);
-  main_thread->name = (char *) "main";
-  main_thread->start_routine = NULL;
-  main_thread->param = NULL;
-
-  if (!TlsSetValue(xbt_self_thread_key, main_thread))
-    THROWF(system_error, (int)GetLastError(),
-           "Impossible to set the SimGrid identity descriptor to the main thread (TlsSetValue() failed)");
-
-}
-
-void xbt_os_thread_mod_postexit(void)
-{
-
-  if (!TlsFree(xbt_self_thread_key))
-    THROWF(system_error, (int) GetLastError(),
-           "TlsFree() failed to cleanup the thread submodule");
-}
-
-int xbt_os_thread_atfork(void (*prepare)(void),
-                         void (*parent)(void), void (*child)(void))
-{
-  return 0;
-}
-
-static DWORD WINAPI wrapper_start_routine(void *s)
-{
-  xbt_os_thread_t t = (xbt_os_thread_t) s;
-  DWORD *rv;
-
-  if (!TlsSetValue(xbt_self_thread_key, t))
-    THROWF(system_error, (int) GetLastError(),
-           "TlsSetValue of data describing the created thread failed");
-
-  rv = (DWORD *) ((t->start_routine) (t->param));
-
-  return rv ? *rv : 0;
-
-}
-
-
-xbt_os_thread_t xbt_os_thread_create(const char *name,
-                                     pvoid_f_pvoid_t start_routine,
-                                     void *param,
-                                     void *extra_data)
-{
-
-  xbt_os_thread_t t = xbt_new(s_xbt_os_thread_t, 1);
-
-  t->name = xbt_strdup(name);
-  t->start_routine = start_routine;
-  t->param = param;
-  t->extra_data = extra_data;
-  t->handle = CreateThread(NULL, stack_size==0 ? XBT_DEFAULT_THREAD_STACK_SIZE : stack_size,
-                           (LPTHREAD_START_ROUTINE) wrapper_start_routine,
-                           t, STACK_SIZE_PARAM_IS_A_RESERVATION, &(t->id));
-
-  if (!t->handle) {
-    xbt_free(t);
-    THROWF(system_error, (int) GetLastError(), "CreateThread failed");
-  }
-
-  return t;
-}
-
-void xbt_os_thread_setstacksize(int size)
-{
-  stack_size = size;
-}
-
-void xbt_os_thread_setguardsize(int size)
-{
-  XBT_WARN("xbt_os_thread_setguardsize is not implemented (%d)", size);
-}
-
-const char *xbt_os_thread_name(xbt_os_thread_t t)
-{
-  return t->name;
-}
-
-const char *xbt_os_thread_self_name(void)
-{
-  xbt_os_thread_t t = xbt_os_thread_self();
-  return t ? t->name : "main";
-}
-
-void xbt_os_thread_join(xbt_os_thread_t thread, void **thread_return)
-{
-
-  if (WAIT_OBJECT_0 != WaitForSingleObject(thread->handle, INFINITE))
-    THROWF(system_error, (int) GetLastError(),
-           "WaitForSingleObject failed");
-
-  if (thread_return) {
-
-    if (!GetExitCodeThread(thread->handle, (DWORD *) (*thread_return)))
-      THROWF(system_error, (int) GetLastError(),
-             "GetExitCodeThread failed");
-  }
-
-  CloseHandle(thread->handle);
-
-  free(thread->name);
-
-  free(thread);
-}
-
-void xbt_os_thread_exit(int *retval)
-{
-  if (retval)
-    ExitThread(*retval);
-  else
-    ExitThread(0);
-}
-
-void xbt_os_thread_key_create(xbt_os_thread_key_t* key) {
-
-  *key = TlsAlloc();
-}
-
-void xbt_os_thread_set_specific(xbt_os_thread_key_t key, void* value) {
-
-  if (!TlsSetValue(key, value))
-    THROWF(system_error, (int) GetLastError(), "TlsSetValue() failed");
-}
-
-void* xbt_os_thread_get_specific(xbt_os_thread_key_t key) {
-  return TlsGetValue(key);
-}
-
-void xbt_os_thread_detach(xbt_os_thread_t thread)
-{
-  THROW_UNIMPLEMENTED;
-}
-
-
-xbt_os_thread_t xbt_os_thread_self(void)
-{
-  return TlsGetValue(xbt_self_thread_key);
-}
-
-void *xbt_os_thread_getparam(void)
-{
-  xbt_os_thread_t t = xbt_os_thread_self();
-  return t->param;
-}
-
-
-void xbt_os_thread_yield(void)
-{
-  Sleep(0);
-}
-
-void xbt_os_thread_cancel(xbt_os_thread_t t)
-{
-  if (!TerminateThread(t->handle, 0))
-    THROWF(system_error, (int) GetLastError(), "TerminateThread failed");
-}
-
-/****** mutex related functions ******/
-typedef struct xbt_os_mutex_ {
-  /* KEEP IT IN SYNC WITH xbt_thread.c */
-  CRITICAL_SECTION lock;
-} s_xbt_os_mutex_t;
-
-xbt_os_mutex_t xbt_os_mutex_init(void)
-{
-  xbt_os_mutex_t res = xbt_new(s_xbt_os_mutex_t, 1);
-
-  /* initialize the critical section object */
-  InitializeCriticalSection(&(res->lock));
-
-  return res;
-}
-
-void xbt_os_mutex_acquire(xbt_os_mutex_t mutex)
-{
-  EnterCriticalSection(&mutex->lock);
-}
-
-void xbt_os_mutex_timedacquire(xbt_os_mutex_t mutex, double delay)
-{
-  THROW_UNIMPLEMENTED;
-}
-
-void xbt_os_mutex_release(xbt_os_mutex_t mutex)
-{
-
-  LeaveCriticalSection(&mutex->lock);
-
-}
-
-void xbt_os_mutex_destroy(xbt_os_mutex_t mutex)
-{
-
-  if (!mutex)
-    return;
-
-  DeleteCriticalSection(&mutex->lock);
-  free(mutex);
-}
-
-/***** condition related functions *****/
-enum {                          /* KEEP IT IN SYNC WITH xbt_thread.c */
-  SIGNAL = 0,
-  BROADCAST = 1,
-  MAX_EVENTS = 2
-};
-
-typedef struct xbt_os_cond_ {
-  /* KEEP IT IN SYNC WITH xbt_thread.c */
-  HANDLE events[MAX_EVENTS];
-
-  unsigned int waiters_count;   /* the number of waiters                        */
-  CRITICAL_SECTION waiters_count_lock;  /* protect access to waiters_count  */
-} s_xbt_os_cond_t;
-
-xbt_os_cond_t xbt_os_cond_init(void)
-{
-
-  xbt_os_cond_t res = xbt_new0(s_xbt_os_cond_t, 1);
-
-  memset(&res->waiters_count_lock, 0, sizeof(CRITICAL_SECTION));
-
-  /* initialize the critical section object */
-  InitializeCriticalSection(&res->waiters_count_lock);
-
-  res->waiters_count = 0;
-
-  /* Create an auto-reset event */
-  res->events[SIGNAL] = CreateEvent(NULL, FALSE, FALSE, NULL);
-
-  if (!res->events[SIGNAL]) {
-    DeleteCriticalSection(&res->waiters_count_lock);
-    free(res);
-    THROWF(system_error, 0, "CreateEvent failed for the signals");
-  }
-
-  /* Create a manual-reset event. */
-  res->events[BROADCAST] = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-  if (!res->events[BROADCAST]) {
-
-    DeleteCriticalSection(&res->waiters_count_lock);
-    CloseHandle(res->events[SIGNAL]);
-    free(res);
-    THROWF(system_error, 0, "CreateEvent failed for the broadcasts");
-  }
-
-  return res;
-}
-
-void xbt_os_cond_wait(xbt_os_cond_t cond, xbt_os_mutex_t mutex)
-{
-
-  unsigned long wait_result;
-  int is_last_waiter;
-
-  /* lock the threads counter and increment it */
-  EnterCriticalSection(&cond->waiters_count_lock);
-  cond->waiters_count++;
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  /* unlock the mutex associate with the condition */
-  LeaveCriticalSection(&mutex->lock);
-
-  /* wait for a signal (broadcast or no) */
-  wait_result = WaitForMultipleObjects(2, cond->events, FALSE, INFINITE);
-
-  if (wait_result == WAIT_FAILED)
-    THROWF(system_error, 0,
-           "WaitForMultipleObjects failed, so we cannot wait on the condition");
-
-  /* we have a signal lock the condition */
-  EnterCriticalSection(&cond->waiters_count_lock);
-  cond->waiters_count--;
-
-  /* it's the last waiter or it's a broadcast ? */
-  is_last_waiter = ((wait_result == WAIT_OBJECT_0 + BROADCAST - 1)
-                    && (cond->waiters_count == 0));
-
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  /* yes it's the last waiter or it's a broadcast
-   * only reset the manual event (the automatic event is reset in the WaitForMultipleObjects() function
-   * by the system.
-   */
-  if (is_last_waiter)
-    if (!ResetEvent(cond->events[BROADCAST]))
-      THROWF(system_error, 0, "ResetEvent failed");
-
-  /* relock the mutex associated with the condition in accordance with the posix thread specification */
-  EnterCriticalSection(&mutex->lock);
-}
-
-void xbt_os_cond_timedwait(xbt_os_cond_t cond, xbt_os_mutex_t mutex,
-                           double delay)
-{
-
-  unsigned long wait_result = WAIT_TIMEOUT;
-  int is_last_waiter;
-  unsigned long end = (unsigned long) (delay * 1000);
-
-
-  if (delay < 0) {
-    xbt_os_cond_wait(cond, mutex);
-  } else {
-    XBT_DEBUG("xbt_cond_timedwait(%p,%p,%lu)", &(cond->events),
-           &(mutex->lock), end);
-
-    /* lock the threads counter and increment it */
-    EnterCriticalSection(&cond->waiters_count_lock);
-    cond->waiters_count++;
-    LeaveCriticalSection(&cond->waiters_count_lock);
-
-    /* unlock the mutex associate with the condition */
-    LeaveCriticalSection(&mutex->lock);
-    /* wait for a signal (broadcast or no) */
-
-    wait_result = WaitForMultipleObjects(2, cond->events, FALSE, end);
-
-    switch (wait_result) {
-    case WAIT_TIMEOUT:
-      THROWF(timeout_error, GetLastError(),
-             "condition %p (mutex %p) wasn't signaled before timeout (%f)",
-             cond, mutex, delay);
-    case WAIT_FAILED:
-      THROWF(system_error, GetLastError(),
-             "WaitForMultipleObjects failed, so we cannot wait on the condition");
-    }
-
-    /* we have a signal lock the condition */
-    EnterCriticalSection(&cond->waiters_count_lock);
-    cond->waiters_count--;
-
-    /* it's the last waiter or it's a broadcast ? */
-    is_last_waiter = ((wait_result == WAIT_OBJECT_0 + BROADCAST - 1)
-                      && (cond->waiters_count == 0));
-
-    LeaveCriticalSection(&cond->waiters_count_lock);
-
-    /* yes it's the last waiter or it's a broadcast
-     * only reset the manual event (the automatic event is reset in the WaitForMultipleObjects() function
-     * by the system.
-     */
-    if (is_last_waiter)
-      if (!ResetEvent(cond->events[BROADCAST]))
-        THROWF(system_error, 0, "ResetEvent failed");
-
-    /* relock the mutex associated with the condition in accordance with the posix thread specification */
-    EnterCriticalSection(&mutex->lock);
-  }
-  /*THROW_UNIMPLEMENTED; */
-}
-
-void xbt_os_cond_signal(xbt_os_cond_t cond)
-{
-  int have_waiters;
-
-  EnterCriticalSection(&cond->waiters_count_lock);
-  have_waiters = cond->waiters_count > 0;
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  if (have_waiters)
-    if (!SetEvent(cond->events[SIGNAL]))
-      THROWF(system_error, 0, "SetEvent failed");
-
-  xbt_os_thread_yield();
-}
-
-void xbt_os_cond_broadcast(xbt_os_cond_t cond)
-{
-  int have_waiters;
-
-  EnterCriticalSection(&cond->waiters_count_lock);
-  have_waiters = cond->waiters_count > 0;
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  if (have_waiters)
-    SetEvent(cond->events[BROADCAST]);
-}
-
-void xbt_os_cond_destroy(xbt_os_cond_t cond)
-{
-  int error = 0;
-
-  if (!cond)
-    return;
-
-  if (!CloseHandle(cond->events[SIGNAL]))
-    error = 1;
-
-  if (!CloseHandle(cond->events[BROADCAST]))
-    error = 1;
-
-  DeleteCriticalSection(&cond->waiters_count_lock);
-
-  xbt_free(cond);
-
-  if (error)
-    THROWF(system_error, 0, "Error while destroying the condition");
-}
-
-typedef struct xbt_os_sem_ {
-  HANDLE h;
-  unsigned int value;
-  CRITICAL_SECTION value_lock;  /* protect access to value of the semaphore  */
-} s_xbt_os_sem_t;
-
-#ifndef INT_MAX
-# define INT_MAX 32767          /* let's be safe by underestimating this value: this is for 16bits only */
-#endif
-
-xbt_os_sem_t xbt_os_sem_init(unsigned int value)
-{
-  xbt_os_sem_t res;
-
-  if (value > INT_MAX)
-    THROWF(arg_error, value,
-           "Semaphore initial value too big: %ud cannot be stored as a signed int",
-           value);
-
-  res = (xbt_os_sem_t) xbt_new0(s_xbt_os_sem_t, 1);
-
-  if (!(res->h = CreateSemaphore(NULL, value, (long) INT_MAX, NULL))) {
-    THROWF(system_error, GetLastError(), "CreateSemaphore() failed: %s",
-           strerror(GetLastError()));
-    return NULL;
-  }
-
-  res->value = value;
-
-  InitializeCriticalSection(&(res->value_lock));
-
-  return res;
-}
-
-void xbt_os_sem_acquire(xbt_os_sem_t sem)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot acquire the NULL semaphore");
-
-  /* wait failure */
-  if (WAIT_OBJECT_0 != WaitForSingleObject(sem->h, INFINITE))
-    THROWF(system_error, GetLastError(),
-           "WaitForSingleObject() failed: %s", strerror(GetLastError()));
-  EnterCriticalSection(&(sem->value_lock));
-  sem->value--;
-  LeaveCriticalSection(&(sem->value_lock));
-}
-
-void xbt_os_sem_timedacquire(xbt_os_sem_t sem, double timeout)
-{
-  long seconds;
-  long milliseconds;
-  double end = timeout + xbt_os_time();
-
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot acquire the NULL semaphore");
-
-  if (timeout < 0) {
-    xbt_os_sem_acquire(sem);
-  } else {                      /* timeout can be zero <-> try acquire ) */
-
-
-    seconds = (long) floor(end);
-    milliseconds = (long) ((end - seconds) * 1000);
-    milliseconds += (seconds * 1000);
-
-    switch (WaitForSingleObject(sem->h, milliseconds)) {
-    case WAIT_OBJECT_0:
-      EnterCriticalSection(&(sem->value_lock));
-      sem->value--;
-      LeaveCriticalSection(&(sem->value_lock));
-      return;
-
-    case WAIT_TIMEOUT:
-      THROWF(timeout_error, GetLastError(),
-             "semaphore %p wasn't signaled before timeout (%f)", sem,
-             timeout);
-      return;
-
-    default:
-      THROWF(system_error, GetLastError(),
-             "WaitForSingleObject(%p,%f) failed: %s", sem, timeout,
-             strerror(GetLastError()));
-    }
-  }
-}
-
-void xbt_os_sem_release(xbt_os_sem_t sem)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot release the NULL semaphore");
-
-  if (!ReleaseSemaphore(sem->h, 1, NULL))
-    THROWF(system_error, GetLastError(), "ReleaseSemaphore() failed: %s",
-           strerror(GetLastError()));
-  EnterCriticalSection(&(sem->value_lock));
-  sem->value++;
-  LeaveCriticalSection(&(sem->value_lock));
-}
-
-void xbt_os_sem_destroy(xbt_os_sem_t sem)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot destroy the NULL semaphore");
-
-  if (!CloseHandle(sem->h))
-    THROWF(system_error, GetLastError(), "CloseHandle() failed: %s",
-           strerror(GetLastError()));
-
-  DeleteCriticalSection(&(sem->value_lock));
-
-  xbt_free(sem);
-
-}
-
-void xbt_os_sem_get_value(xbt_os_sem_t sem, int *svalue)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL,
-           "Cannot get the value of the NULL semaphore");
-
-  EnterCriticalSection(&(sem->value_lock));
-  *svalue = sem->value;
-  LeaveCriticalSection(&(sem->value_lock));
-}
-
-
-#endif
-
 
 /** @brief Returns the amount of cores on the current host */
 int xbt_os_get_numcores(void) {
index 6b946c1..530c91a 100644 (file)
@@ -6,7 +6,7 @@ if(enable_smpi)
   endif()
 
   include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
-  foreach(x type-hvector type-struct type-vector)
+  foreach(x coll-allgather coll-bcast type-hvector type-indexed type-struct type-vector)
     add_executable       (${x}  ${x}/${x}.c)
     target_link_libraries(${x}  simgrid)
     set_target_properties(${x}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
@@ -14,7 +14,19 @@ if(enable_smpi)
     set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
     set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c)
 
-    ADD_TESH_FACTORIES(tesh-smpi-${x} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/${x} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/${x} ${x}.tesh)
+     ADD_TESH_FACTORIES(tesh-smpi-${x} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/${x} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/${x} ${x}.tesh)
+  endforeach()
+
+  foreach (ALLGATHER_COLL 2dmesh 3dmesh bruck GB loosely_lr NTSLR_NB pair rdb  rhv ring SMP_NTS smp_simple 
+                          spreading_simple ompi mpich ompi_neighborexchange mvapich2 mvapich2_smp impi)
+    ADD_TESH(tesh-smpi-coll-allgather-${ALLGATHER_COLL} --cfg smpi/allgather:${ALLGATHER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-allgather --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-allgather coll-allgather.tesh)
+  endforeach()
+
+  foreach (BCAST_COLL arrival_pattern_aware arrival_pattern_aware_wait arrival_scatter binomial_tree flattree 
+                      flattree_pipeline NTSB NTSL NTSL_Isend scatter_LR_allgather scatter_rdb_allgather SMP_binary 
+                      SMP_binomial SMP_linear ompi mpich ompi_split_bintree ompi_pipeline mvapich2 mvapich2_intra_node 
+                      mvapich2_knomial_intra_node impi)
+    ADD_TESH(tesh-smpi-coll-bcast-${BCAST_COLL} --cfg smpi/bcast:${BCAST_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-bcast --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-bcast coll-bcast.tesh)
   endforeach()
 endif()
 
diff --git a/teshsuite/smpi/allgather/CMakeLists.txt b/teshsuite/smpi/allgather/CMakeLists.txt
deleted file mode 100644 (file)
index 115a521..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-if(enable_smpi)
-  if(WIN32)
-    set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
-  else()
-    set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
-  endif()
-  include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
-
-  add_executable       (allgather_coll allgather_coll.c)
-  target_link_libraries(allgather_coll simgrid)
-endif()
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/allgather_coll.tesh
-  PARENT_SCOPE)
-set(examples_src
-  ${examples_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/allgather_coll.c
-  PARENT_SCOPE)
diff --git a/teshsuite/smpi/bcast/CMakeLists.txt b/teshsuite/smpi/bcast/CMakeLists.txt
deleted file mode 100644 (file)
index 9789588..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-if(enable_smpi)
-  if(WIN32)
-    set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
-  else()
-    set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
-  endif()
-  include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
-
-  add_executable       (bcast bcast.c)
-  target_link_libraries(bcast simgrid)
-  add_executable       (bcast_coll bcast_coll.c)
-  target_link_libraries(bcast_coll simgrid)
-endif()
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast.tesh
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast_coll.tesh
-  PARENT_SCOPE)
-set(examples_src
-  ${examples_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast_coll.c
-  PARENT_SCOPE)
diff --git a/teshsuite/smpi/bcast/bcast.c b/teshsuite/smpi/bcast/bcast.c
deleted file mode 100644 (file)
index e0bff2d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (c) 2009, 2012-2014. The SimGrid Team.
- * All rights reserved.                                                     */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#include <stdio.h>
-#include <mpi.h>
-
-int main(int argc, char **argv)
-{
-  int size, rank;
-  int value = 3;
-  double start_timer;
-  int quiet = 0;
-
-  MPI_Init(&argc, &argv);
-  MPI_Comm_size(MPI_COMM_WORLD, &size);
-  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-
-  if (argc > 1 && !strcmp(argv[1], "-q"))
-    quiet = 1;
-
-  start_timer = MPI_Wtime();
-
-  if (0 == rank) {
-    value = 17;
-  }
-  MPI_Bcast(&value, 1, MPI_INT, 0, MPI_COMM_WORLD);
-  if (value != 17) {
-    printf("node %d has value %d after broadcast\n", rank, value);
-  }
-
-  MPI_Barrier(MPI_COMM_WORLD);
-  if (0 == rank && !quiet)
-    printf("Elapsed time on rank %d: %f s\n", rank,
-           MPI_Wtime() - start_timer);
-  MPI_Finalize();
-  return 0;
-}
diff --git a/teshsuite/smpi/bcast/bcast.tesh b/teshsuite/smpi/bcast/bcast.tesh
deleted file mode 100644 (file)
index 52b639a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# use the tested library, not the installed one
-# (since we want to pass it to the child, it has to be redefined before each command)
-# Go for the first test
-p Test Broadcast with less processes than hosts
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 3 ${bindir:=.}/bcast -q --log=smpi_kernel.thres:warning
-> [rank 0] -> Tremblay
-> [rank 1] -> Tremblay
-> [rank 2] -> Tremblay
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-
-# second test
-p Test Broadcast with as much processes than hosts
-! setenv LD_LIBRARY_PATH=../../lib
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 5 ${bindir:=.}/bcast -q --log=smpi_kernel.thres:warning
-> [rank 0] -> Tremblay
-> [rank 1] -> Tremblay
-> [rank 2] -> Tremblay
-> [rank 3] -> Tremblay
-> [rank 4] -> Jupiter
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-
-# Another test
-p Test Broadcast with more processes than hosts
-! setenv LD_LIBRARY_PATH=../../lib
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 12 ${bindir:=.}/bcast -q --log=smpi_kernel.thres:warning
-> [rank 0] -> Tremblay
-> [rank 1] -> Tremblay
-> [rank 2] -> Tremblay
-> [rank 3] -> Tremblay
-> [rank 4] -> Jupiter
-> [rank 5] -> Jupiter
-> [rank 6] -> Jupiter
-> [rank 7] -> Jupiter
-> [rank 8] -> Fafard
-> [rank 9] -> Fafard
-> [rank 10] -> Fafard
-> [rank 11] -> Fafard
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
similarity index 99%
rename from teshsuite/smpi/allgather/allgather_coll.c
rename to teshsuite/smpi/coll-allgather/coll-allgather.c
index 045154b..753aef8 100644 (file)
@@ -48,7 +48,6 @@ int main(int argc, char *argv[])
     printf("%d ", rb[i]);
   printf("]\n");
 
-
   if (rank == 0) {
     if (status != MPI_SUCCESS) {
       printf("allgather returned %d\n", status);
@@ -3,7 +3,7 @@
 ! output sort
 
 p Test all to all
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/allgather_coll --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
+$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-allgather --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
 > [rank 0] -> Tremblay
 > [rank 1] -> Tremblay
 > [rank 2] -> Tremblay
similarity index 88%
rename from teshsuite/smpi/bcast/bcast_coll.c
rename to teshsuite/smpi/coll-bcast/coll-bcast.c
index bceaf40..0e22735 100644 (file)
@@ -11,14 +11,12 @@ int main(int argc, char **argv)
 {
   int i, size, rank;
   int count = 2048;
-  int *values;
-  int status;
 
   MPI_Init(&argc, &argv);
   MPI_Comm_size(MPI_COMM_WORLD, &size);
   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-  
-  values = (int *) xbt_malloc(count * sizeof(int));  
+
+  int *values = (int *) xbt_malloc(count * sizeof(int));
 
   for (i = 0; i < count; i++)
     values[i] = (0 == rank) ? 17 : 3;
@@ -39,16 +37,13 @@ int main(int argc, char **argv)
   for (i = 0; i < count; i++)
     values[i] = (size -1 == rank) ? 17 : 3;
 
-  status = MPI_Bcast(values, count, MPI_INT, size-1, MPI_COMM_WORLD);
+  int status = MPI_Bcast(values, count, MPI_INT, size-1, MPI_COMM_WORLD);
 
   good = 0;
   for (i = 0; i < count; i++)
     if (values[i]==17) good++;
   printf("[%d] number of values equals to 17: %d\n", rank, good);
 
-
-  
-  
   if (rank == 0) {
     if (status != MPI_SUCCESS) {
       printf("bcast returned %d\n", status);
similarity index 96%
rename from teshsuite/smpi/bcast/bcast_coll.tesh
rename to teshsuite/smpi/coll-bcast/coll-bcast.tesh
index d4201b9..9155454 100644 (file)
@@ -2,7 +2,7 @@ p Test Broadcast with more processes than hosts
 ! setenv LD_LIBRARY_PATH=../../lib
 ! output sort
 
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/bcast_coll --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
+$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-bcast --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
 > [rank 0] -> Tremblay
 > [rank 1] -> Tremblay
 > [rank 2] -> Tremblay
diff --git a/teshsuite/smpi/indexed/CMakeLists.txt b/teshsuite/smpi/indexed/CMakeLists.txt
deleted file mode 100644 (file)
index c0b9b2e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-if(enable_smpi)
-  if(WIN32)
-    set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
-  else()
-    set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
-  endif()
-  include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
-
-  add_executable       (indexed_test indexed_test.c)
-  target_link_libraries(indexed_test simgrid)
-endif()
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/indexed.tesh
-  PARENT_SCOPE)
-set(examples_src
-  ${examples_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/indexed_test.c
-  PARENT_SCOPE)
similarity index 94%
rename from teshsuite/smpi/indexed/indexed_test.c
rename to teshsuite/smpi/type-indexed/type-indexed.c
index 4ceed68..aba7275 100644 (file)
@@ -18,8 +18,7 @@ int main(int argc, char *argv[])
 
     MPI_Init(&argc, &argv);
     MPI_Comm_size(MPI_COMM_WORLD, &size);
-    if (size < 2)
-    {
+    if (size < 2) {
         printf("Please run with 2 processes.\n");
         MPI_Finalize();
         return 1;
@@ -31,15 +30,13 @@ int main(int argc, char *argv[])
     MPI_Type_indexed(3, blocklen, displacement, type2, &type);
     MPI_Type_commit(&type);
 
-    if (rank == 0)
-    {
+    if (rank == 0) {
         for (i=0; i<27; i++)
             buffer[i] = i;
         MPI_Send(buffer, 1, type, 1, 123, MPI_COMM_WORLD);
     }
 
-    if (rank == 1)
-    {
+    if (rank == 1) {
         for (i=0; i<27; i++)
             buffer[i] = -1;
         MPI_Recv(buffer, 1, type, 0, 123, MPI_COMM_WORLD, &status);
similarity index 94%
rename from teshsuite/smpi/indexed/indexed.tesh
rename to teshsuite/smpi/type-indexed/type-indexed.tesh
index 75053c4..7ee71b5 100644 (file)
@@ -1,7 +1,7 @@
 p Test indexed
 ! setenv LD_LIBRARY_PATH=../../lib
 ! output sort
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/indexed_test -q --log=smpi_kernel.thres:warning
+$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/type-indexed -q --log=smpi_kernel.thres:warning
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
 > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
index 0ea82f6..03265d6 100644 (file)
@@ -1052,16 +1052,13 @@ set(CMAKEFILES_TXT
   teshsuite/simix/stack_overflow/CMakeLists.txt
   
   teshsuite/smpi/CMakeLists.txt
-  teshsuite/smpi/allgather/CMakeLists.txt
   teshsuite/smpi/allgatherv/CMakeLists.txt
   teshsuite/smpi/allreduce/CMakeLists.txt
   teshsuite/smpi/alltoall/CMakeLists.txt
   teshsuite/smpi/alltoallv/CMakeLists.txt
   teshsuite/smpi/barrier/CMakeLists.txt
-  teshsuite/smpi/bcast/CMakeLists.txt
   teshsuite/smpi/compute/CMakeLists.txt
   teshsuite/smpi/gather/CMakeLists.txt
-  teshsuite/smpi/indexed/CMakeLists.txt
   teshsuite/smpi/pingpong/CMakeLists.txt
   teshsuite/smpi/reduce/CMakeLists.txt
   teshsuite/smpi/scatter/CMakeLists.txt
index 772a7c6..14da841 100644 (file)
@@ -173,7 +173,6 @@ IF(NOT enable_memcheck)
   #ADD_TESH(test-xbt-parmap                         --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/parmap_bench --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parmap_bench parmap_bench.tesh)
   # END TESH TESTS
 
-
   ## INTERFACES ##
   ### MSG ###
   # BEGIN TESH TESTS
@@ -257,7 +256,6 @@ IF(NOT enable_memcheck)
   ADD_TESH_FACTORIES(s4u-basic "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/examples/s4u/basic --cd ${CMAKE_HOME_DIRECTORY}/examples/s4u/basic s4u_basic.tesh)
   ADD_TESH_FACTORIES(s4u-io "thread;ucontext;raw;boost"    --setenv bindir=${CMAKE_BINARY_DIR}/examples/s4u/io --cd ${CMAKE_HOME_DIRECTORY}/examples/s4u/io s4u_io.tesh)
 
-
   ### SIMDAG ###
   # BEGIN TESH TESTS
   # these tests need the assertion mechanism
@@ -307,9 +305,7 @@ IF(NOT enable_memcheck)
     # BEGIN TESH TESTS
     # smpi examples
     ADD_TESH_FACTORIES(tesh-smpi-pt2pt           "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/pingpong --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pingpong pt2pt.tesh)
-    ADD_TESH_FACTORIES(tesh-smpi-bcast           "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/bcast --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/bcast bcast.tesh)
     ADD_TESH_FACTORIES(tesh-smpi-reduce          "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce.tesh)
-    ADD_TESH_FACTORIES(tesh-smpi-indexed         "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/indexed --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/indexed indexed.tesh)
     ADD_TESH_FACTORIES(tesh-smpi-compute         "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/compute --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/compute compute.tesh)
     # smpi broken usage
     ADD_TESH_FACTORIES(tesh-smpi-broken          "thread"              --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/pingpong --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pingpong broken_hostfiles.tesh)
@@ -317,11 +313,7 @@ IF(NOT enable_memcheck)
     FOREACH (GATHER_COLL default ompi mpich ompi_basic_linear ompi_linear_sync ompi_binomial mvapich2 mvapich2_two_level impi)
       ADD_TESH(tesh-smpi-gather-coll-${GATHER_COLL} --cfg smpi/gather:${GATHER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/gather --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/gather gather_coll.tesh)
     ENDFOREACH()
-    FOREACH (ALLGATHER_COLL default  2dmesh 3dmesh bruck GB loosely_lr
-                            NTSLR NTSLR_NB pair rdb  rhv ring SMP_NTS
-                            smp_simple spreading_simple ompi mpich ompi_neighborexchange mvapich2 mvapich2_smp impi)
-      ADD_TESH(tesh-smpi-allgather-coll-${ALLGATHER_COLL} --cfg smpi/allgather:${ALLGATHER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/allgather --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgather allgather_coll.tesh)
-    ENDFOREACH()
+    
     FOREACH (ALLGATHERV_COLL default GB pair ring ompi mpich ompi_neighborexchange ompi_bruck mpich_rdb mpich_ring mvapich2 impi)
       ADD_TESH(tesh-smpi-allgatherv-coll-${ALLGATHERV_COLL} --cfg smpi/allgatherv:${ALLGATHERV_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/allgatherv --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgatherv allgatherv_coll.tesh)
     ENDFOREACH()
@@ -345,11 +337,7 @@ IF(NOT enable_memcheck)
                             ring_mpi_barrier ring_one_barrier bruck ompi mpich mvapich2 ompi_basic_linear impi)
       ADD_TESH(tesh-smpi-alltoallv-coll-${ALLTOALLV_COLL} --cfg smpi/alltoallv:${ALLTOALLV_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/alltoallv --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoallv alltoallv_coll.tesh)
     ENDFOREACH()
-    FOREACH (BCAST_COLL default arrival_pattern_aware arrival_pattern_aware_wait arrival_scatter
-                        binomial_tree flattree flattree_pipeline NTSB NTSL NTSL_Isend scatter_LR_allgather
-                        scatter_rdb_allgather SMP_binary SMP_binomial SMP_linear ompi mpich ompi_split_bintree ompi_pipeline mvapich2 mvapich2_intra_node mvapich2_knomial_intra_node impi)
-      ADD_TESH(tesh-smpi-bcast-coll-${BCAST_COLL} --cfg smpi/bcast:${BCAST_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/bcast --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/bcast bcast_coll.tesh)
-    ENDFOREACH()
+   
     FOREACH (REDUCE_COLL default arrival_pattern_aware binomial flat_tree NTSL scatter_gather ompi mpich ompi_chain ompi_binary ompi_basic_linear ompi_binomial ompi_in_order_binary mvapich2 mvapich2_knomial mvapich2_two_level impi rab)
       ADD_TESH(tesh-smpi-reduce-coll-${REDUCE_COLL} --cfg smpi/reduce:${REDUCE_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce_coll.tesh)
     ENDFOREACH()
@@ -425,9 +413,7 @@ IF(NOT enable_memcheck)
   ### LUA ###
   # BEGIN TESH TESTS
   IF(HAVE_LUA)
-    # Tests testing simulation from C but using lua for platform files. Executed
-    # like this
-    #
+    # Tests testing simulation from C but using lua for platform files. Executed like this
     # ~$ ./masterslave platform.lua deploy.lua
     ADD_TESH(lua-platform-masterslave                --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/lua --cd ${CMAKE_BINARY_DIR}/examples/lua ${CMAKE_HOME_DIRECTORY}/teshsuite/lua/lua_platforms.tesh)
     SET_TESTS_PROPERTIES(lua-platform-masterslave    PROPERTIES ENVIRONMENT "LUA_CPATH=${CMAKE_BINARY_DIR}/examples/lua/?.so")
@@ -466,7 +452,6 @@ IF(NOT enable_memcheck)
   ENDIF()
 ENDIF()
 
-
   ## OTHER ##
 ADD_TEST(testall                                 ${CMAKE_BINARY_DIR}/testall)